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

Issue 2514373002: VM: [Kernel] Cherry-pick from dart-lang/kernel_sdk (Closed)

Created:
4 years, 1 month ago by kustermann
Modified:
4 years, 1 month ago
CC:
reviews_dartlang.org, vm-dev_dartlang.org
Target Ref:
refs/heads/master
Visibility:
Public.

Description

VM: [Kernel] Cherry-pick from dart-lang/kernel_sdk Fix a trio of issues in type finalization. 1. We were using is_type_finalized to detect classes that had already been initialized by DilReader::ReadPreliminaryClass. This state is not guaranteed by this function, however is_cycle_free is. 2. In the VM, classes that were created type finalized were not marked as cycle free because finalization did not consider them so cycle-freeness didn't matter. We would therefore try to initialize these classes with DilReader::ReadPreliminaryClass and mutate types in them. This causes them to have unfinalized types but still have is_type_finalized true. 3. Types in top-level procedures were not necessarily finalized. A simple way to achieve this is to finalize each library's top-level class. Review URL: https://chromereviews.googleplex.com/520437013 . R=kmillikin@google.com Committed: https://github.com/dart-lang/sdk/commit/63af3f56ee9f8ff54c575a76cf6a3b124cac40bb

Patch Set 1 #

Total comments: 2

Patch Set 2 : Remove KernelReader::_bootstrapping flag and related code #

Patch Set 3 : Rebased #

Unified diffs Side-by-side diffs Delta from patch set Stats (+19 lines, -21 lines) Patch
M runtime/vm/bootstrap.cc View 1 2 1 chunk +1 line, -1 line 0 comments Download
M runtime/vm/bootstrap_nocore.cc View 1 2 1 chunk +1 line, -1 line 0 comments Download
M runtime/vm/class_finalizer.cc View 1 chunk +1 line, -0 lines 0 comments Download
M runtime/vm/kernel_reader.h View 1 2 3 chunks +1 line, -4 lines 0 comments Download
M runtime/vm/kernel_reader.cc View 1 2 5 chunks +5 lines, -10 lines 0 comments Download
M runtime/vm/object.cc View 1 2 5 chunks +10 lines, -3 lines 0 comments Download
M tests/language/language_kernel.status View 2 chunks +0 lines, -2 lines 0 comments Download

Messages

Total messages: 6 (2 generated)
kustermann
4 years, 1 month ago (2016-11-21 14:46:54 UTC) #2
Kevin Millikin (Google)
LGTM when my comment is addressed. https://codereview.chromium.org/2514373002/diff/1/runtime/vm/kernel_reader.cc File runtime/vm/kernel_reader.cc (right): https://codereview.chromium.org/2514373002/diff/1/runtime/vm/kernel_reader.cc#newcode206 runtime/vm/kernel_reader.cc:206: classes.Add(ReadClass(library, kernel_klass), Heap::kOld); ...
4 years, 1 month ago (2016-11-21 15:00:11 UTC) #3
kustermann
https://codereview.chromium.org/2514373002/diff/1/runtime/vm/kernel_reader.cc File runtime/vm/kernel_reader.cc (right): https://codereview.chromium.org/2514373002/diff/1/runtime/vm/kernel_reader.cc#newcode206 runtime/vm/kernel_reader.cc:206: classes.Add(ReadClass(library, kernel_klass), Heap::kOld); On 2016/11/21 15:00:11, Kevin Millikin (Google) ...
4 years, 1 month ago (2016-11-21 15:30:05 UTC) #4
kustermann
4 years, 1 month ago (2016-11-21 15:38:38 UTC) #6
Message was sent while issue was closed.
Committed patchset #3 (id:40001) manually as
63af3f56ee9f8ff54c575a76cf6a3b124cac40bb (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698