| Index: src/objects.h
|
| diff --git a/src/objects.h b/src/objects.h
|
| index 62251fb32dbed76a7d3f7e510a41c94be01b5179..4b5462dc3985e72c44d8c5dd1b850ad408173db1 100644
|
| --- a/src/objects.h
|
| +++ b/src/objects.h
|
| @@ -8252,8 +8252,9 @@ class AllocationSite: public Struct {
|
| class DoNotInlineBit: public BitField<bool, 29, 1> {};
|
|
|
| // Bitfields for pretenure_data
|
| - class MementoFoundCountBits: public BitField<int, 0, 28> {};
|
| - class PretenureDecisionBits: public BitField<PretenureDecision, 28, 2> {};
|
| + class MementoFoundCountBits: public BitField<int, 0, 27> {};
|
| + class PretenureDecisionBits: public BitField<PretenureDecision, 27, 2> {};
|
| + class DeoptDependentCodeBit: public BitField<bool, 29, 1> {};
|
| STATIC_ASSERT(PretenureDecisionBits::kMax >= kLastPretenureDecisionValue);
|
|
|
| // Increments the mementos found counter and returns true when the first
|
| @@ -8278,6 +8279,18 @@ class AllocationSite: public Struct {
|
| SKIP_WRITE_BARRIER);
|
| }
|
|
|
| + bool deopt_dependent_code() {
|
| + int value = pretenure_data()->value();
|
| + return DeoptDependentCodeBit::decode(value);
|
| + }
|
| +
|
| + void set_deopt_dependent_code(bool deopt) {
|
| + int value = pretenure_data()->value();
|
| + set_pretenure_data(
|
| + Smi::FromInt(DeoptDependentCodeBit::update(value, deopt)),
|
| + SKIP_WRITE_BARRIER);
|
| + }
|
| +
|
| int memento_found_count() {
|
| int value = pretenure_data()->value();
|
| return MementoFoundCountBits::decode(value);
|
|
|