Index: src/code-stub-assembler.h |
diff --git a/src/code-stub-assembler.h b/src/code-stub-assembler.h |
index e391278b8cfd4ed051a844f4a0b97b43bcf7b67c..9c7d3a3487b2c9d1231a6c7a0232bbebbcad6156 100644 |
--- a/src/code-stub-assembler.h |
+++ b/src/code-stub-assembler.h |
@@ -210,7 +210,6 @@ class V8_EXPORT_PRIVATE CodeStubAssembler : public compiler::CodeAssembler { |
Label* if_false); |
void BranchIfJSObject(compiler::Node* object, Label* if_true, |
Label* if_false); |
- |
void BranchIfFastJSArray(compiler::Node* object, compiler::Node* context, |
Label* if_true, Label* if_false); |
@@ -286,10 +285,6 @@ class V8_EXPORT_PRIVATE CodeStubAssembler : public compiler::CodeAssembler { |
compiler::Node* LoadMapConstructorFunctionIndex(compiler::Node* map); |
// Load the constructor of a Map (equivalent to Map::GetConstructor()). |
compiler::Node* LoadMapConstructor(compiler::Node* map); |
- // Check whether the map is for an object with special properties, such as a |
- // JSProxy or an object with interceptors. |
- compiler::Node* IsSpecialReceiverMap(compiler::Node* map); |
- compiler::Node* IsSpecialReceiverInstanceType(compiler::Node* instance_type); |
// Check if the map is set for slow properties. |
compiler::Node* IsDictionaryMap(compiler::Node* map); |
@@ -306,6 +301,7 @@ class V8_EXPORT_PRIVATE CodeStubAssembler : public compiler::CodeAssembler { |
// Load value field of a JSValue object. |
compiler::Node* LoadJSValueValue(compiler::Node* object); |
// Load value field of a WeakCell object. |
+ compiler::Node* LoadWeakCellValueUnchecked(compiler::Node* weak_cell); |
compiler::Node* LoadWeakCellValue(compiler::Node* weak_cell, |
Label* if_cleared = nullptr); |
@@ -609,10 +605,26 @@ class V8_EXPORT_PRIVATE CodeStubAssembler : public compiler::CodeAssembler { |
char const* method_name); |
// Type checks. |
+ // Check whether the map is for an object with special properties, such as a |
+ // JSProxy or an object with interceptors. |
+ compiler::Node* IsSpecialReceiverMap(compiler::Node* map); |
+ compiler::Node* IsSpecialReceiverInstanceType(compiler::Node* instance_type); |
compiler::Node* IsStringInstanceType(compiler::Node* instance_type); |
+ compiler::Node* IsString(compiler::Node* object); |
+ compiler::Node* IsJSObject(compiler::Node* object); |
compiler::Node* IsJSReceiverInstanceType(compiler::Node* instance_type); |
- |
+ compiler::Node* IsJSReceiver(compiler::Node* object); |
+ compiler::Node* IsMap(compiler::Node* object); |
compiler::Node* IsCallableMap(compiler::Node* map); |
+ compiler::Node* IsName(compiler::Node* object); |
+ compiler::Node* IsJSValue(compiler::Node* object); |
+ compiler::Node* IsJSArray(compiler::Node* object); |
+ compiler::Node* IsNativeContext(compiler::Node* object); |
+ compiler::Node* IsWeakCell(compiler::Node* object); |
+ compiler::Node* IsFixedDoubleArray(compiler::Node* object); |
+ compiler::Node* IsHashTable(compiler::Node* object); |
+ compiler::Node* IsDictionary(compiler::Node* object); |
+ compiler::Node* IsSeededNumberDictionary(compiler::Node* object); |
// String helpers. |
// Load a character from a String (might flatten a ConsString). |
@@ -1156,6 +1168,17 @@ class V8_EXPORT_PRIVATE CodeStubAssembler : public compiler::CodeAssembler { |
compiler::Node* value, |
Label* bailout); |
+ compiler::Node* AllocateSlicedString(Heap::RootListIndex map_root_index, |
+ compiler::Node* length, |
+ compiler::Node* parent, |
+ compiler::Node* offset); |
+ |
+ compiler::Node* AllocateConsString(Heap::RootListIndex map_root_index, |
+ compiler::Node* length, |
+ compiler::Node* first, |
+ compiler::Node* second, |
+ AllocationFlags flags); |
+ |
static const int kElementLoopUnrollThreshold = 8; |
}; |