Mercurial > hg > truffle
changeset 5155:51fb8bc5ecf6
Merge
author | Christian Haeubl <christian.haeubl@oracle.com> |
---|---|
date | Fri, 23 Mar 2012 12:13:04 -0700 |
parents | ae72dd38eeb1 (diff) 57546200db29 (current diff) |
children | 482265e41a1a 6e385457d6fc |
files | |
diffstat | 2 files changed, 8 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.java/src/com/oracle/graal/java/bytecode/BytecodeStream.java Fri Mar 23 13:33:56 2012 +0100 +++ b/graal/com.oracle.graal.java/src/com/oracle/graal/java/bytecode/BytecodeStream.java Fri Mar 23 12:13:04 2012 -0700 @@ -22,6 +22,7 @@ */ package com.oracle.graal.java.bytecode; + /** * A utility class that makes iterating over bytecodes and reading operands * simpler and less error prone. For example, it handles the {@link Bytecodes#WIDE} instruction
--- a/src/share/vm/graal/graalCompilerToVM.cpp Fri Mar 23 13:33:56 2012 +0100 +++ b/src/share/vm/graal/graalCompilerToVM.cpp Fri Mar 23 12:13:04 2012 -0700 @@ -62,10 +62,14 @@ if (RewriteBytecodes || RewriteFrequentPairs) { BytecodeStream s(method); while(!s.is_last_bytecode()) { - jbyte code = s.next(); - env->SetByteArrayRegion(result, s.bci(), 1, &code); + s.next(); + Bytecodes::Code code = s.raw_code(); + if (!Bytecodes::is_java_code(code)) { + jbyte original_code = Bytecodes::java_code(code); + env->SetByteArrayRegion(result, s.bci(), 1, &original_code); + } } - } + } // replace all breakpoints if (method->number_of_breakpoints() > 0) {