Commit 469b632e authored by bjaideep's avatar bjaideep Committed by Commit bot

PPC/s390: [regexp] Port RegExpExecStub to CSA (mostly)

Port 5cc61896

Minor fix to the original CL's port of ppc/s390

Original Commit Message:

    This moves most of the logic contained in RegExpExecStub to CSA.  Benefits are
    mostly easier readability and hackability, and removal of a large chunk of
    platform-specific assembly.

    Exit frame construction and the final call remain in RegExpExecStub.

R=jgruber@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
BUG=v8:5339,v8:592
LOG=N

Review-Url: https://codereview.chromium.org/2757673004
Cr-Commit-Position: refs/heads/master@{#43877}
parent 0e893511
......@@ -1245,9 +1245,9 @@ void RegExpExecStub::Generate(MacroAssembler* masm) {
ExternalReference::address_of_regexp_stack_memory_size(isolate());
__ mov(r11, Operand(address_of_regexp_stack_memory_address));
__ LoadP(r11, MemOperand(r11, 0));
__ mov(r12, Operand(address_of_regexp_stack_memory_size));
__ LoadP(r12, MemOperand(r12, 0));
__ add(r9, r11, r12);
__ mov(ip, Operand(address_of_regexp_stack_memory_size));
__ LoadP(ip, MemOperand(ip, 0));
__ add(r9, r11, ip);
// Argument 6 (r8): Set the number of capture registers to zero to force
// global egexps to behave as non-global. This does not affect non-global
......
......@@ -1281,7 +1281,7 @@ void RegExpExecStub::Generate(MacroAssembler* masm) {
CHECK(r2.is(RegExpExecDescriptor::StringRegister()));
// Locate the code entry and call it.
Register code_reg = RegExpDescriptor::CodeRegister();
Register code_reg = RegExpExecDescriptor::CodeRegister();
__ AddP(code_reg, Operand(Code::kHeaderSize - kHeapObjectTag));
DirectCEntryStub stub(isolate());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment