Index: src/regexp/jsregexp.cc |
diff --git a/src/regexp/jsregexp.cc b/src/regexp/jsregexp.cc |
index 8b21459059aa76a47dd9cfe3ca369a9d317be6cb..0ed3086ce674833ef973528d6943fc9f65451c10 100644 |
--- a/src/regexp/jsregexp.cc |
+++ b/src/regexp/jsregexp.cc |
@@ -1106,12 +1106,11 @@ RegExpEngine::CompilationResult RegExpCompiler::Assemble( |
RegExpNode* start, |
int capture_count, |
Handle<String> pattern) { |
- Heap* heap = pattern->GetHeap(); |
+ Isolate* isolate = pattern->GetHeap()->isolate(); |
#ifdef DEBUG |
if (FLAG_trace_regexp_assembler) |
- macro_assembler_ = |
- new RegExpMacroAssemblerTracer(isolate(), macro_assembler); |
+ macro_assembler_ = new RegExpMacroAssemblerTracer(isolate, macro_assembler); |
else |
#endif |
macro_assembler_ = macro_assembler; |
@@ -1135,11 +1134,11 @@ RegExpEngine::CompilationResult RegExpCompiler::Assemble( |
} |
Handle<HeapObject> code = macro_assembler_->GetCode(pattern); |
- heap->IncreaseTotalRegexpCodeGenerated(code->Size()); |
+ isolate->IncreaseTotalRegexpCodeGenerated(code->Size()); |
work_list_ = NULL; |
#ifdef ENABLE_DISASSEMBLER |
if (FLAG_print_code) { |
- CodeTracer::Scope trace_scope(heap->isolate()->GetCodeTracer()); |
+ CodeTracer::Scope trace_scope(isolate->GetCodeTracer()); |
OFStream os(trace_scope.file()); |
Handle<Code>::cast(code)->Disassemble(pattern->ToCString().get(), os); |
} |
@@ -6761,8 +6760,9 @@ RegExpEngine::CompilationResult RegExpEngine::Compile( |
bool RegExpEngine::TooMuchRegExpCode(Handle<String> pattern) { |
Heap* heap = pattern->GetHeap(); |
bool too_much = pattern->length() > RegExpImpl::kRegExpTooLargeToOptimize; |
- if (heap->total_regexp_code_generated() > RegExpImpl::kRegExpCompiledLimit && |
- heap->memory_allocator()->SizeExecutable() > |
+ if (heap->isolate()->total_regexp_code_generated() > |
+ RegExpImpl::kRegExpCompiledLimit && |
+ heap->CommittedMemoryExecutable() > |
RegExpImpl::kRegExpExecutableMemoryLimit) { |
too_much = true; |
} |