--- a/hotspot/src/cpu/x86/vm/sharedRuntime_x86_64.cpp Tue Feb 16 09:49:58 2016 -0800
+++ b/hotspot/src/cpu/x86/vm/sharedRuntime_x86_64.cpp Wed Feb 17 12:24:53 2016 +0100
@@ -2058,6 +2058,13 @@
int vep_offset = ((intptr_t)__ pc()) - start;
+#ifdef COMPILER1
+ // For Object.hashCode, System.identityHashCode try to pull hashCode from object header if available.
+ if ((InlineObjectHash && method->intrinsic_id() == vmIntrinsics::_hashCode) || (method->intrinsic_id() == vmIntrinsics::_identityHashCode)) {
+ inline_check_hashcode_from_object_header(masm, method, j_rarg0 /*obj_reg*/, rax /*result*/);
+ }
+#endif // COMPILER1
+
// The instruction at the verified entry point must be 5 bytes or longer
// because it can be patched on the fly by make_non_entrant. The stack bang
// instruction fits that requirement.