Reviewers: Sven Panne,
Description:
Remove use of Isolate::Current in regexp macro assemblers.
R=svenpa...@chromium.org
BUG=
Please review this at https://chromiumcodereview.appspot.com/16026020/
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files:
M src/arm/regexp-macro-assembler-arm.cc
M src/ia32/regexp-macro-assembler-ia32.cc
M src/mips/regexp-macro-assembler-mips.cc
M src/regexp-macro-assembler-irregexp.h
M src/regexp-macro-assembler-irregexp.cc
M src/x64/regexp-macro-assembler-x64.cc
Index: src/arm/regexp-macro-assembler-arm.cc
diff --git a/src/arm/regexp-macro-assembler-arm.cc
b/src/arm/regexp-macro-assembler-arm.cc
index
4d415ef2f6fdbd893671c18d3fc50321103444bd..f05cba521ef61f9d894b83c3b09130a78d51a633
100644
--- a/src/arm/regexp-macro-assembler-arm.cc
+++ b/src/arm/regexp-macro-assembler-arm.cc
@@ -122,7 +122,7 @@ RegExpMacroAssemblerARM::RegExpMacroAssemblerARM(
int registers_to_save,
Zone* zone)
: NativeRegExpMacroAssembler(zone),
- masm_(new MacroAssembler(Isolate::Current(), NULL, kRegExpCodeSize)),
+ masm_(new MacroAssembler(zone->isolate(), NULL, kRegExpCodeSize)),
mode_(mode),
num_registers_(registers_to_save),
num_saved_registers_(registers_to_save),
Index: src/ia32/regexp-macro-assembler-ia32.cc
diff --git a/src/ia32/regexp-macro-assembler-ia32.cc
b/src/ia32/regexp-macro-assembler-ia32.cc
index
397ebde64558149f56d028e827e7065c573f2b10..9a166d7d48341560e47bb609246a3eb5abc08e76
100644
--- a/src/ia32/regexp-macro-assembler-ia32.cc
+++ b/src/ia32/regexp-macro-assembler-ia32.cc
@@ -104,7 +104,7 @@ RegExpMacroAssemblerIA32::RegExpMacroAssemblerIA32(
int registers_to_save,
Zone* zone)
: NativeRegExpMacroAssembler(zone),
- masm_(new MacroAssembler(Isolate::Current(), NULL, kRegExpCodeSize)),
+ masm_(new MacroAssembler(zone->isolate(), NULL, kRegExpCodeSize)),
mode_(mode),
num_registers_(registers_to_save),
num_saved_registers_(registers_to_save),
Index: src/mips/regexp-macro-assembler-mips.cc
diff --git a/src/mips/regexp-macro-assembler-mips.cc
b/src/mips/regexp-macro-assembler-mips.cc
index
977f05080c03fa72125ffbd3bb5e45b60b5ef479..2961519af202b2a5416df4a4be0036fa06220611
100644
--- a/src/mips/regexp-macro-assembler-mips.cc
+++ b/src/mips/regexp-macro-assembler-mips.cc
@@ -122,7 +122,7 @@ RegExpMacroAssemblerMIPS::RegExpMacroAssemblerMIPS(
int registers_to_save,
Zone* zone)
: NativeRegExpMacroAssembler(zone),
- masm_(new MacroAssembler(Isolate::Current(), NULL, kRegExpCodeSize)),
+ masm_(new MacroAssembler(zone->isolate(), NULL, kRegExpCodeSize)),
mode_(mode),
num_registers_(registers_to_save),
num_saved_registers_(registers_to_save),
Index: src/regexp-macro-assembler-irregexp.cc
diff --git a/src/regexp-macro-assembler-irregexp.cc
b/src/regexp-macro-assembler-irregexp.cc
index
c69011f737d130eca62487f3f7ca61dc843008a9..3b9a2f66033c5f6304ee74d774e1434700a9e779
100644
--- a/src/regexp-macro-assembler-irregexp.cc
+++ b/src/regexp-macro-assembler-irregexp.cc
@@ -44,8 +44,8 @@
RegExpMacroAssemblerIrregexp::RegExpMacroAssemblerIrregexp(Vector<byte>
buffer,
buffer_(buffer),
pc_(0),
own_buffer_(false),
- advance_current_end_(kInvalidPC) {
-}
+ advance_current_end_(kInvalidPC),
+ isolate_(zone->isolate()) { }
RegExpMacroAssemblerIrregexp::~RegExpMacroAssemblerIrregexp() {
@@ -445,7 +445,7 @@ Handle<HeapObject>
RegExpMacroAssemblerIrregexp::GetCode(
Handle<String> source) {
Bind(&backtrack_);
Emit(BC_POP_BT, 0);
- Handle<ByteArray> array = FACTORY->NewByteArray(length());
+ Handle<ByteArray> array = isolate_->factory()->NewByteArray(length());
Copy(array->GetDataStartAddress());
return array;
}
Index: src/regexp-macro-assembler-irregexp.h
diff --git a/src/regexp-macro-assembler-irregexp.h
b/src/regexp-macro-assembler-irregexp.h
index
3569d8b030e9f0e9de548a91e3a271367f43a794..f8a412d4f8687b4255580ce21fa0f6e44880d8e2
100644
--- a/src/regexp-macro-assembler-irregexp.h
+++ b/src/regexp-macro-assembler-irregexp.h
@@ -134,6 +134,8 @@ class RegExpMacroAssemblerIrregexp: public
RegExpMacroAssembler {
int advance_current_offset_;
int advance_current_end_;
+ Isolate* isolate_;
+
static const int kInvalidPC = -1;
DISALLOW_IMPLICIT_CONSTRUCTORS(RegExpMacroAssemblerIrregexp);
Index: src/x64/regexp-macro-assembler-x64.cc
diff --git a/src/x64/regexp-macro-assembler-x64.cc
b/src/x64/regexp-macro-assembler-x64.cc
index
4a4a84e8024ed258f7531ae7d6d94c697bfdd8ed..efb2a65a5f5121a78def94525399ba10844d1dce
100644
--- a/src/x64/regexp-macro-assembler-x64.cc
+++ b/src/x64/regexp-macro-assembler-x64.cc
@@ -120,7 +120,7 @@ RegExpMacroAssemblerX64::RegExpMacroAssemblerX64(
int registers_to_save,
Zone* zone)
: NativeRegExpMacroAssembler(zone),
- masm_(Isolate::Current(), NULL, kRegExpCodeSize),
+ masm_(zone->isolate(), NULL, kRegExpCodeSize),
no_root_array_scope_(&masm_),
code_relative_fixup_positions_(4, zone),
mode_(mode),
--
--
v8-dev mailing list
v8-dev@googlegroups.com
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to v8-dev+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.