| Index: src/code-stub-assembler.h
|
| diff --git a/src/code-stub-assembler.h b/src/code-stub-assembler.h
|
| index f2df4a87772f77513cb01d7073f4441b435a2edc..5b94e3ac6ee817700d32664e5fbdc5b562c9bcb4 100644
|
| --- a/src/code-stub-assembler.h
|
| +++ b/src/code-stub-assembler.h
|
| @@ -27,8 +27,10 @@
|
| V(AllocationSiteMap, AllocationSiteMap) \
|
| V(BooleanMap, BooleanMap) \
|
| V(CodeMap, CodeMap) \
|
| + V(empty_string, EmptyString) \
|
| + V(length_string, LengthString) \
|
| + V(prototype_string, PrototypeString) \
|
| V(EmptyFixedArray, EmptyFixedArray) \
|
| - V(empty_string, EmptyString) \
|
| V(EmptyWeakCell, EmptyWeakCell) \
|
| V(FalseValue, False) \
|
| V(FeedbackVectorMap, FeedbackVectorMap) \
|
| @@ -36,27 +38,23 @@
|
| V(FixedCOWArrayMap, FixedCOWArrayMap) \
|
| V(FixedDoubleArrayMap, FixedDoubleArrayMap) \
|
| V(FunctionTemplateInfoMap, FunctionTemplateInfoMap) \
|
| - V(GlobalPropertyCellMap, PropertyCellMap) \
|
| V(has_instance_symbol, HasInstanceSymbol) \
|
| V(HeapNumberMap, HeapNumberMap) \
|
| - V(length_string, LengthString) \
|
| + V(NoClosuresCellMap, NoClosuresCellMap) \
|
| + V(OneClosureCellMap, OneClosureCellMap) \
|
| V(ManyClosuresCellMap, ManyClosuresCellMap) \
|
| - V(MetaMap, MetaMap) \
|
| V(MinusZeroValue, MinusZero) \
|
| - V(MutableHeapNumberMap, MutableHeapNumberMap) \
|
| V(NanValue, Nan) \
|
| - V(NoClosuresCellMap, NoClosuresCellMap) \
|
| V(NullValue, Null) \
|
| - V(OneClosureCellMap, OneClosureCellMap) \
|
| - V(prototype_string, PrototypeString) \
|
| - V(SpeciesProtector, SpeciesProtector) \
|
| + V(GlobalPropertyCellMap, PropertyCellMap) \
|
| V(SymbolMap, SymbolMap) \
|
| V(TheHoleValue, TheHole) \
|
| V(TrueValue, True) \
|
| V(Tuple2Map, Tuple2Map) \
|
| V(Tuple3Map, Tuple3Map) \
|
| V(UndefinedValue, Undefined) \
|
| - V(WeakCellMap, WeakCellMap)
|
| + V(WeakCellMap, WeakCellMap) \
|
| + V(SpeciesProtector, SpeciesProtector)
|
|
|
| // Provides JavaScript-specific "macro-assembler" functionality on top of the
|
| // CodeAssembler. By factoring the JavaScript-isms out of the CodeAssembler,
|
| @@ -117,8 +115,6 @@
|
| if (mode != SMI_PARAMETERS) value = SmiUntag(value);
|
| return value;
|
| }
|
| -
|
| - Node* MatchesParameterMode(Node* value, ParameterMode mode);
|
|
|
| #define PARAMETER_BINOP(OpName, IntPtrOpName, SmiOpName) \
|
| Node* OpName(Node* a, Node* b, ParameterMode mode) { \
|
| @@ -774,8 +770,6 @@
|
| Node* IsPropertyCell(Node* object);
|
| Node* IsAccessorInfo(Node* object);
|
| Node* IsAccessorPair(Node* object);
|
| - Node* IsAnyHeapNumber(Node* object);
|
| - Node* IsMutableHeapNumber(Node* object);
|
| Node* IsHeapNumber(Node* object);
|
| Node* IsName(Node* object);
|
| Node* IsSymbol(Node* object);
|
| @@ -786,9 +780,6 @@
|
| Node* IsJSArrayInstanceType(Node* instance_type);
|
| Node* IsJSArray(Node* object);
|
| Node* IsJSArrayMap(Node* object);
|
| - Node* IsFixedArray(Node* object);
|
| - Node* IsFixedArrayWithKindOrEmpty(Node* object, ElementsKind kind);
|
| - Node* IsFixedArrayWithKind(Node* object, ElementsKind kind);
|
| Node* IsNativeContext(Node* object);
|
| Node* IsWeakCell(Node* object);
|
| Node* IsFixedDoubleArray(Node* object);
|
| @@ -838,6 +829,16 @@
|
| // Return a new string object produced by concatenating |first| with |second|.
|
| Node* StringAdd(Node* context, Node* first, Node* second,
|
| AllocationFlags flags = kNone);
|
| +
|
| + // Unpack the external string, returning a pointer that (offset-wise) looks
|
| + // like a sequential string.
|
| + // Note that this pointer is not tagged and does not point to a real
|
| + // sequential string instance, and may only be used to access the string
|
| + // data. The pointer is GC-safe as long as a reference to the container
|
| + // ExternalString is live.
|
| + // |string| must be an external string. Bailout for short external strings.
|
| + Node* TryDerefExternalString(Node* const string, Node* const instance_type,
|
| + Label* if_bailout);
|
|
|
| // Check if |var_string| has an indirect (thin or flat cons) string type,
|
| // and unpack it if so.
|
|
|