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