OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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/x64/assembler-x64.h" | 5 #include "src/x64/assembler-x64.h" |
6 | 6 |
7 #include <cstring> | 7 #include <cstring> |
8 | 8 |
9 #if V8_TARGET_ARCH_X64 | 9 #if V8_TARGET_ARCH_X64 |
10 | 10 |
(...skipping 3410 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3421 return; | 3421 return; |
3422 } else if (rmode == RelocInfo::CODE_AGE_SEQUENCE) { | 3422 } else if (rmode == RelocInfo::CODE_AGE_SEQUENCE) { |
3423 // Don't record psuedo relocation info for code age sequence mode. | 3423 // Don't record psuedo relocation info for code age sequence mode. |
3424 return; | 3424 return; |
3425 } | 3425 } |
3426 RelocInfo rinfo(pc_, rmode, data, NULL); | 3426 RelocInfo rinfo(pc_, rmode, data, NULL); |
3427 reloc_info_writer.Write(&rinfo); | 3427 reloc_info_writer.Write(&rinfo); |
3428 } | 3428 } |
3429 | 3429 |
3430 | 3430 |
3431 void Assembler::RecordJSReturn() { | |
3432 positions_recorder()->WriteRecordedPositions(); | |
3433 EnsureSpace ensure_space(this); | |
3434 RecordRelocInfo(RelocInfo::JS_RETURN); | |
3435 } | |
3436 | |
3437 | |
3438 void Assembler::RecordDebugBreakSlot() { | |
3439 positions_recorder()->WriteRecordedPositions(); | |
3440 EnsureSpace ensure_space(this); | |
3441 RecordRelocInfo(RelocInfo::DEBUG_BREAK_SLOT); | |
3442 } | |
3443 | |
3444 | |
3445 void Assembler::RecordComment(const char* msg, bool force) { | |
3446 if (FLAG_code_comments || force) { | |
3447 EnsureSpace ensure_space(this); | |
3448 RecordRelocInfo(RelocInfo::COMMENT, reinterpret_cast<intptr_t>(msg)); | |
3449 } | |
3450 } | |
3451 | |
3452 | |
3453 void Assembler::RecordDeoptReason(const int reason, const int raw_position) { | |
3454 if (FLAG_trace_deopt || isolate()->cpu_profiler()->is_profiling()) { | |
3455 EnsureSpace ensure_space(this); | |
3456 RecordRelocInfo(RelocInfo::POSITION, raw_position); | |
3457 RecordRelocInfo(RelocInfo::DEOPT_REASON, reason); | |
3458 } | |
3459 } | |
3460 | |
3461 | |
3462 Handle<ConstantPoolArray> Assembler::NewConstantPool(Isolate* isolate) { | 3431 Handle<ConstantPoolArray> Assembler::NewConstantPool(Isolate* isolate) { |
3463 // No out-of-line constant pool support. | 3432 // No out-of-line constant pool support. |
3464 DCHECK(!FLAG_enable_ool_constant_pool); | 3433 DCHECK(!FLAG_enable_ool_constant_pool); |
3465 return isolate->factory()->empty_constant_pool_array(); | 3434 return isolate->factory()->empty_constant_pool_array(); |
3466 } | 3435 } |
3467 | 3436 |
3468 | 3437 |
3469 void Assembler::PopulateConstantPool(ConstantPoolArray* constant_pool) { | 3438 void Assembler::PopulateConstantPool(ConstantPoolArray* constant_pool) { |
3470 // No out-of-line constant pool support. | 3439 // No out-of-line constant pool support. |
3471 DCHECK(!FLAG_enable_ool_constant_pool); | 3440 DCHECK(!FLAG_enable_ool_constant_pool); |
(...skipping 16 matching lines...) Expand all Loading... |
3488 | 3457 |
3489 | 3458 |
3490 bool RelocInfo::IsInConstantPool() { | 3459 bool RelocInfo::IsInConstantPool() { |
3491 return false; | 3460 return false; |
3492 } | 3461 } |
3493 | 3462 |
3494 | 3463 |
3495 } } // namespace v8::internal | 3464 } } // namespace v8::internal |
3496 | 3465 |
3497 #endif // V8_TARGET_ARCH_X64 | 3466 #endif // V8_TARGET_ARCH_X64 |
OLD | NEW |