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