diff src/share/vm/interpreter/bytecode.cpp @ 1574:1eb493f33423

6957080: MethodComparator needs stress testing Summary: Add a stress-test flag for running MethodComparator over many inputs. Fix bugs that crop up. Reviewed-by: kvn
author jrose
date Sat, 29 May 2010 19:22:32 -0700
parents ab102d5d923e
children e9ff18c4ace7
line wrap: on
line diff
--- a/src/share/vm/interpreter/bytecode.cpp	Fri May 28 16:23:51 2010 -0700
+++ b/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);
 }
 
 //------------------------------------------------------------------------------