--- a/hotspot/src/share/vm/c1/c1_Instruction.hpp Wed Apr 19 14:37:11 2017 +0200
+++ b/hotspot/src/share/vm/c1/c1_Instruction.hpp Thu Dec 01 14:21:31 2016 -0500
@@ -372,6 +372,7 @@
UnorderedIsTrueFlag,
NeedsPatchingFlag,
ThrowIncompatibleClassChangeErrorFlag,
+ InvokeSpecialReceiverCheckFlag,
ProfileMDOFlag,
IsLinkedInBlockFlag,
NeedsRangeCheckFlag,
@@ -1454,6 +1455,16 @@
bool is_incompatible_class_change_check() const {
return check_flag(ThrowIncompatibleClassChangeErrorFlag);
}
+ void set_invokespecial_receiver_check() {
+ set_flag(InvokeSpecialReceiverCheckFlag, true);
+ }
+ bool is_invokespecial_receiver_check() const {
+ return check_flag(InvokeSpecialReceiverCheckFlag);
+ }
+
+ virtual bool needs_exception_state() const {
+ return !is_invokespecial_receiver_check();
+ }
ciType* declared_type() const;
};