Chromium Code Reviews| Index: src/x64/assembler-x64.cc |
| =================================================================== |
| --- src/x64/assembler-x64.cc (revision 12237) |
| +++ src/x64/assembler-x64.cc (working copy) |
| @@ -350,7 +350,8 @@ |
| : AssemblerBase(arg_isolate), |
| code_targets_(100), |
| positions_recorder_(this), |
| - emit_debug_code_(FLAG_debug_code) { |
| + emit_debug_code_(FLAG_debug_code), |
| + predictable_code_size_(false) { |
| if (buffer == NULL) { |
| // Do our own buffer management. |
| if (buffer_size <= kMinimalBufferSize) { |
| @@ -1234,7 +1235,7 @@ |
| const int long_size = 6; |
| int offs = L->pos() - pc_offset(); |
| ASSERT(offs <= 0); |
| - if (is_int8(offs - short_size)) { |
| + if (is_int8(offs - short_size) && !predictable_code_size_) { |
|
Jakob Kummerow
2012/07/31 14:44:58
A comment would be nice about why we have to disab
|
| // 0111 tttn #8-bit disp. |
| emit(0x70 | cc); |
| emit((offs - short_size) & 0xFF); |
| @@ -1291,7 +1292,7 @@ |
| if (L->is_bound()) { |
| int offs = L->pos() - pc_offset() - 1; |
| ASSERT(offs <= 0); |
| - if (is_int8(offs - short_size)) { |
| + if (is_int8(offs - short_size) && !predictable_code_size_) { |
| // 1110 1011 #8-bit disp. |
| emit(0xEB); |
| emit((offs - short_size) & 0xFF); |