| OLD | NEW |
| 1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include <sstream> | 5 #include <sstream> |
| 6 | 6 |
| 7 #include "src/v8.h" | 7 #include "src/v8.h" |
| 8 | 8 |
| 9 #include "src/arm64/lithium-codegen-arm64.h" | 9 #include "src/arm64/lithium-codegen-arm64.h" |
| 10 #include "src/hydrogen-osr.h" | 10 #include "src/hydrogen-osr.h" |
| (...skipping 2382 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2393 LInstruction* LChunkBuilder::DoStoreNamedField(HStoreNamedField* instr) { | 2393 LInstruction* LChunkBuilder::DoStoreNamedField(HStoreNamedField* instr) { |
| 2394 // TODO(jbramley): It might be beneficial to allow value to be a constant in | 2394 // TODO(jbramley): It might be beneficial to allow value to be a constant in |
| 2395 // some cases. x64 makes use of this with FLAG_track_fields, for example. | 2395 // some cases. x64 makes use of this with FLAG_track_fields, for example. |
| 2396 | 2396 |
| 2397 LOperand* object = UseRegister(instr->object()); | 2397 LOperand* object = UseRegister(instr->object()); |
| 2398 LOperand* value; | 2398 LOperand* value; |
| 2399 LOperand* temp0 = NULL; | 2399 LOperand* temp0 = NULL; |
| 2400 LOperand* temp1 = NULL; | 2400 LOperand* temp1 = NULL; |
| 2401 | 2401 |
| 2402 if (instr->access().IsExternalMemory() || | 2402 if (instr->access().IsExternalMemory() || |
| 2403 instr->field_representation().IsDouble()) { | 2403 (!FLAG_unbox_double_fields && instr->field_representation().IsDouble())) { |
| 2404 value = UseRegister(instr->value()); | 2404 value = UseRegister(instr->value()); |
| 2405 } else if (instr->NeedsWriteBarrier()) { | 2405 } else if (instr->NeedsWriteBarrier()) { |
| 2406 value = UseRegisterAndClobber(instr->value()); | 2406 value = UseRegisterAndClobber(instr->value()); |
| 2407 temp0 = TempRegister(); | 2407 temp0 = TempRegister(); |
| 2408 temp1 = TempRegister(); | 2408 temp1 = TempRegister(); |
| 2409 } else if (instr->NeedsWriteBarrierForMap()) { | 2409 } else if (instr->NeedsWriteBarrierForMap()) { |
| 2410 value = UseRegister(instr->value()); | 2410 value = UseRegister(instr->value()); |
| 2411 temp0 = TempRegister(); | 2411 temp0 = TempRegister(); |
| 2412 temp1 = TempRegister(); | 2412 temp1 = TempRegister(); |
| 2413 } else { | 2413 } else { |
| (...skipping 330 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2744 HAllocateBlockContext* instr) { | 2744 HAllocateBlockContext* instr) { |
| 2745 LOperand* context = UseFixed(instr->context(), cp); | 2745 LOperand* context = UseFixed(instr->context(), cp); |
| 2746 LOperand* function = UseRegisterAtStart(instr->function()); | 2746 LOperand* function = UseRegisterAtStart(instr->function()); |
| 2747 LAllocateBlockContext* result = | 2747 LAllocateBlockContext* result = |
| 2748 new(zone()) LAllocateBlockContext(context, function); | 2748 new(zone()) LAllocateBlockContext(context, function); |
| 2749 return MarkAsCall(DefineFixed(result, cp), instr); | 2749 return MarkAsCall(DefineFixed(result, cp), instr); |
| 2750 } | 2750 } |
| 2751 | 2751 |
| 2752 | 2752 |
| 2753 } } // namespace v8::internal | 2753 } } // namespace v8::internal |
| OLD | NEW |