Index: src/objects-inl.h |
diff --git a/src/objects-inl.h b/src/objects-inl.h |
index f629d9f19f52b122f9f71c838c787ab91314df5f..710757f475f5ae684ab348c91002649b4a6e1578 100644 |
--- a/src/objects-inl.h |
+++ b/src/objects-inl.h |
@@ -4608,7 +4608,8 @@ SMI_ACCESSORS(SharedFunctionInfo, function_token_position, |
kFunctionTokenPositionOffset) |
SMI_ACCESSORS(SharedFunctionInfo, compiler_hints, |
kCompilerHintsOffset) |
-SMI_ACCESSORS(SharedFunctionInfo, opt_count, kOptCountOffset) |
+SMI_ACCESSORS(SharedFunctionInfo, opt_count_and_bailout_reason, |
+ kOptCountAndBailoutReasonOffset) |
SMI_ACCESSORS(SharedFunctionInfo, counters, kCountersOffset) |
#else |
@@ -4657,7 +4658,9 @@ PSEUDO_SMI_ACCESSORS_HI(SharedFunctionInfo, |
compiler_hints, |
kCompilerHintsOffset) |
-PSEUDO_SMI_ACCESSORS_LO(SharedFunctionInfo, opt_count, kOptCountOffset) |
+PSEUDO_SMI_ACCESSORS_LO(SharedFunctionInfo, |
+ opt_count_and_bailout_reason, |
+ kOptCountAndBailoutReasonOffset) |
PSEUDO_SMI_ACCESSORS_HI(SharedFunctionInfo, counters, kCountersOffset) |
@@ -4904,6 +4907,24 @@ void SharedFunctionInfo::set_opt_reenable_tries(int tries) { |
} |
+int SharedFunctionInfo::opt_count() { |
+ return OptCountBits::decode(opt_count_and_bailout_reason()); |
+} |
+ |
+ |
+void SharedFunctionInfo::set_opt_count(int opt_count) { |
+ set_opt_count_and_bailout_reason( |
+ OptCountBits::update(opt_count_and_bailout_reason(), opt_count)); |
+} |
+ |
+ |
+BailoutReason SharedFunctionInfo::DisableOptimizationReason() { |
+ BailoutReason reason = static_cast<BailoutReason>( |
+ DisabledOptimizationReasonBits::decode(opt_count_and_bailout_reason())); |
+ return reason; |
+} |
+ |
+ |
bool SharedFunctionInfo::has_deoptimization_support() { |
Code* code = this->code(); |
return code->kind() == Code::FUNCTION && code->has_deoptimization_support(); |