| OLD | NEW | 
|     1 // Copyright 2011 the V8 project authors. All rights reserved. |     1 // Copyright 2011 the V8 project authors. All rights reserved. | 
|     2 // Redistribution and use in source and binary forms, with or without |     2 // Redistribution and use in source and binary forms, with or without | 
|     3 // modification, are permitted provided that the following conditions are |     3 // modification, are permitted provided that the following conditions are | 
|     4 // met: |     4 // met: | 
|     5 // |     5 // | 
|     6 //     * Redistributions of source code must retain the above copyright |     6 //     * Redistributions of source code must retain the above copyright | 
|     7 //       notice, this list of conditions and the following disclaimer. |     7 //       notice, this list of conditions and the following disclaimer. | 
|     8 //     * Redistributions in binary form must reproduce the above |     8 //     * Redistributions in binary form must reproduce the above | 
|     9 //       copyright notice, this list of conditions and the following |     9 //       copyright notice, this list of conditions and the following | 
|    10 //       disclaimer in the documentation and/or other materials provided |    10 //       disclaimer in the documentation and/or other materials provided | 
| (...skipping 1661 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  1672       } |  1672       } | 
|  1673  |  1673  | 
|  1674       if (expected.Contains(ToBooleanStub::HEAP_NUMBER)) { |  1674       if (expected.Contains(ToBooleanStub::HEAP_NUMBER)) { | 
|  1675         // heap number -> false iff +0, -0, or NaN. |  1675         // heap number -> false iff +0, -0, or NaN. | 
|  1676         DoubleRegister dbl_scratch = double_scratch0(); |  1676         DoubleRegister dbl_scratch = double_scratch0(); | 
|  1677         Label not_heap_number; |  1677         Label not_heap_number; | 
|  1678         __ CompareRoot(map, Heap::kHeapNumberMapRootIndex); |  1678         __ CompareRoot(map, Heap::kHeapNumberMapRootIndex); | 
|  1679         __ b(ne, ¬_heap_number); |  1679         __ b(ne, ¬_heap_number); | 
|  1680         __ vldr(dbl_scratch, FieldMemOperand(reg, HeapNumber::kValueOffset)); |  1680         __ vldr(dbl_scratch, FieldMemOperand(reg, HeapNumber::kValueOffset)); | 
|  1681         __ VFPCompareAndSetFlags(dbl_scratch, 0.0); |  1681         __ VFPCompareAndSetFlags(dbl_scratch, 0.0); | 
|  1682         __ b(vs, false_label); // NaN -> false. |  1682         __ b(vs, false_label);  // NaN -> false. | 
|  1683         __ b(eq, false_label); // +0, -0 -> false. |  1683         __ b(eq, false_label);  // +0, -0 -> false. | 
|  1684         __ b(true_label); |  1684         __ b(true_label); | 
|  1685         __ bind(¬_heap_number); |  1685         __ bind(¬_heap_number); | 
|  1686       } else if (expected.Contains(ToBooleanStub::INTERNAL_OBJECT)) { |  1686       } else if (expected.Contains(ToBooleanStub::INTERNAL_OBJECT)) { | 
|  1687         // We've seen a heap number for the first time -> deopt. |  1687         // We've seen a heap number for the first time -> deopt. | 
|  1688         __ CompareRoot(map, Heap::kHeapNumberMapRootIndex); |  1688         __ CompareRoot(map, Heap::kHeapNumberMapRootIndex); | 
|  1689         DeoptimizeIf(eq, instr->environment()); |  1689         DeoptimizeIf(eq, instr->environment()); | 
|  1690       } |  1690       } | 
|  1691  |  1691  | 
|  1692       if (expected.Contains(ToBooleanStub::INTERNAL_OBJECT)) { |  1692       if (expected.Contains(ToBooleanStub::INTERNAL_OBJECT)) { | 
|  1693         // internal objects -> true |  1693         // internal objects -> true | 
| (...skipping 2877 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  4571   ASSERT(osr_pc_offset_ == -1); |  4571   ASSERT(osr_pc_offset_ == -1); | 
|  4572   osr_pc_offset_ = masm()->pc_offset(); |  4572   osr_pc_offset_ = masm()->pc_offset(); | 
|  4573 } |  4573 } | 
|  4574  |  4574  | 
|  4575  |  4575  | 
|  4576  |  4576  | 
|  4577  |  4577  | 
|  4578 #undef __ |  4578 #undef __ | 
|  4579  |  4579  | 
|  4580 } }  // namespace v8::internal |  4580 } }  // namespace v8::internal | 
| OLD | NEW |