#else // V8_INTERPRETED_REGEXP
// Interpreted regexp implementation.
EmbeddedVector<byte, 1024> codes;
- RegExpMacroAssemblerIrregexp macro_assembler(codes, zone);
+ RegExpMacroAssemblerIrregexp macro_assembler(isolate, codes, zone);
#endif // V8_INTERPRETED_REGEXP
macro_assembler.set_slow_safe(TooMuchRegExpCode(pattern));
#ifdef V8_INTERPRETED_REGEXP
-RegExpMacroAssemblerIrregexp::RegExpMacroAssemblerIrregexp(Vector<byte> buffer,
+RegExpMacroAssemblerIrregexp::RegExpMacroAssemblerIrregexp(Isolate* isolate,
+ Vector<byte> buffer,
Zone* zone)
- : RegExpMacroAssembler(zone),
+ : RegExpMacroAssembler(isolate, zone),
buffer_(buffer),
pc_(0),
own_buffer_(false),
advance_current_end_(kInvalidPC),
- isolate_(zone->isolate()) { }
+ isolate_(isolate) {}
RegExpMacroAssemblerIrregexp::~RegExpMacroAssemblerIrregexp() {
// 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.
- RegExpMacroAssemblerIrregexp(Vector<byte>, Zone* zone);
+ RegExpMacroAssemblerIrregexp(Isolate* isolate, Vector<byte> buffer,
+ Zone* zone);
virtual ~RegExpMacroAssemblerIrregexp();
// The byte-code interpreter checks on each push anyway.
virtual int stack_limit_slack() { return 1; }
TEST(MacroAssembler) {
byte codes[1024];
- Zone zone(CcTest::i_isolate());
- RegExpMacroAssemblerIrregexp m(Vector<byte>(codes, 1024), &zone);
+ Zone zone;
+ RegExpMacroAssemblerIrregexp m(CcTest::i_isolate(), Vector<byte>(codes, 1024),
+ &zone);
// ^f(o)o.
Label start, fail, backtrack;