Index: src/objects.h |
diff --git a/src/objects.h b/src/objects.h |
index dacbd837fce1cfca04e6065b1518f6d34e5804fd..750ceb3612b5fcd9a130f4b788630a2616462395 100644 |
--- a/src/objects.h |
+++ b/src/objects.h |
@@ -2690,11 +2690,7 @@ class WeakFixedArray : public FixedArray { |
// |
class ConstantPoolArray: public HeapObject { |
public: |
- enum WeakObjectState { |
- NO_WEAK_OBJECTS, |
- WEAK_OBJECTS_IN_OPTIMIZED_CODE, |
- WEAK_OBJECTS_IN_IC |
- }; |
+ enum WeakObjectState { NO_WEAK_OBJECTS, WEAK_OBJECTS_IN_OPTIMIZED_CODE }; |
enum Type { |
INT64 = 0, |
@@ -5138,12 +5134,7 @@ class Code: public HeapObject { |
inline bool is_to_boolean_ic_stub() { return kind() == TO_BOOLEAN_IC; } |
inline bool is_keyed_stub(); |
inline bool is_optimized_code() { return kind() == OPTIMIZED_FUNCTION; } |
- inline bool is_weak_stub(); |
- inline void mark_as_weak_stub(); |
- inline bool is_invalidated_weak_stub(); |
- inline void mark_as_invalidated_weak_stub(); |
- |
- inline bool CanBeWeakStub() { |
+ inline bool embeds_maps_weakly() { |
Kind k = kind(); |
return (k == LOAD_IC || k == STORE_IC || k == KEYED_LOAD_IC || |
k == KEYED_STORE_IC || k == COMPARE_NIL_IC) && |
@@ -5424,18 +5415,14 @@ class Code: public HeapObject { |
void VerifyEmbeddedObjectsInFullCode(); |
#endif // DEBUG |
- inline bool CanContainWeakObjects() { |
- return is_optimized_code() || is_weak_stub(); |
- } |
+ inline bool CanContainWeakObjects() { return is_optimized_code(); } |
inline bool IsWeakObject(Object* object) { |
return (is_optimized_code() && !is_turbofanned() && |
- IsWeakObjectInOptimizedCode(object)) || |
- (is_weak_stub() && IsWeakObjectInIC(object)); |
+ IsWeakObjectInOptimizedCode(object)); |
} |
static inline bool IsWeakObjectInOptimizedCode(Object* object); |
- static inline bool IsWeakObjectInIC(Object* object); |
// Max loop nesting marker used to postpose OSR. We don't take loop |
// nesting that is deeper than 5 levels into account. |
@@ -5497,9 +5484,7 @@ class Code: public HeapObject { |
static const int kHasFunctionCacheBit = |
kStackSlotsFirstBit + kStackSlotsBitCount; |
static const int kMarkedForDeoptimizationBit = kHasFunctionCacheBit + 1; |
- static const int kWeakStubBit = kMarkedForDeoptimizationBit + 1; |
- static const int kInvalidatedWeakStubBit = kWeakStubBit + 1; |
- static const int kIsTurbofannedBit = kInvalidatedWeakStubBit + 1; |
+ static const int kIsTurbofannedBit = kMarkedForDeoptimizationBit + 1; |
STATIC_ASSERT(kStackSlotsFirstBit + kStackSlotsBitCount <= 32); |
STATIC_ASSERT(kIsTurbofannedBit + 1 <= 32); |
@@ -5510,9 +5495,6 @@ class Code: public HeapObject { |
}; // NOLINT |
class MarkedForDeoptimizationField |
: public BitField<bool, kMarkedForDeoptimizationBit, 1> {}; // NOLINT |
- class WeakStubField : public BitField<bool, kWeakStubBit, 1> {}; // NOLINT |
- class InvalidatedWeakStubField |
- : public BitField<bool, kInvalidatedWeakStubBit, 1> {}; // NOLINT |
class IsTurbofannedField : public BitField<bool, kIsTurbofannedBit, 1> { |
}; // NOLINT |
@@ -5594,11 +5576,6 @@ class CompilationInfo; |
class DependentCode: public FixedArray { |
public: |
enum DependencyGroup { |
- // Group of IC stubs that weakly embed this map and depend on being |
- // invalidated when the map is garbage collected. Dependent IC stubs form |
- // a linked list. This group stores only the head of the list. This means |
- // that the number_of_entries(kWeakICGroup) is 0 or 1. |
- kWeakICGroup, |
// Group of code that weakly embed this map and depend on being |
// deoptimized when the map is garbage collected. |
kWeakCodeGroup, |
@@ -5659,7 +5636,6 @@ class DependentCode: public FixedArray { |
bool MarkCodeForDeoptimization(Isolate* isolate, |
DependentCode::DependencyGroup group); |
- void AddToDependentICList(Handle<Code> stub); |
// The following low-level accessors should only be used by this class |
// and the mark compact collector. |
@@ -6278,8 +6254,6 @@ class Map: public HeapObject { |
static void AddDependentCode(Handle<Map> map, |
DependentCode::DependencyGroup group, |
Handle<Code> code); |
- static void AddDependentIC(Handle<Map> map, |
- Handle<Code> stub); |
bool IsMapInArrayPrototypeChain(); |