Mercurial > hg > truffle
comparison agent/src/share/classes/sun/jvm/hotspot/interpreter/BytecodeStream.java @ 3838:6a991dcb52bb
7012081: JSR 292: SA-JDI can't read MH/MT/Indy ConstantPool entries
Reviewed-by: kvn, twisti, jrose
author | never |
---|---|
date | Thu, 21 Jul 2011 08:38:25 -0700 |
parents | c18cbe5936b8 |
children |
comparison
equal
deleted
inserted
replaced
3837:43f9d800f276 | 3838:6a991dcb52bb |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 2001, 2002, Oracle and/or its affiliates. All rights reserved. | 2 * Copyright (c) 2001, 2011, Oracle and/or its affiliates. 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. |
128 | 128 |
129 // Unsigned indices, widening | 129 // Unsigned indices, widening |
130 public int getIndex() { return (isWide()) | 130 public int getIndex() { return (isWide()) |
131 ? (_method.getBytecodeShortArg(bci() + 2) & 0xFFFF) | 131 ? (_method.getBytecodeShortArg(bci() + 2) & 0xFFFF) |
132 : (_method.getBytecodeOrBPAt(bci() + 1) & 0xFF); } | 132 : (_method.getBytecodeOrBPAt(bci() + 1) & 0xFF); } |
133 public int getIndexBig() { return _method.getBytecodeShortArg(bci() + 1); } | 133 public int getIndexU1() { return _method.getBytecodeOrBPAt(bci() + 1) & 0xFF; } |
134 public int getIndexU2() { return _method.getBytecodeShortArg(bci() + 1) & 0xFFFF; } | |
135 public int getIndexU4() { return _method.getNativeIntArg(bci() + 1); } | |
136 public boolean hasIndexU4() { return code() == Bytecodes._invokedynamic; } | |
137 | |
138 public int getIndexU1Cpcache() { return _method.getBytecodeOrBPAt(bci() + 1) & 0xFF; } | |
139 public int getIndexU2Cpcache() { return _method.getNativeShortArg(bci() + 1) & 0xFFFF; } | |
134 | 140 |
135 // Fetch at absolute BCI (for manual parsing of certain bytecodes) | 141 // Fetch at absolute BCI (for manual parsing of certain bytecodes) |
136 public int codeAt(int bci) { | 142 public int codeAt(int bci) { |
137 return _method.getBytecodeOrBPAt(bci); | 143 return _method.getBytecodeOrBPAt(bci); |
138 } | 144 } |