Index: src/x64/assembler-x64.h |
=================================================================== |
--- src/x64/assembler-x64.h (revision 13870) |
+++ src/x64/assembler-x64.h (working copy) |
@@ -561,6 +561,7 @@ |
} |
inline Handle<Object> code_target_object_handle_at(Address pc); |
+ inline Address runtime_entry_at(Address pc); |
// Number of bytes taken up by the branch target in the code. |
static const int kSpecialTargetSize = 4; // Use 32-bit displacement. |
// Distance between the address of the code target in the call instruction |
@@ -1180,6 +1181,7 @@ |
// Calls |
// Call near relative 32-bit displacement, relative to next instruction. |
void call(Label* L); |
+ void call(Address entry, RelocInfo::Mode rmode); |
void call(Handle<Code> target, |
RelocInfo::Mode rmode = RelocInfo::CODE_TARGET, |
TypeFeedbackId ast_id = TypeFeedbackId::None()); |
@@ -1201,6 +1203,7 @@ |
// Use a 32-bit signed displacement. |
// Unconditional jump to L |
void jmp(Label* L, Label::Distance distance = Label::kFar); |
+ void jmp(Address entry, RelocInfo::Mode rmode); |
void jmp(Handle<Code> target, RelocInfo::Mode rmode); |
// Jump near absolute indirect (r64) |
@@ -1213,6 +1216,7 @@ |
void j(Condition cc, |
Label* L, |
Label::Distance distance = Label::kFar); |
+ void j(Condition cc, Address entry, RelocInfo::Mode rmode); |
void j(Condition cc, Handle<Code> target, RelocInfo::Mode rmode); |
// Floating-point operations |
@@ -1430,6 +1434,7 @@ |
inline void emit_code_target(Handle<Code> target, |
RelocInfo::Mode rmode, |
TypeFeedbackId ast_id = TypeFeedbackId::None()); |
+ inline void emit_runtime_entry(Address entry, RelocInfo::Mode rmode); |
void emit(Immediate x) { emitl(x.value_); } |
// Emits a REX prefix that encodes a 64-bit operand size and |