Index: src/x64/macro-assembler-x64.cc |
diff --git a/src/x64/macro-assembler-x64.cc b/src/x64/macro-assembler-x64.cc |
index 8c139512687247750c90d7e4296b279952ba81ef..3e5771728cd6cd5838f325467a20797e529c180f 100644 |
--- a/src/x64/macro-assembler-x64.cc |
+++ b/src/x64/macro-assembler-x64.cc |
@@ -35,6 +35,7 @@ |
#include "macro-assembler-x64.h" |
#include "serialize.h" |
#include "debug.h" |
+#include "heap.h" |
namespace v8 { |
namespace internal { |
@@ -1731,6 +1732,17 @@ void MacroAssembler::AbortIfNotSmi(Register object) { |
} |
+void MacroAssembler::AbortIfNotRootValue(Register src, |
+ Heap::RootListIndex root_value_index, |
+ const char* message) { |
+ ASSERT(!src.is(kScratchRegister)); |
+ LoadRoot(kScratchRegister, root_value_index); |
+ cmpq(src, kScratchRegister); |
+ Check(equal, message); |
+} |
+ |
+ |
+ |
Condition MacroAssembler::IsObjectStringType(Register heap_object, |
Register map, |
Register instance_type) { |