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

Issue 2820363002: Move Kernel strings into the VM's heap. (Closed)

Created:
3 years, 8 months ago by Kevin Millikin (Google)
Modified:
3 years, 8 months ago
Reviewers:
jensj, kustermann
CC:
reviews_dartlang.org, vm-dev_dartlang.org
Target Ref:
refs/heads/master
Visibility:
Public.

Description

Move Kernel strings into the VM's heap. - Instead of a pointer to new'd memory, Kernel strings now have an offset from the start of the string data. - When the streaming reader encounters the string data it records the offset from the start of the binary. This offset is stored in the Kernel Program and is used to compute the offset for strings. - When a KernelReader is constructed, the string data is copied into a Uint8 array in the VM's heap. - A pointer to the string data is put into every Kernel script so it can be used for constructing VM strings at compile time. The source table does not use Kernel strings any more because those strings are not found in the raw string data. Instead, the source table uses new'd buffers for strings (but this will be cleaned up separately). R=jensj@google.com Committed: https://github.com/dart-lang/sdk/commit/2e794c4e16a839afc0664c20e142eb82ccf9be7e

Patch Set 1 #

Total comments: 4

Patch Set 2 : Incorporate review comments. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+538 lines, -393 lines) Patch
M pkg/kernel/binary.md View 1 chunk +1 line, -1 line 0 comments Download
M runtime/vm/bootstrap.cc View 2 chunks +1 line, -2 lines 0 comments Download
M runtime/vm/bootstrap_nocore.cc View 2 chunks +1 line, -2 lines 0 comments Download
M runtime/vm/kernel.h View 6 chunks +43 lines, -73 lines 0 comments Download
M runtime/vm/kernel.cc View 2 chunks +12 lines, -153 lines 0 comments Download
M runtime/vm/kernel_binary.h View 3 chunks +14 lines, -1 line 0 comments Download
M runtime/vm/kernel_binary.cc View 1 6 chunks +43 lines, -27 lines 0 comments Download
M runtime/vm/kernel_binary_flowgraph.cc View 11 chunks +63 lines, -25 lines 0 comments Download
M runtime/vm/kernel_reader.h View 1 chunk +6 lines, -0 lines 0 comments Download
M runtime/vm/kernel_reader.cc View 10 chunks +51 lines, -33 lines 0 comments Download
M runtime/vm/kernel_to_il.h View 6 chunks +34 lines, -25 lines 0 comments Download
M runtime/vm/kernel_to_il.cc View 27 chunks +258 lines, -46 lines 0 comments Download
M runtime/vm/object.h View 1 1 chunk +3 lines, -0 lines 0 comments Download
M runtime/vm/object.cc View 1 2 chunks +7 lines, -5 lines 0 comments Download
M runtime/vm/raw_object.h View 1 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 6 (2 generated)
Kevin Millikin (Google)
This is a step toward moving the Kernel strings, canonical names, and method bodies into ...
3 years, 8 months ago (2017-04-18 13:41:02 UTC) #2
jensj
lgtm https://codereview.chromium.org/2820363002/diff/1/runtime/vm/kernel_binary.cc File runtime/vm/kernel_binary.cc (right): https://codereview.chromium.org/2820363002/diff/1/runtime/vm/kernel_binary.cc#newcode181 runtime/vm/kernel_binary.cc:181: uint8_t* buffer = new uint8_t[length]; nit: "buffer" is ...
3 years, 8 months ago (2017-04-19 06:41:01 UTC) #3
Kevin Millikin (Google)
https://codereview.chromium.org/2820363002/diff/1/runtime/vm/kernel_binary.cc File runtime/vm/kernel_binary.cc (right): https://codereview.chromium.org/2820363002/diff/1/runtime/vm/kernel_binary.cc#newcode181 runtime/vm/kernel_binary.cc:181: uint8_t* buffer = new uint8_t[length]; On 2017/04/19 06:41:01, jensj ...
3 years, 8 months ago (2017-04-21 08:22:12 UTC) #4
Kevin Millikin (Google)
3 years, 8 months ago (2017-04-21 08:32:56 UTC) #6
Message was sent while issue was closed.
Committed patchset #2 (id:20001) manually as
2e794c4e16a839afc0664c20e142eb82ccf9be7e (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698