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

Issue 1418813008: This adds a mechanism to invalidate code that was generated in the background. The invalidation can… (Closed)

Created:
5 years, 1 month ago by srdjan
Modified:
5 years, 1 month ago
Reviewers:
siva
CC:
reviews_dartlang.org, vm-dev_dartlang.org
Base URL:
https://github.com/dart-lang/sdk.git@master
Target Ref:
refs/heads/master
Visibility:
Public.

Description

This adds a mechanism to invalidate code that was generated in the background. The invalidation can happen if a relevant event was invoked between background compilation start and installation of code (e.g, field type invalidatet, subclasses added, deferred loading). We introduce 3 invalidation generation counters: CHA, field and library prefixes. If one of the counters was incremented during compilation, and is relevant for that compilation, the code installation is skipped since that code may have become invalid in the meantime. Add BackgroundCompilationResult that remembers the 3 invalidation generations. The generational counter can rollover, which is OK. BUG= R=asiva@google.com Committed: https://github.com/dart-lang/sdk/commit/fe4a5d7672b878555b357005273877c8d71e91f0

Patch Set 1 #

Patch Set 2 : cleanup #

Patch Set 3 : f #

Total comments: 2

Patch Set 4 : Restructure #

Total comments: 2

Patch Set 5 : Add tracing of dropping code #

Total comments: 10

Patch Set 6 : Address comments #

Patch Set 7 : sync #

Unified diffs Side-by-side diffs Delta from patch set Stats (+224 lines, -40 lines) Patch
M runtime/vm/compiler.h View 1 2 3 4 5 5 chunks +44 lines, -3 lines 0 comments Download
M runtime/vm/compiler.cc View 1 2 3 4 5 14 chunks +130 lines, -25 lines 0 comments Download
M runtime/vm/isolate.h View 1 2 3 4 5 4 chunks +23 lines, -4 lines 0 comments Download
M runtime/vm/isolate.cc View 1 2 3 3 chunks +8 lines, -5 lines 0 comments Download
M runtime/vm/object.h View 1 2 3 4 5 6 1 chunk +2 lines, -0 lines 0 comments Download
M runtime/vm/object.cc View 1 2 3 4 5 6 4 chunks +15 lines, -3 lines 0 comments Download
M runtime/vm/weak_code.h View 1 chunk +1 line, -0 lines 0 comments Download
M runtime/vm/weak_code.cc View 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 7 (3 generated)
srdjan
5 years, 1 month ago (2015-10-28 22:20:00 UTC) #2
siva
lgtm https://codereview.chromium.org/1418813008/diff/40001/runtime/vm/compiler.h File runtime/vm/compiler.h (right): https://codereview.chromium.org/1418813008/diff/40001/runtime/vm/compiler.h#newcode30 runtime/vm/compiler.h:30: // Initializes with current isolate-stored invalidation generations generations. ...
5 years, 1 month ago (2015-10-29 23:42:08 UTC) #5
srdjan
https://codereview.chromium.org/1418813008/diff/40001/runtime/vm/compiler.h File runtime/vm/compiler.h (right): https://codereview.chromium.org/1418813008/diff/40001/runtime/vm/compiler.h#newcode30 runtime/vm/compiler.h:30: // Initializes with current isolate-stored invalidation generations On 2015/10/29 ...
5 years, 1 month ago (2015-10-30 17:21:12 UTC) #6
srdjan
5 years, 1 month ago (2015-10-30 19:19:06 UTC) #7
Message was sent while issue was closed.
Committed patchset #7 (id:120001) manually as
fe4a5d7672b878555b357005273877c8d71e91f0 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698