Henry
10 years ago
今天跟kenia討論copy value遇到struct時如何code gen
也只有以前的夥伴才能討論這種無聊的問題
latest #14
HIKA
10 years ago
Henry
10 years ago
hikaru677: 說真的沒什麼好worship的, 給我你的意見吧
HIKA
10 years ago
問文森大大
立即下載
丁bex
10 years ago
compiler 當然要問 penpengo swpenim
Pen
10 years ago
基本上就是baseAddr+field offset的複製,整塊的話可能會用memcpy
Henry
10 years ago
前一項我不懂
HIKA
10 years ago
Pen
10 years ago
假設struct { int a; int b; intc;} s; 就是分別copy (&s), (&s+4), (&s+8)裡的值
Henry
10 years ago
我懂你的意思了 不過我想知道 s.boo=*foo compiler會做什麼事
Henry
10 years ago
boo和foo都是很大的c struct say 256bytes
Henry
10 years ago
foo在heap s.boo在stack
Pen
10 years ago
heap和stack對compiler來說都是memory,所以一樣是memory to memory的copy,只是位址不同而已
Henry
10 years ago
那麼如何複製呢? loop? call builtin memcpy?
Henry
10 years ago
llvm.memcpy知道了
back to top