X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fv8%2Fsrc%2Farm%2Flithium-codegen-arm.cc;h=b04c9702254c8e7e569254d093e08fc830cffda9;hb=40cf3eb6f8987f5a8d1c627f8ef6ff9bd571c97d;hp=f2abdd31db34774410c617f71b675f72faa6e34c;hpb=42dcc1327bbd3f24706b73963db769f667a58196;p=platform%2Fframework%2Fweb%2Fcrosswalk.git diff --git a/src/v8/src/arm/lithium-codegen-arm.cc b/src/v8/src/arm/lithium-codegen-arm.cc index f2abdd3..b04c970 100644 --- a/src/v8/src/arm/lithium-codegen-arm.cc +++ b/src/v8/src/arm/lithium-codegen-arm.cc @@ -2243,6 +2243,18 @@ void LCodeGen::DoBranch(LBranch* instr) { __ b(eq, instr->TrueLabel(chunk_)); } + if (expected.Contains(ToBooleanStub::FLOAT32x4)) { + // Float32x4 value -> true. + __ CompareInstanceType(map, ip, FLOAT32x4_TYPE); + __ b(eq, instr->TrueLabel(chunk_)); + } + + if (expected.Contains(ToBooleanStub::INT32x4)) { + // Int32x4 value -> true. + __ CompareInstanceType(map, ip, INT32x4_TYPE); + __ b(eq, instr->TrueLabel(chunk_)); + } + if (expected.Contains(ToBooleanStub::HEAP_NUMBER)) { // heap number -> false iff +0, -0, or NaN. DwVfpRegister dbl_scratch = double_scratch0();