comparison src/share/vm/ci/ciTypeFlow.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 97125851f396
children e9ff18c4ace7
comparison
equal deleted inserted replaced
1564:61b2245abf36 1565:ab102d5d923e
1 /* 1 /*
2 * Copyright 2000-2009 Sun Microsystems, Inc. All Rights Reserved. 2 * Copyright 2000-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.
2130 bool ciTypeFlow::can_trap(ciBytecodeStream& str) { 2130 bool ciTypeFlow::can_trap(ciBytecodeStream& str) {
2131 // Cf. GenerateOopMap::do_exception_edge. 2131 // Cf. GenerateOopMap::do_exception_edge.
2132 if (!Bytecodes::can_trap(str.cur_bc())) return false; 2132 if (!Bytecodes::can_trap(str.cur_bc())) return false;
2133 2133
2134 switch (str.cur_bc()) { 2134 switch (str.cur_bc()) {
2135 // %%% FIXME: ldc of Class can generate an exception
2135 case Bytecodes::_ldc: 2136 case Bytecodes::_ldc:
2136 case Bytecodes::_ldc_w: 2137 case Bytecodes::_ldc_w:
2137 case Bytecodes::_ldc2_w: 2138 case Bytecodes::_ldc2_w:
2138 case Bytecodes::_aload_0: 2139 case Bytecodes::_aload_0:
2139 // These bytecodes can trap for rewriting. We need to assume that 2140 // These bytecodes can trap for rewriting. We need to assume that