Index: src/arm64/code-stubs-arm64.cc |
diff --git a/src/arm64/code-stubs-arm64.cc b/src/arm64/code-stubs-arm64.cc |
index bd701502efc5c3a5a4716edc36f667126d805bd8..cfce6194a580ea786228180ec4abdc726a5811a8 100644 |
--- a/src/arm64/code-stubs-arm64.cc |
+++ b/src/arm64/code-stubs-arm64.cc |
@@ -2305,27 +2305,16 @@ void RegExpExecStub::Generate(MacroAssembler* masm) { |
Register last_match_info_elements = x21; |
Register code_object = x22; |
- // TODO(jbramley): Is it necessary to preserve these? I don't think ARM does. |
- CPURegList used_callee_saved_registers(subject, |
- regexp_data, |
- last_match_info_elements, |
- code_object); |
- __ PushCPURegList(used_callee_saved_registers); |
- |
// Stack frame. |
- // jssp[0] : x19 |
- // jssp[8] : x20 |
- // jssp[16]: x21 |
- // jssp[24]: x22 |
- // jssp[32]: last_match_info (JSArray) |
- // jssp[40]: previous index |
- // jssp[48]: subject string |
- // jssp[56]: JSRegExp object |
- |
- const int kLastMatchInfoOffset = 4 * kPointerSize; |
- const int kPreviousIndexOffset = 5 * kPointerSize; |
- const int kSubjectOffset = 6 * kPointerSize; |
- const int kJSRegExpOffset = 7 * kPointerSize; |
+ // jssp[00]: last_match_info (JSArray) |
+ // jssp[08]: previous index |
+ // jssp[16]: subject string |
+ // jssp[24]: JSRegExp object |
+ |
+ const int kLastMatchInfoOffset = 0 * kPointerSize; |
+ const int kPreviousIndexOffset = 1 * kPointerSize; |
+ const int kSubjectOffset = 2 * kPointerSize; |
+ const int kJSRegExpOffset = 3 * kPointerSize; |
// Ensure that a RegExp stack is allocated. |
ExternalReference address_of_regexp_stack_memory_address = |
@@ -2692,7 +2681,6 @@ void RegExpExecStub::Generate(MacroAssembler* masm) { |
// Return last match info. |
__ Peek(x0, kLastMatchInfoOffset); |
- __ PopCPURegList(used_callee_saved_registers); |
// Drop the 4 arguments of the stub from the stack. |
__ Drop(4); |
__ Ret(); |
@@ -2715,13 +2703,11 @@ void RegExpExecStub::Generate(MacroAssembler* masm) { |
__ Bind(&failure); |
__ Mov(x0, Operand(isolate()->factory()->null_value())); |
- __ PopCPURegList(used_callee_saved_registers); |
// Drop the 4 arguments of the stub from the stack. |
__ Drop(4); |
__ Ret(); |
__ Bind(&runtime); |
- __ PopCPURegList(used_callee_saved_registers); |
__ TailCallRuntime(Runtime::kRegExpExec, 4, 1); |
// Deferred code for string handling. |