hotspot/src/share/vm/interpreter/bytecode.cpp
changeset 5697 0cf7190475ee
parent 5688 9052dc91ea67
child 5702 201c5cde25bb
--- a/hotspot/src/share/vm/interpreter/bytecode.cpp	Fri May 28 16:23:51 2010 -0700
+++ b/hotspot/src/share/vm/interpreter/bytecode.cpp	Sat May 29 19:22:32 2010 -0700
@@ -215,7 +215,14 @@
 
 int Bytecode_loadconstant::index() const {
   Bytecodes::Code stdc = Bytecodes::java_code(code());
-  return stdc == Bytecodes::_ldc ? get_index_u1(stdc) : get_index_u2(stdc);
+  if (stdc != Bytecodes::_wide) {
+    if (Bytecodes::java_code(stdc) == Bytecodes::_ldc)
+      return get_index_u1(stdc);
+    else
+      return get_index_u2(stdc, false);
+  }
+  stdc = Bytecodes::code_at(addr_at(1));
+  return get_index_u2(stdc, true);
 }
 
 //------------------------------------------------------------------------------