--- old/src/share/vm/opto/library_call.cpp 2016-04-01 00:36:10.000000000 +0300 +++ new/src/share/vm/opto/library_call.cpp 2016-04-01 00:36:10.000000000 +0300 @@ -278,6 +278,7 @@ bool inline_unsafe_load_store(BasicType type, LoadStoreKind kind); bool inline_unsafe_ordered_store(BasicType type); bool inline_unsafe_fence(vmIntrinsics::ID id); + bool inline_onspinwait(); bool inline_fp_conversions(vmIntrinsics::ID id); bool inline_number_methods(vmIntrinsics::ID id); bool inline_reference_get(); @@ -638,6 +639,8 @@ case vmIntrinsics::_storeFence: case vmIntrinsics::_fullFence: return inline_unsafe_fence(intrinsic_id()); + case vmIntrinsics::_onSpinWait: return inline_onspinwait(); + case vmIntrinsics::_currentThread: return inline_native_currentThread(); case vmIntrinsics::_isInterrupted: return inline_native_isInterrupted(); @@ -2887,6 +2890,11 @@ } } +bool LibraryCallKit::inline_onspinwait() { + insert_mem_bar(Op_OnSpinWait); + return true; +} + bool LibraryCallKit::klass_needs_init_guard(Node* kls) { if (!kls->is_Con()) { return true;