8157189: 'iload_w' in shared class is not interpreted correctly.
Summary: Don't rewrite 'iload_w' to 'nofast_iload' in shared class.
Reviewed-by: ccheung, hseigel
--- a/hotspot/src/share/vm/memory/metaspaceShared.cpp Fri Jun 03 13:26:43 2016 -0500
+++ b/hotspot/src/share/vm/memory/metaspaceShared.cpp Fri Jun 03 17:45:03 2016 -0400
@@ -191,7 +191,12 @@
case Bytecodes::_getfield: *bcs.bcp() = Bytecodes::_nofast_getfield; break;
case Bytecodes::_putfield: *bcs.bcp() = Bytecodes::_nofast_putfield; break;
case Bytecodes::_aload_0: *bcs.bcp() = Bytecodes::_nofast_aload_0; break;
- case Bytecodes::_iload: *bcs.bcp() = Bytecodes::_nofast_iload; break;
+ case Bytecodes::_iload: {
+ if (!bcs.is_wide()) {
+ *bcs.bcp() = Bytecodes::_nofast_iload;
+ }
+ break;
+ }
default: break;
}
}