Index: src/code-stub-assembler.h |
diff --git a/src/code-stub-assembler.h b/src/code-stub-assembler.h |
index 936c5d267799b52aee590fc4cbe85ae5e9143a57..168b326af2a4bfe267d01610bc669f5f1d0423f5 100644 |
--- a/src/code-stub-assembler.h |
+++ b/src/code-stub-assembler.h |
@@ -25,6 +25,18 @@ enum class UnicodeEncoding { |
UTF32, // full UTF32 code unit / Unicode codepoint |
}; |
+#define HEAP_CONSTANT_LIST(V) \ |
+ V(empty_string, EmptyString) \ |
+ V(FixedArrayMap, FixedArrayMap) \ |
+ V(FixedCOWArrayMap, FixedCOWArrayMap) \ |
+ V(FixedDoubleArrayMap, FixedDoubleArrayMap) \ |
+ V(HeapNumberMap, HeapNumberMap) \ |
+ V(MinusZeroValue, MinusZero) \ |
+ V(NanValue, Nan) \ |
+ V(NullValue, Null) \ |
+ V(UndefinedValue, Undefined) \ |
+ V(TheHoleValue, TheHole) |
+ |
// Provides JavaScript-specific "macro-assembler" functionality on top of the |
// CodeAssembler. By factoring the JavaScript-isms out of the CodeAssembler, |
// it's possible to add JavaScript-specific useful CodeAssembler "macros" |
@@ -76,18 +88,18 @@ class CodeStubAssembler : public compiler::CodeAssembler { |
return value; |
} |
- compiler::Node* BooleanMapConstant(); |
- compiler::Node* EmptyStringConstant(); |
- compiler::Node* FixedArrayMapConstant(); |
- compiler::Node* FixedCowArrayMapConstant(); |
- compiler::Node* FixedDoubleArrayMapConstant(); |
- compiler::Node* HeapNumberMapConstant(); |
compiler::Node* NoContextConstant(); |
- compiler::Node* NanConstant(); |
- compiler::Node* NullConstant(); |
- compiler::Node* MinusZeroConstant(); |
- compiler::Node* UndefinedConstant(); |
- compiler::Node* TheHoleConstant(); |
+ compiler::Node* BooleanMapConstant(); |
+#define HEAP_CONSTANT_ACCESSOR(rootName, name) compiler::Node* name##Constant(); |
+ HEAP_CONSTANT_LIST(HEAP_CONSTANT_ACCESSOR) |
+#undef HEAP_CONSTANT_ACCESSOR |
+ |
+ compiler::Node* IsBooleanMap(compiler::Node* value); |
+#define HEAP_CONSTANT_TEST(rootName, name) \ |
+ compiler::Node* Is##name(compiler::Node* value); |
+ HEAP_CONSTANT_LIST(HEAP_CONSTANT_TEST) |
+#undef HEAP_CONSTANT_TEST |
+ |
compiler::Node* HashSeed(); |
compiler::Node* StaleRegisterConstant(); |