Mercurial > hg > truffle
changeset 5154:ae72dd38eeb1
bugfix, parallel GC seems stable
author | Christian Haeubl <christian.haeubl@oracle.com> |
---|---|
date | Fri, 23 Mar 2012 12:12:35 -0700 |
parents | 5717fc2be01c |
children | 51fb8bc5ecf6 |
files | graal/com.oracle.graal.java/src/com/oracle/graal/java/bytecode/BytecodeStream.java src/share/vm/graal/graalCompilerToVM.cpp |
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 Thu Mar 22 19:06:04 2012 -0700 +++ b/graal/com.oracle.graal.java/src/com/oracle/graal/java/bytecode/BytecodeStream.java Fri Mar 23 12:12:35 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 Thu Mar 22 19:06:04 2012 -0700 +++ b/src/share/vm/graal/graalCompilerToVM.cpp Fri Mar 23 12:12:35 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) {