| Index: src/x64/assembler-x64.cc
|
| diff --git a/src/x64/assembler-x64.cc b/src/x64/assembler-x64.cc
|
| index 1f5bea9420e3f3d688021c9d880f226c68ef5fe1..d3e2a4f7215513d7046767478909e9dc46cbf11c 100644
|
| --- a/src/x64/assembler-x64.cc
|
| +++ b/src/x64/assembler-x64.cc
|
| @@ -346,48 +346,20 @@ bool Operand::AddressUsesRegister(Register reg) const {
|
| static void InitCoverageLog();
|
| #endif
|
|
|
| -Assembler::Assembler(Isolate* arg_isolate, void* buffer, int buffer_size)
|
| - : AssemblerBase(arg_isolate),
|
| +Assembler::Assembler(Isolate* isolate, void* buffer, int buffer_size)
|
| + : AssemblerBase(isolate, buffer, buffer_size),
|
| code_targets_(100),
|
| positions_recorder_(this) {
|
| - if (buffer == NULL) {
|
| - // Do our own buffer management.
|
| - if (buffer_size <= kMinimalBufferSize) {
|
| - buffer_size = kMinimalBufferSize;
|
| -
|
| - if (isolate() != NULL && isolate()->assembler_spare_buffer() != NULL) {
|
| - buffer = isolate()->assembler_spare_buffer();
|
| - isolate()->set_assembler_spare_buffer(NULL);
|
| - }
|
| - }
|
| - if (buffer == NULL) {
|
| - buffer_ = NewArray<byte>(buffer_size);
|
| - } else {
|
| - buffer_ = static_cast<byte*>(buffer);
|
| - }
|
| - buffer_size_ = buffer_size;
|
| - own_buffer_ = true;
|
| - } else {
|
| - // Use externally provided buffer instead.
|
| - ASSERT(buffer_size > 0);
|
| - buffer_ = static_cast<byte*>(buffer);
|
| - buffer_size_ = buffer_size;
|
| - own_buffer_ = false;
|
| - }
|
| -
|
| // 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
|
| // existing code in it.
|
| #ifdef DEBUG
|
| if (own_buffer_) {
|
| - memset(buffer_, 0xCC, buffer_size); // int3
|
| + memset(buffer_, 0xCC, buffer_size_); // int3
|
| }
|
| #endif
|
|
|
| - // Set up buffer pointers.
|
| - ASSERT(buffer_ != NULL);
|
| - pc_ = buffer_;
|
| - reloc_info_writer.Reposition(buffer_ + buffer_size, pc_);
|
| + reloc_info_writer.Reposition(buffer_ + buffer_size_, pc_);
|
|
|
|
|
| #ifdef GENERATED_CODE_COVERAGE
|
| @@ -396,19 +368,6 @@ Assembler::Assembler(Isolate* arg_isolate, void* buffer, int buffer_size)
|
| }
|
|
|
|
|
| -Assembler::~Assembler() {
|
| - if (own_buffer_) {
|
| - if (isolate() != NULL &&
|
| - isolate()->assembler_spare_buffer() == NULL &&
|
| - buffer_size_ == kMinimalBufferSize) {
|
| - isolate()->set_assembler_spare_buffer(buffer_);
|
| - } else {
|
| - DeleteArray(buffer_);
|
| - }
|
| - }
|
| -}
|
| -
|
| -
|
| void Assembler::GetCode(CodeDesc* desc) {
|
| // Finalize code (at this point overflow() may be true, but the gap ensures
|
| // that we are still not overlapping instructions and relocation info).
|
|
|