Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(105)

Unified Diff: src/liveedit.cc

Issue 10534139: One Zone per CompilationInfo. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 8 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/liveedit.cc
diff --git a/src/liveedit.cc b/src/liveedit.cc
index e670b442b6d5033c4734d307a3cc74c9d094d537..dfe6264520f90cf7605742bda3b5c3f78bc79df9 100644
--- a/src/liveedit.cc
+++ b/src/liveedit.cc
@@ -601,7 +601,9 @@ static void CompileScriptForTracker(Isolate* isolate, Handle<Script> script) {
PostponeInterruptsScope postpone(isolate);
// Build AST.
- CompilationInfo info(script);
+ Zone zone(isolate);
+ CompilationInfo info(script, &zone);
+ ZoneScope scope(&zone, DELETE_ON_EXIT);
info.MarkAsGlobal();
// Parse and don't allow skipping lazy functions.
if (ParserApi::Parse(&info, kNoParsingFlags)) {
@@ -894,7 +896,6 @@ class FunctionInfoListener {
JSArray* LiveEdit::GatherCompileInfo(Handle<Script> script,
Handle<String> source) {
Isolate* isolate = Isolate::Current();
- ZoneScope zone_scope(isolate, DELETE_ON_EXIT);
FunctionInfoListener listener;
Handle<Object> original_source = Handle<Object>(script->source());
@@ -993,10 +994,11 @@ static void ReplaceCodeObject(Code* original, Code* substitution) {
HeapIterator iterator;
AssertNoAllocation no_allocations_please;
+ Zone* zone = Isolate::Current()->runtime_zone();
// A zone scope for ReferenceCollectorVisitor.
- ZoneScope scope(Isolate::Current(), DELETE_ON_EXIT);
+ ZoneScope scope(zone, DELETE_ON_EXIT);
- ReferenceCollectorVisitor visitor(original, Isolate::Current()->zone());
+ ReferenceCollectorVisitor visitor(original, zone);
// Iterate over all roots. Stack frames may have pointer into original code,
// so temporary replace the pointers with offset numbers
@@ -1602,7 +1604,7 @@ static const char* DropActivationsInActiveThread(
Zone* zone) {
Isolate* isolate = Isolate::Current();
Debug* debug = isolate->debug();
- ZoneScope scope(isolate, DELETE_ON_EXIT);
+ ZoneScope scope(zone, DELETE_ON_EXIT);
Vector<StackFrame*> frames = CreateStackMap(zone);
int array_len = Smi::cast(shared_info_array->length())->value();

Powered by Google App Engine
This is Rietveld 408576698