| Index: src/x64/assembler-x64.cc
|
| diff --git a/src/x64/assembler-x64.cc b/src/x64/assembler-x64.cc
|
| index f2c05d621202ba2330e9c4a0c12a58296cb037ed..0700312ad1b91239c4ad0e3ce3ed54cc84086e16 100644
|
| --- a/src/x64/assembler-x64.cc
|
| +++ b/src/x64/assembler-x64.cc
|
| @@ -350,8 +350,7 @@ Assembler::Assembler(Isolate* arg_isolate, void* buffer, int buffer_size)
|
| : AssemblerBase(arg_isolate),
|
| code_targets_(100),
|
| positions_recorder_(this),
|
| - emit_debug_code_(FLAG_debug_code),
|
| - predictable_code_size_(false) {
|
| + emit_debug_code_(FLAG_debug_code) {
|
| if (buffer == NULL) {
|
| // Do our own buffer management.
|
| if (buffer_size <= kMinimalBufferSize) {
|
| @@ -1238,13 +1237,13 @@ void Assembler::j(Condition cc, Label* L, Label::Distance distance) {
|
| // Determine whether we can use 1-byte offsets for backwards branches,
|
| // which have a max range of 128 bytes.
|
|
|
| - // We also need to check the predictable_code_size_ flag here, because
|
| - // on x64, when the full code generator recompiles code for debugging, some
|
| - // places need to be padded out to a certain size. The debugger is keeping
|
| - // track of how often it did this so that it can adjust return addresses on
|
| - // the stack, but if the size of jump instructions can also change, that's
|
| - // not enough and the calculated offsets would be incorrect.
|
| - if (is_int8(offs - short_size) && !predictable_code_size_) {
|
| + // We also need to check predictable_code_size() flag here, because on x64,
|
| + // when the full code generator recompiles code for debugging, some places
|
| + // need to be padded out to a certain size. The debugger is keeping track of
|
| + // how often it did this so that it can adjust return addresses on the
|
| + // stack, but if the size of jump instructions can also change, that's not
|
| + // enough and the calculated offsets would be incorrect.
|
| + if (is_int8(offs - short_size) && !predictable_code_size()) {
|
| // 0111 tttn #8-bit disp.
|
| emit(0x70 | cc);
|
| emit((offs - short_size) & 0xFF);
|
| @@ -1301,7 +1300,7 @@ void Assembler::jmp(Label* L, Label::Distance distance) {
|
| if (L->is_bound()) {
|
| int offs = L->pos() - pc_offset() - 1;
|
| ASSERT(offs <= 0);
|
| - if (is_int8(offs - short_size) && !predictable_code_size_) {
|
| + if (is_int8(offs - short_size) && !predictable_code_size()) {
|
| // 1110 1011 #8-bit disp.
|
| emit(0xEB);
|
| emit((offs - short_size) & 0xFF);
|
|
|