aboutsummaryrefslogtreecommitdiffstats
path: root/erl-build-tool-vars.sh
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2018-01-04 20:07:09 +0100
committerBjörn Gustavsson <[email protected]>2018-01-10 11:39:31 +0100
commit161e67441cca56419fea70edf3ea790aff0f7b32 (patch)
tree30b4f8ec3f95469c393e05a1b467d4248db2345c /erl-build-tool-vars.sh
parenteb5399aa43a9c5dac82f4d102e8dd8dd5b27a9f8 (diff)
downloadotp-161e67441cca56419fea70edf3ea790aff0f7b32.tar.gz
otp-161e67441cca56419fea70edf3ea790aff0f7b32.tar.bz2
otp-161e67441cca56419fea70edf3ea790aff0f7b32.zip
beam_type: Enhance coalescing of allocation instructions
An 'allocate' or 'allocate_zero' instruction should not be shortly followed by a 'test_heap' instruction. For example, we don't want this type of code: {allocate_zero,3,4}. {line,...}. {test_heap,7,4}. {bif,element,{f,0},...,...}. While the code is safe because 'allocate_zero' has initialized the stack frame, it is wasteful. Also note that the code would become unsafe if the 'allocate_zero' instruction were to be replaced with an 'allocate' instruction. What we want to see is this: {allocate_heap_zero,3,7,4}. {line,...}. {bif,element,{f,0},...,...}.
Diffstat (limited to 'erl-build-tool-vars.sh')
0 files changed, 0 insertions, 0 deletions