Size: a a a

2021 January 12

ΑZ

Αλεχ Zhukovsky in rust_offtopic
Constantine Drozdov
точно так же ты статически может гиг попросить на локальные переменные
обычно переменные которые могут в теории много жрать не аллоцируют на стеке
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
и таким образом живут
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
но я понял, видимо действительно VLA честно на стеке живет
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
интересно раст умеет так или нет
источник

CD

Constantine Drozdov in rust_offtopic
Αλεχ Zhukovsky
обычно переменные которые могут в теории много жрать не аллоцируют на стеке
ну и с VLA если он много может жрать не надо аллоцировать на стеке
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
источник

/

/bin/cat in rust_offtopic
А откуда раст берет размер dyn?
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
источник

/

/bin/cat in rust_offtopic
У vla хотя бы тип данных есть
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
/bin/cat
А откуда раст берет размер dyn?
ниоткуда не берет, ты не можешь иметь dyn на стеке
источник

/

/bin/cat in rust_offtopic
Уже кидали пример, что можно
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
источник

CD

Constantine Drozdov in rust_offtopic
ну вот и типичненькое, да
    lea     rax, [rbx+15]
   and     rax, -16
   sub     rsp, rax
источник

CD

Constantine Drozdov in rust_offtopic
аллоцировали
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
@DogeShibu видел? Вроде прикольная штук
источник

а

а это кто in rust_offtopic
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
polunin.ai
Ну вот у функции есть стекфрейм, как ты его перевыделишь
стекфрейм динамически считается, а не зашит в программку
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
вместо push ptr 40 (где 40 - предвыщитанный размер под все переменные) будет что-то типа push ptr (36 + [rbx]) - то есть размер под все переменные + размер под наш динамический типчик
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
вроде как-то так
источник

CD

Constantine Drozdov in rust_offtopic
Αλεχ Zhukovsky
стекфрейм динамически считается, а не зашит в программку
стекфрейм это вообще другое
источник