Mercurial > hg > truffle
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 |