1.1 --- a/src/share/vm/c1/c1_Instruction.hpp Mon Nov 21 22:56:59 2016 -0800 1.2 +++ b/src/share/vm/c1/c1_Instruction.hpp Tue Dec 13 14:37:04 2016 -0500 1.3 @@ -381,6 +381,7 @@ 1.4 UnorderedIsTrueFlag, 1.5 NeedsPatchingFlag, 1.6 ThrowIncompatibleClassChangeErrorFlag, 1.7 + InvokeSpecialReceiverCheckFlag, 1.8 ProfileMDOFlag, 1.9 IsLinkedInBlockFlag, 1.10 NeedsRangeCheckFlag, 1.11 @@ -1456,6 +1457,16 @@ 1.12 bool is_incompatible_class_change_check() const { 1.13 return check_flag(ThrowIncompatibleClassChangeErrorFlag); 1.14 } 1.15 + void set_invokespecial_receiver_check() { 1.16 + set_flag(InvokeSpecialReceiverCheckFlag, true); 1.17 + } 1.18 + bool is_invokespecial_receiver_check() const { 1.19 + return check_flag(InvokeSpecialReceiverCheckFlag); 1.20 + } 1.21 + 1.22 + virtual bool needs_exception_state() const { 1.23 + return !is_invokespecial_receiver_check(); 1.24 + } 1.25 1.26 ciType* declared_type() const; 1.27 };