Commit 794a10cb authored by palfia@homejinni.com's avatar palfia@homejinni.com

MIPS: Replace DeoptimizeOnUndefined with whitelisting AllowUndefinedAsNan

Port r14894 (0ca991f0)

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14895 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent 1a4a904b
......@@ -4685,7 +4685,7 @@ void LCodeGen::DoSmiUntag(LSmiUntag* instr) {
void LCodeGen::EmitNumberUntagD(Register input_reg,
DoubleRegister result_reg,
bool deoptimize_on_undefined,
bool allow_undefined_as_nan,
bool deoptimize_on_minus_zero,
LEnvironment* env,
NumberUntagDMode mode) {
......@@ -4702,7 +4702,7 @@ void LCodeGen::EmitNumberUntagD(Register input_reg,
// Heap number map check.
__ lw(scratch, FieldMemOperand(input_reg, HeapObject::kMapOffset));
__ LoadRoot(at, Heap::kHeapNumberMapRootIndex);
if (deoptimize_on_undefined) {
if (!allow_undefined_as_nan) {
DeoptimizeIf(ne, env, scratch, Operand(at));
} else {
Label heap_number, convert;
......@@ -4875,7 +4875,7 @@ void LCodeGen::DoNumberUntagD(LNumberUntagD* instr) {
}
EmitNumberUntagD(input_reg, result_reg,
instr->hydrogen()->deoptimize_on_undefined(),
instr->hydrogen()->allow_undefined_as_nan(),
instr->hydrogen()->deoptimize_on_minus_zero(),
instr->environment(),
mode);
......
......@@ -343,7 +343,7 @@ class LCodeGen BASE_EMBEDDED {
void EmitCmpI(LOperand* left, LOperand* right);
void EmitNumberUntagD(Register input,
DoubleRegister result,
bool deoptimize_on_undefined,
bool allow_undefined_as_nan,
bool deoptimize_on_minus_zero,
LEnvironment* env,
NumberUntagDMode mode);
......
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