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 /test/files | |
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 'test/files')
-rw-r--r-- | test/files/run/t6102.flags | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/test/files/run/t6102.flags b/test/files/run/t6102.flags index e35535c8ea..72fe7b1aa0 100644 --- a/test/files/run/t6102.flags +++ b/test/files/run/t6102.flags @@ -1 +1 @@ - -Ydead-code + -Ydead-code -Ydebug -Xfatal-warnings |