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.