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

Issue 2901103004: Experimental code to detect transitive closure of parser code which causes new-space allocations

Created:
3 years, 6 months ago by kustermann
Modified:
3 years, 6 months ago
Reviewers:
CC:
reviews_dartlang.org, vm-dev_dartlang.org
Target Ref:
refs/heads/master
Visibility:
Public.

Description

Experimental code to detect transitive closure of parser code which causes new-space allocations This CL adds a `Thread::inside_parser_` field which is used for keeping track of whether upper frames are inside the parser or not. The field is kept up-to-date via `EnterParserScope`/`LeaveParserScope` and is checked in Dart heap allocation code to ensure we never allocate in Heap::kNew from parser (or transitively called code) -- (the Parser::allocation_space_ has been fixed to Heap::kOld for this purpose). -> This code allows us to see all Heap::kNew allocation sites transitively reachable by the parser. (not to be committed)

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+76 lines, -9 lines) Patch
M runtime/vm/object.cc View 2 chunks +2 lines, -0 lines 0 comments Download
M runtime/vm/parser.h View 2 chunks +19 lines, -0 lines 0 comments Download
M runtime/vm/parser.cc View 9 chunks +50 lines, -9 lines 0 comments Download
M runtime/vm/thread.h View 2 chunks +4 lines, -0 lines 0 comments Download
M runtime/vm/thread.cc View 1 chunk +1 line, -0 lines 0 comments Download

Powered by Google App Engine
This is Rietveld 408576698