Revision: 3756
Author: [email protected]
Date: Mon Feb  1 05:07:53 2010
Log: Allow the optimizing compiler to use an existing macro assembler.

This is the first towards using the optimizing compiler for split
compilation bailouts.
Review URL: http://codereview.chromium.org/557079
http://code.google.com/p/v8/source/detail?r=3756

Modified:
 /branches/bleeding_edge/src/arm/codegen-arm.cc
 /branches/bleeding_edge/src/arm/codegen-arm.h
 /branches/bleeding_edge/src/codegen.cc
 /branches/bleeding_edge/src/ia32/codegen-ia32.cc
 /branches/bleeding_edge/src/ia32/codegen-ia32.h
 /branches/bleeding_edge/src/x64/codegen-x64.cc
 /branches/bleeding_edge/src/x64/codegen-x64.h

=======================================
--- /branches/bleeding_edge/src/arm/codegen-arm.cc      Fri Jan 29 04:41:11 2010
+++ /branches/bleeding_edge/src/arm/codegen-arm.cc      Mon Feb  1 05:07:53 2010
@@ -121,12 +121,13 @@
// -------------------------------------------------------------------------
 // CodeGenerator implementation

-CodeGenerator::CodeGenerator(int buffer_size, Handle<Script> script,
+CodeGenerator::CodeGenerator(MacroAssembler* masm,
+                             Handle<Script> script,
                              bool is_eval)
     : is_eval_(is_eval),
       script_(script),
       deferred_(8),
-      masm_(new MacroAssembler(NULL, buffer_size)),
+      masm_(masm),
       scope_(NULL),
       frame_(NULL),
       allocator_(NULL),
=======================================
--- /branches/bleeding_edge/src/arm/codegen-arm.h       Fri Jan 29 03:55:40 2010
+++ /branches/bleeding_edge/src/arm/codegen-arm.h       Mon Feb  1 05:07:53 2010
@@ -203,8 +203,7 @@

  private:
   // Construction/Destruction
-  CodeGenerator(int buffer_size, Handle<Script> script, bool is_eval);
-  virtual ~CodeGenerator() { delete masm_; }
+  CodeGenerator(MacroAssembler* masm, Handle<Script> script, bool is_eval);

   // Accessors
   Scope* scope() const { return scope_; }
=======================================
--- /branches/bleeding_edge/src/codegen.cc      Fri Jan 29 04:41:11 2010
+++ /branches/bleeding_edge/src/codegen.cc      Mon Feb  1 05:07:53 2010
@@ -225,7 +225,8 @@
   MakeCodePrologue(fun);
   // Generate code.
   const int kInitialBufferSize = 4 * KB;
-  CodeGenerator cgen(kInitialBufferSize, script, is_eval);
+  MacroAssembler masm(NULL, kInitialBufferSize);
+  CodeGenerator cgen(&masm, script, is_eval);
   CodeGeneratorScope scope(&cgen);
   cgen.GenCode(fun, info);
   if (cgen.HasStackOverflow()) {
=======================================
--- /branches/bleeding_edge/src/ia32/codegen-ia32.cc Mon Feb 1 00:35:38 2010 +++ /branches/bleeding_edge/src/ia32/codegen-ia32.cc Mon Feb 1 05:07:53 2010
@@ -103,13 +103,13 @@
// -------------------------------------------------------------------------
 // CodeGenerator implementation

-CodeGenerator::CodeGenerator(int buffer_size,
+CodeGenerator::CodeGenerator(MacroAssembler* masm,
                              Handle<Script> script,
                              bool is_eval)
     : is_eval_(is_eval),
       script_(script),
       deferred_(8),
-      masm_(new MacroAssembler(NULL, buffer_size)),
+      masm_(masm),
       scope_(NULL),
       frame_(NULL),
       allocator_(NULL),
=======================================
--- /branches/bleeding_edge/src/ia32/codegen-ia32.h     Fri Jan 29 03:55:40 2010
+++ /branches/bleeding_edge/src/ia32/codegen-ia32.h     Mon Feb  1 05:07:53 2010
@@ -343,8 +343,7 @@

  private:
   // Construction/Destruction
-  CodeGenerator(int buffer_size, Handle<Script> script, bool is_eval);
-  virtual ~CodeGenerator() { delete masm_; }
+  CodeGenerator(MacroAssembler* masm, Handle<Script> script, bool is_eval);

   // Accessors
   Scope* scope() const { return scope_; }
=======================================
--- /branches/bleeding_edge/src/x64/codegen-x64.cc      Fri Jan 29 04:41:11 2010
+++ /branches/bleeding_edge/src/x64/codegen-x64.cc      Mon Feb  1 05:07:53 2010
@@ -246,13 +246,13 @@
// -----------------------------------------------------------------------------
 // CodeGenerator implementation.

-CodeGenerator::CodeGenerator(int buffer_size,
+CodeGenerator::CodeGenerator(MacroAssembler* masm,
                              Handle<Script> script,
                              bool is_eval)
     : is_eval_(is_eval),
       script_(script),
       deferred_(8),
-      masm_(new MacroAssembler(NULL, buffer_size)),
+      masm_(masm),
       scope_(NULL),
       frame_(NULL),
       allocator_(NULL),
=======================================
--- /branches/bleeding_edge/src/x64/codegen-x64.h       Fri Jan 29 03:55:40 2010
+++ /branches/bleeding_edge/src/x64/codegen-x64.h       Mon Feb  1 05:07:53 2010
@@ -343,8 +343,7 @@

  private:
   // Construction/Destruction
-  CodeGenerator(int buffer_size, Handle<Script> script, bool is_eval);
-  virtual ~CodeGenerator() { delete masm_; }
+  CodeGenerator(MacroAssembler* masm, Handle<Script> script, bool is_eval);

   // Accessors
   Scope* scope() const { return scope_; }

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

Reply via email to