Mercurial > hg > graal-jvmci-8
comparison src/share/vm/graal/graalCompilerToVM.cpp @ 11519:a3b39ab7c453
Make is_rewritten a guarantee in initializeBytecode
author | Gilles Duboscq <duboscq@ssw.jku.at> |
---|---|
date | Tue, 03 Sep 2013 18:02:29 +0200 |
parents | 8d4e5e08d83f |
children | 7cca436d600b |
comparison
equal
deleted
inserted
replaced
11518:9ea3658e7c5d | 11519:a3b39ab7c453 |
---|---|
64 ResourceMark rm; | 64 ResourceMark rm; |
65 | 65 |
66 int code_size = method->code_size(); | 66 int code_size = method->code_size(); |
67 jbyte* reconstituted_code = NEW_RESOURCE_ARRAY(jbyte, code_size); | 67 jbyte* reconstituted_code = NEW_RESOURCE_ARRAY(jbyte, code_size); |
68 | 68 |
69 bool is_rewritten = method->method_holder()->is_rewritten(); | 69 guarantee(method->method_holder()->is_rewritten(), "Method's holder should be rewritten"); |
70 // iterate over all bytecodes and replace non-Java bytecodes | 70 // iterate over all bytecodes and replace non-Java bytecodes |
71 | 71 |
72 for (BytecodeStream s(method); s.next() != Bytecodes::_illegal; ) { | 72 for (BytecodeStream s(method); s.next() != Bytecodes::_illegal; ) { |
73 Bytecodes::Code code = s.code(); | 73 Bytecodes::Code code = s.code(); |
74 Bytecodes::Code raw_code = s.raw_code(); | 74 Bytecodes::Code raw_code = s.raw_code(); |
79 reconstituted_code[bci] = (jbyte) (s.is_wide()? Bytecodes::_wide : code); | 79 reconstituted_code[bci] = (jbyte) (s.is_wide()? Bytecodes::_wide : code); |
80 if (len > 1) { | 80 if (len > 1) { |
81 memcpy(&reconstituted_code[bci+1], s.bcp()+1, len-1); | 81 memcpy(&reconstituted_code[bci+1], s.bcp()+1, len-1); |
82 } | 82 } |
83 | 83 |
84 if (is_rewritten && len > 1) { | 84 if (len > 1) { |
85 // Restore the big-endian constant pool indexes. | 85 // Restore the big-endian constant pool indexes. |
86 // Cf. Rewriter::scan_method | 86 // Cf. Rewriter::scan_method |
87 switch (code) { | 87 switch (code) { |
88 case Bytecodes::_getstatic: | 88 case Bytecodes::_getstatic: |
89 case Bytecodes::_putstatic: | 89 case Bytecodes::_putstatic: |