dart-sdk/runtime
Kevin Millikin 865e0669b2 Move the Kernel string offsets into the VM's heap.
Copy the Kernel string offsets into a uint32 array in the VM's heap.
This avoids allocating small string objects with new and avoids having
a table of the canonical strings.

Instead of an offset and a size, strings are now represented as
indexes into the string table in the heap.  The start offset of string
N is found at byte offset N*4 because it is a uint32, and the end
offset is found at byte offset (N+1)*4.  The strings themselves are
just integer indexes instead of pointers.

In the stream flow graph builder, string access is all random access.

R=jensj@google.com, vegorov@google.com

Review-Url: https://codereview.chromium.org/2852943003 .
2017-05-02 17:35:55 +02:00
..
bin Dart SDK Spelling b, c, and d. 2017-05-01 08:28:10 +02:00
include Fix include paths in runtime/include (#29362) 2017-04-17 11:04:47 -07:00
lib Make json-maps implement Map<String, dynamic>. 2017-05-02 14:51:32 +02:00
observatory [Gardening] Revert status file change for contexts_test on dartk after reverting 7a463a 2017-05-02 16:53:38 +02:00
platform Dart SDK Spelling b, c, and d. 2017-05-01 08:28:10 +02:00
tests/vm Dart SDK Spelling b, c, and d. 2017-05-01 08:28:10 +02:00
third_party Dart SDK Spelling b, c, and d. 2017-05-01 08:28:10 +02:00
tools Add more safe points in compiler. 2017-03-31 11:19:46 +02:00
vm Move the Kernel string offsets into the VM's heap. 2017-05-02 17:35:55 +02:00
.gitignore
BUILD.gn [Fuchsia] Grab the number of malloc'd bytes from jemalloc 2017-04-19 15:51:02 -07:00
codereview.settings
CPPLINT.cfg
dart-runtime.gyp
PRESUBMIT.py
runtime_args.gni