Mercurial > hg > truffle
comparison src/share/vm/interpreter/interpreter.cpp @ 1565:ab102d5d923e
6939207: refactor constant pool index processing
Summary: Factored cleanup of instruction decode which prepares for enhanced ldc semantics.
Reviewed-by: twisti
author | jrose |
---|---|
date | Sun, 23 May 2010 01:38:26 -0700 |
parents | e66fd840cb6b |
children | e9ff18c4ace7 |
comparison
equal
deleted
inserted
replaced
1564:61b2245abf36 | 1565:ab102d5d923e |
---|---|
1 /* | 1 /* |
2 * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved. | 2 * Copyright 1997-2010 Sun Microsystems, Inc. All Rights Reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * | 4 * |
5 * This code is free software; you can redistribute it and/or modify it | 5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as | 6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. | 7 * published by the Free Software Foundation. |
224 | 224 |
225 // Return true if the interpreter can prove that the given bytecode has | 225 // Return true if the interpreter can prove that the given bytecode has |
226 // not yet been executed (in Java semantics, not in actual operation). | 226 // not yet been executed (in Java semantics, not in actual operation). |
227 bool AbstractInterpreter::is_not_reached(methodHandle method, int bci) { | 227 bool AbstractInterpreter::is_not_reached(methodHandle method, int bci) { |
228 address bcp = method->bcp_from(bci); | 228 address bcp = method->bcp_from(bci); |
229 | 229 Bytecodes::Code code = Bytecodes::code_at(bcp, method()); |
230 if (!Bytecode_at(bcp)->must_rewrite()) { | 230 |
231 if (!Bytecode_at(bcp)->must_rewrite(code)) { | |
231 // might have been reached | 232 // might have been reached |
232 return false; | 233 return false; |
233 } | 234 } |
234 | 235 |
235 // the bytecode might not be rewritten if the method is an accessor, etc. | 236 // the bytecode might not be rewritten if the method is an accessor, etc. |