Revision: 7478
Author:   [email protected]
Date:     Fri Apr  1 06:15:27 2011
Log:      Allow construction of x64 Assembler with a NULL Isolate.

BUG=
TEST=

Review URL: http://codereview.chromium.org/6771049
http://code.google.com/p/v8/source/detail?r=7478

Modified:
 /branches/bleeding_edge/src/x64/assembler-x64.cc
 /branches/bleeding_edge/src/x64/codegen-x64.cc

=======================================
--- /branches/bleeding_edge/src/x64/assembler-x64.cc Fri Apr 1 06:07:37 2011 +++ /branches/bleeding_edge/src/x64/assembler-x64.cc Fri Apr 1 06:15:27 2011
@@ -354,7 +354,7 @@
     if (buffer_size <= kMinimalBufferSize) {
       buffer_size = kMinimalBufferSize;

-      if (isolate()->assembler_spare_buffer() != NULL) {
+ if (isolate() != NULL && isolate()->assembler_spare_buffer() != NULL) {
         buffer = isolate()->assembler_spare_buffer();
         isolate()->set_assembler_spare_buffer(NULL);
       }
@@ -397,7 +397,8 @@

 Assembler::~Assembler() {
   if (own_buffer_) {
-    if (isolate()->assembler_spare_buffer() == NULL &&
+    if (isolate() != NULL &&
+        isolate()->assembler_spare_buffer() == NULL &&
         buffer_size_ == kMinimalBufferSize) {
       isolate()->set_assembler_spare_buffer(buffer_);
     } else {
@@ -518,7 +519,8 @@
           reloc_info_writer.pos(), desc.reloc_size);

   // Switch buffers.
-  if (isolate()->assembler_spare_buffer() == NULL &&
+  if (isolate() != NULL &&
+      isolate()->assembler_spare_buffer() == NULL &&
       buffer_size_ == kMinimalBufferSize) {
     isolate()->set_assembler_spare_buffer(buffer_);
   } else {
=======================================
--- /branches/bleeding_edge/src/x64/codegen-x64.cc      Fri Apr  1 04:21:46 2011
+++ /branches/bleeding_edge/src/x64/codegen-x64.cc      Fri Apr  1 06:15:27 2011
@@ -8755,7 +8755,7 @@
                                                  &actual_size,
                                                  true));
   CHECK(buffer);
- Assembler masm(Isolate::Current(), buffer, static_cast<int>(actual_size));
+  Assembler masm(NULL, buffer, static_cast<int>(actual_size));
   // Generated code is put into a fixed, unmovable, buffer, and not into
   // the V8 heap. We can't, and don't, refer to any relocatable addresses
   // (e.g. the JavaScript nan-object).

--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to