| Index: src/x64/assembler-x64.cc
|
| ===================================================================
|
| --- src/x64/assembler-x64.cc (revision 13219)
|
| +++ src/x64/assembler-x64.cc (working copy)
|
| @@ -349,6 +349,7 @@
|
| Assembler::Assembler(Isolate* isolate, void* buffer, int buffer_size)
|
| : AssemblerBase(isolate, buffer, buffer_size),
|
| code_targets_(100),
|
| + deopt_entries_(100),
|
| positions_recorder_(this) {
|
| // Clear the buffer in debug mode unless it was provided by the
|
| // caller in which case we can't be sure it's okay to overwrite
|
| @@ -833,6 +834,16 @@
|
| }
|
|
|
|
|
| +void Assembler::call(Address entry, RelocInfo::Mode rmode) {
|
| + positions_recorder()->WriteRecordedPositions();
|
| + EnsureSpace ensure_space(this);
|
| + ASSERT(RelocInfo::IsDeoptEntry(rmode));
|
| + // 1110 1000 #32-bit disp.
|
| + emit(0xE8);
|
| + emit_deopt_entry(entry, rmode);
|
| +}
|
| +
|
| +
|
| void Assembler::call(Handle<Code> target,
|
| RelocInfo::Mode rmode,
|
| TypeFeedbackId ast_id) {
|
| @@ -1239,6 +1250,16 @@
|
| }
|
|
|
|
|
| +void Assembler::j(Condition cc, byte* entry, RelocInfo::Mode rmode) {
|
| + EnsureSpace ensure_space(this);
|
| + ASSERT(RelocInfo::IsDeoptEntry(rmode));
|
| + ASSERT(is_uint4(cc));
|
| + emit(0x0F);
|
| + emit(0x80 | cc);
|
| + emit_deopt_entry(entry, rmode);
|
| +}
|
| +
|
| +
|
| void Assembler::j(Condition cc,
|
| Handle<Code> target,
|
| RelocInfo::Mode rmode) {
|
| @@ -1293,6 +1314,14 @@
|
| }
|
|
|
|
|
| +void Assembler::jmp(byte* entry, RelocInfo::Mode rmode) {
|
| + EnsureSpace ensure_space(this);
|
| + ASSERT(RelocInfo::IsDeoptEntry(rmode));
|
| + emit(0xE9);
|
| + emit_deopt_entry(entry, rmode);
|
| +}
|
| +
|
| +
|
| void Assembler::jmp(Handle<Code> target, RelocInfo::Mode rmode) {
|
| EnsureSpace ensure_space(this);
|
| // 1110 1001 #32-bit disp.
|
| @@ -3024,6 +3053,7 @@
|
|
|
|
|
| const int RelocInfo::kApplyMask = RelocInfo::kCodeTargetMask |
|
| + 1 << RelocInfo::DEOPT_ENTRY |
|
| 1 << RelocInfo::INTERNAL_REFERENCE |
|
| 1 << RelocInfo::CODE_AGE_SEQUENCE;
|
|
|
|
|