| Index: src/x64/assembler-x64-inl.h
|
| diff --git a/src/x64/assembler-x64-inl.h b/src/x64/assembler-x64-inl.h
|
| index 9541a58bfb58ed83d396e4efa889089378403def..8db54f07527eab86f204986a688fe6f1d28b7089 100644
|
| --- a/src/x64/assembler-x64-inl.h
|
| +++ b/src/x64/assembler-x64-inl.h
|
| @@ -61,9 +61,15 @@ void Assembler::emitw(uint16_t x) {
|
| }
|
|
|
|
|
| -void Assembler::emit_code_target(Handle<Code> target, RelocInfo::Mode rmode) {
|
| +void Assembler::emit_code_target(Handle<Code> target,
|
| + RelocInfo::Mode rmode,
|
| + unsigned ast_id) {
|
| ASSERT(RelocInfo::IsCodeTarget(rmode));
|
| - RecordRelocInfo(rmode);
|
| + if (rmode == RelocInfo::CODE_TARGET && ast_id != kNoASTId) {
|
| + RecordRelocInfo(RelocInfo::CODE_TARGET_WITH_ID, ast_id);
|
| + } else {
|
| + RecordRelocInfo(rmode);
|
| + }
|
| int current = code_targets_.length();
|
| if (current > 0 && code_targets_.last().is_identical_to(target)) {
|
| // Optimization if we keep jumping to the same code target.
|
|
|