Index: src/builtins/x64/builtins-x64.cc |
diff --git a/src/builtins/x64/builtins-x64.cc b/src/builtins/x64/builtins-x64.cc |
index 6b5ecdf792bbc5d05111c800abe8cb63aa14bfc2..d4fb131afc79142508d97533d7f82ee3096de2f3 100644 |
--- a/src/builtins/x64/builtins-x64.cc |
+++ b/src/builtins/x64/builtins-x64.cc |
@@ -1987,8 +1987,14 @@ |
// 3b. Convert symbol in rax to a string. |
__ bind(&symbol_descriptive_string); |
- __ movp(rax, FieldOperand(rax, Symbol::kDescriptiveStringOffset)); |
- // Fall through. |
+ { |
+ __ PopReturnAddressTo(rcx); |
+ __ SmiToInteger32(r8, r8); |
+ __ leap(rsp, Operand(rsp, r8, times_pointer_size, kPointerSize)); |
+ __ Push(rax); |
+ __ PushReturnAddressFrom(rcx); |
+ __ TailCallRuntime(Runtime::kSymbolDescriptiveString); |
+ } |
__ bind(&drop_frame_and_ret); |
{ |