Reviewers: Yang,

Description:
Unbreak interpreted regexp in light of recent zone related changes.


BUG=
TEST=


Please review this at http://codereview.chromium.org/10545157/

SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge

Affected files:
  M src/jsregexp.cc
  M src/regexp-macro-assembler-irregexp.h
  M src/regexp-macro-assembler-irregexp.cc


Index: src/jsregexp.cc
diff --git a/src/jsregexp.cc b/src/jsregexp.cc
index cd51db80a4ec3e4897d410afc44ed6d67c805531..0bd4fb4bff66876c03b9ffc1108d18e69be58860 100644
--- a/src/jsregexp.cc
+++ b/src/jsregexp.cc
@@ -5987,7 +5987,7 @@ RegExpEngine::CompilationResult RegExpEngine::Compile(
 #else  // V8_INTERPRETED_REGEXP
   // Interpreted regexp implementation.
   EmbeddedVector<byte, 1024> codes;
-  RegExpMacroAssemblerIrregexp macro_assembler(codes);
+  RegExpMacroAssemblerIrregexp macro_assembler(codes, zone);
 #endif  // V8_INTERPRETED_REGEXP

// Inserted here, instead of in Assembler, because it depends on information
Index: src/regexp-macro-assembler-irregexp.cc
diff --git a/src/regexp-macro-assembler-irregexp.cc b/src/regexp-macro-assembler-irregexp.cc index d2cd22e9ad42e241716fd87ab00545693c3386a5..16766cab0985a1712119edf513a753495c77cc74 100644
--- a/src/regexp-macro-assembler-irregexp.cc
+++ b/src/regexp-macro-assembler-irregexp.cc
@@ -38,8 +38,10 @@ namespace internal {

 #ifdef V8_INTERPRETED_REGEXP

-RegExpMacroAssemblerIrregexp::RegExpMacroAssemblerIrregexp(Vector<byte> buffer)
-    : buffer_(buffer),
+RegExpMacroAssemblerIrregexp::RegExpMacroAssemblerIrregexp(Vector<byte> buffer,
+                                                           Zone* zone)
+    : RegExpMacroAssembler(zone),
+      buffer_(buffer),
       pc_(0),
       own_buffer_(false),
       advance_current_end_(kInvalidPC) {
Index: src/regexp-macro-assembler-irregexp.h
diff --git a/src/regexp-macro-assembler-irregexp.h b/src/regexp-macro-assembler-irregexp.h index 7232342dc55f40e5ad4505710492e38b514f9b30..4bc29809bd6b901c887467161949868f64fdfbc4 100644
--- a/src/regexp-macro-assembler-irregexp.h
+++ b/src/regexp-macro-assembler-irregexp.h
@@ -48,7 +48,7 @@ class RegExpMacroAssemblerIrregexp: public RegExpMacroAssembler { // for code generation and assumes its size to be buffer_size. If the buffer // is too small, a fatal error occurs. No deallocation of the buffer is done
   // upon destruction of the assembler.
-  explicit RegExpMacroAssemblerIrregexp(Vector<byte>);
+  RegExpMacroAssemblerIrregexp(Vector<byte>, Zone* zone);
   virtual ~RegExpMacroAssemblerIrregexp();
   // The byte-code interpreter checks on each push anyway.
   virtual int stack_limit_slack() { return 1; }


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

Reply via email to