Index: runtime/vm/object_x64_test.cc |
diff --git a/runtime/vm/object_x64_test.cc b/runtime/vm/object_x64_test.cc |
index b8914e0ab274737fe76e98587356b2b350e61f05..87727b773233bc327acc1930d433a6a1185b9c5c 100644 |
--- a/runtime/vm/object_x64_test.cc |
+++ b/runtime/vm/object_x64_test.cc |
@@ -34,10 +34,14 @@ void GenerateIncrement(Assembler* assembler) { |
void GenerateEmbedStringInCode(Assembler* assembler, const char* str) { |
const String& string_object = |
String::ZoneHandle(String::New(str, Heap::kOld)); |
+ __ pushq(CODE_REG); |
__ pushq(PP); // Save caller's pool pointer and load a new one here. |
+ __ movq(CODE_REG, Address(CallingConventions::kArg1Reg, |
+ VMHandles::kOffsetOfRawPtrInHandle)); |
__ LoadPoolPointer(PP); |
__ LoadObject(RAX, string_object, PP); |
__ popq(PP); // Restore caller's pool pointer. |
+ __ popq(CODE_REG); |
__ ret(); |
} |