| OLD | NEW | 
|---|
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 3739 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 3750     __ Move(dst, t1); | 3750     __ Move(dst, t1); | 
| 3751     __ Branch(&done); | 3751     __ Branch(&done); | 
| 3752   } | 3752   } | 
| 3753 | 3753 | 
| 3754   // Slow case: Call the runtime system to do the number allocation. | 3754   // Slow case: Call the runtime system to do the number allocation. | 
| 3755   __ bind(&slow); | 3755   __ bind(&slow); | 
| 3756 | 3756 | 
| 3757   // TODO(3095996): Put a valid pointer value in the stack slot where the result | 3757   // TODO(3095996): Put a valid pointer value in the stack slot where the result | 
| 3758   // register is stored, as this register is in the pointer map, but contains an | 3758   // register is stored, as this register is in the pointer map, but contains an | 
| 3759   // integer value. | 3759   // integer value. | 
| 3760   __ StoreToSafepointRegisterSlot(zero_reg, src); |  | 
| 3761   __ StoreToSafepointRegisterSlot(zero_reg, dst); | 3760   __ StoreToSafepointRegisterSlot(zero_reg, dst); | 
| 3762   CallRuntimeFromDeferred(Runtime::kAllocateHeapNumber, 0, instr); | 3761   CallRuntimeFromDeferred(Runtime::kAllocateHeapNumber, 0, instr); | 
| 3763   __ Move(dst, v0); | 3762   __ Move(dst, v0); | 
| 3764 | 3763 | 
| 3765   // Done. Put the value in dbl_scratch into the value of the allocated heap | 3764   // Done. Put the value in dbl_scratch into the value of the allocated heap | 
| 3766   // number. | 3765   // number. | 
| 3767   __ bind(&done); | 3766   __ bind(&done); | 
| 3768   __ sdc1(dbl_scratch, FieldMemOperand(dst, HeapNumber::kValueOffset)); | 3767   __ sdc1(dbl_scratch, FieldMemOperand(dst, HeapNumber::kValueOffset)); | 
| 3769   __ StoreToSafepointRegisterSlot(dst, dst); | 3768   __ StoreToSafepointRegisterSlot(dst, dst); | 
| 3770 } | 3769 } | 
| (...skipping 967 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 4738   ASSERT(!environment->HasBeenRegistered()); | 4737   ASSERT(!environment->HasBeenRegistered()); | 
| 4739   RegisterEnvironmentForDeoptimization(environment, Safepoint::kNoLazyDeopt); | 4738   RegisterEnvironmentForDeoptimization(environment, Safepoint::kNoLazyDeopt); | 
| 4740   ASSERT(osr_pc_offset_ == -1); | 4739   ASSERT(osr_pc_offset_ == -1); | 
| 4741   osr_pc_offset_ = masm()->pc_offset(); | 4740   osr_pc_offset_ = masm()->pc_offset(); | 
| 4742 } | 4741 } | 
| 4743 | 4742 | 
| 4744 | 4743 | 
| 4745 #undef __ | 4744 #undef __ | 
| 4746 | 4745 | 
| 4747 } }  // namespace v8::internal | 4746 } }  // namespace v8::internal | 
| OLD | NEW | 
|---|