Commit fab0f042 authored by michael_dawson's avatar michael_dawson Committed by Commit bot

PPC64: Fix return value checks for generated regexp code.

This fixes simulated debug-mode failures in the following tests:
  mjsunit/regexp-stack-overflow
  mjsunit/regress/regress-crbug-467047

R=mbrandy@us.ibm.com

BUG=

Review URL: https://codereview.chromium.org/1035003002

Cr-Commit-Position: refs/heads/master@{#27500}
parent 28183eb0
......@@ -2365,20 +2365,20 @@ void RegExpExecStub::Generate(MacroAssembler* masm) {
__ LeaveExitFrame(false, no_reg, true);
// r3: result
// r3: result (int32)
// subject: subject string (callee saved)
// regexp_data: RegExp data (callee saved)
// last_match_info_elements: Last match info elements (callee saved)
// Check the result.
Label success;
__ cmpi(r3, Operand(1));
__ cmpwi(r3, Operand(1));
// We expect exactly one result since we force the called regexp to behave
// as non-global.
__ beq(&success);
Label failure;
__ cmpi(r3, Operand(NativeRegExpMacroAssembler::FAILURE));
__ cmpwi(r3, Operand(NativeRegExpMacroAssembler::FAILURE));
__ beq(&failure);
__ cmpi(r3, Operand(NativeRegExpMacroAssembler::EXCEPTION));
__ cmpwi(r3, Operand(NativeRegExpMacroAssembler::EXCEPTION));
// If not exception it can only be retry. Handle that in the runtime system.
__ bne(&runtime);
// Result must now be exception. If there is no pending exception already a
......
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