diff options
author | James Iry <jamesiry@gmail.com> | 2013-02-22 14:01:28 -0800 |
---|---|---|
committer | James Iry <jamesiry@gmail.com> | 2013-02-25 16:04:39 -0800 |
commit | 0d2e19cc4c639c27a93c3ed76d892b16d40dcc9b (patch) | |
tree | 1339060bd97894c9011576bddec2d51c41f7496e /gitconfig.SAMPLE | |
parent | 022c57fda629bbdcedea2d2d93beb84aebc22282 (diff) | |
download | scala-0d2e19cc4c639c27a93c3ed76d892b16d40dcc9b.tar.gz scala-0d2e19cc4c639c27a93c3ed76d892b16d40dcc9b.tar.bz2 scala-0d2e19cc4c639c27a93c3ed76d892b16d40dcc9b.zip |
SI-7006 Recognize more jump only blocks
During ASM code emission we would recognize a block that consisted of
ICode-only artifacts (ENTER_SCOPE, EXIT_SCOPE, and LOAD_EXCEPTION)
followed by a jump. But we weren't using the same logic to recognize
all jump-only blocks. So jump-elision wasn't removing them. And that
in fact was why the ASM code emission had to do its special case.
This commit makes all jump-only block recognition use the same logic:
a jump-only block is one that has 0 or more ICode-only instructions
followed by a JUMP. It does't necessarily have to start with a JUMP.
There's now a debugWarning if the old NOP emitting code is triggered and
test t6102 is enhanced to error if that warning occurs.
Diffstat (limited to 'gitconfig.SAMPLE')
0 files changed, 0 insertions, 0 deletions