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 "src/arm64/codegen-arm64.h" | 5 #include "src/arm64/codegen-arm64.h" |
6 | 6 |
7 #if V8_TARGET_ARCH_ARM64 | 7 #if V8_TARGET_ARCH_ARM64 |
8 | 8 |
9 #include "src/arm64/simulator-arm64.h" | 9 #include "src/arm64/simulator-arm64.h" |
10 #include "src/codegen.h" | 10 #include "src/codegen.h" |
(...skipping 349 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
360 __ Pop(lr); | 360 __ Pop(lr); |
361 | 361 |
362 __ Bind(&only_change_map); | 362 __ Bind(&only_change_map); |
363 __ Str(target_map, FieldMemOperand(receiver, HeapObject::kMapOffset)); | 363 __ Str(target_map, FieldMemOperand(receiver, HeapObject::kMapOffset)); |
364 __ RecordWriteField(receiver, HeapObject::kMapOffset, target_map, x13, | 364 __ RecordWriteField(receiver, HeapObject::kMapOffset, target_map, x13, |
365 kLRHasNotBeenSaved, kDontSaveFPRegs, OMIT_REMEMBERED_SET, | 365 kLRHasNotBeenSaved, kDontSaveFPRegs, OMIT_REMEMBERED_SET, |
366 OMIT_SMI_CHECK); | 366 OMIT_SMI_CHECK); |
367 } | 367 } |
368 | 368 |
369 | 369 |
370 CodeAgingHelper::CodeAgingHelper() { | 370 CodeAgingHelper::CodeAgingHelper(Isolate* isolate) { |
| 371 USE(isolate); |
371 DCHECK(young_sequence_.length() == kNoCodeAgeSequenceLength); | 372 DCHECK(young_sequence_.length() == kNoCodeAgeSequenceLength); |
372 // The sequence of instructions that is patched out for aging code is the | 373 // The sequence of instructions that is patched out for aging code is the |
373 // following boilerplate stack-building prologue that is found both in | 374 // following boilerplate stack-building prologue that is found both in |
374 // FUNCTION and OPTIMIZED_FUNCTION code: | 375 // FUNCTION and OPTIMIZED_FUNCTION code: |
375 PatchingAssembler patcher(young_sequence_.start(), | 376 PatchingAssembler patcher(young_sequence_.start(), |
376 young_sequence_.length() / kInstructionSize); | 377 young_sequence_.length() / kInstructionSize); |
377 // The young sequence is the frame setup code for FUNCTION code types. It is | 378 // The young sequence is the frame setup code for FUNCTION code types. It is |
378 // generated by FullCodeGenerator::Generate. | 379 // generated by FullCodeGenerator::Generate. |
379 MacroAssembler::EmitFrameSetupForCodeAgePatching(&patcher); | 380 MacroAssembler::EmitFrameSetupForCodeAgePatching(&patcher); |
380 | 381 |
(...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
630 | 631 |
631 __ Bind(&done); | 632 __ Bind(&done); |
632 } | 633 } |
633 | 634 |
634 #undef __ | 635 #undef __ |
635 | 636 |
636 } // namespace internal | 637 } // namespace internal |
637 } // namespace v8 | 638 } // namespace v8 |
638 | 639 |
639 #endif // V8_TARGET_ARCH_ARM64 | 640 #endif // V8_TARGET_ARCH_ARM64 |
OLD | NEW |