dart-sdk/runtime/lib
Erik Corry 8378b8fdbf VM: Reland Inline instance object hash code into object header on 64bit.
Inline instance object hash code into object header on 64 bit.

64 bit objects have 32 bits of free space in the header word.
This is used for the hash code in string objects. We take it
for the default hash code on all objects that don't override
the hashCode getter.

This is both faster and a memory reduction. Eg it makes the
MegaHashCode part of the Megamorphic benchmark 6 times faster.

This is a reland of https://codereview.chromium.org/2912863006/
It fixes issues with the 32 bit compare-swap instruction on
ARM64 and fixes a fragile tree shaking test that is sensitive
to which private methods are in the core libraries.

R=kustermann@google.com, vegorov@google.com
BUG=

Review-Url: https://codereview.chromium.org/2954453002 .
2017-06-22 14:56:24 +02:00
..
array.cc
array.dart Revert "Fix observatory tests broken by running dartfmt." 2017-03-21 10:07:26 -07:00
array_patch.dart The current growth strategy for growable arrays allocates a backing array of size 2 at (empty) creation and doubles the size whenever the capacity is insufficient while adding elements. 2017-06-22 10:51:54 +02:00
async.cc Debugger support for step-into async and async* functions. 2017-03-24 07:56:50 -07:00
async_patch.dart Cleanups needed for async step-out 2017-03-27 15:18:41 -07:00
async_sources.gypi Debugger support for step-into async and async* functions. 2017-03-24 07:56:50 -07:00
bigint.dart Revert "Fix observatory tests broken by running dartfmt." 2017-03-21 10:07:26 -07:00
bool.cc
bool_patch.dart Revert "Fix observatory tests broken by running dartfmt." 2017-03-21 10:07:26 -07:00
class_id.cc
class_id.dart
collection_patch.dart Revert "Fix observatory tests broken by running dartfmt." 2017-03-21 10:07:26 -07:00
collection_sources.gypi
compact_hash.dart Revert "Fix observatory tests broken by running dartfmt." 2017-03-21 10:07:26 -07:00
convert_patch.dart Make json-maps implement Map<String, dynamic>. 2017-05-02 14:51:32 +02:00
convert_sources.gypi
core_patch.dart Revert "Fix observatory tests broken by running dartfmt." 2017-03-21 10:07:26 -07:00
core_sources.gypi
date.cc
date_patch.dart Revert "Fix observatory tests broken by running dartfmt." 2017-03-21 10:07:26 -07:00
deferred_load_patch.dart Revert "Fix observatory tests broken by running dartfmt." 2017-03-21 10:07:26 -07:00
developer.cc
developer.dart Revert "Fix observatory tests broken by running dartfmt." 2017-03-21 10:07:26 -07:00
developer_sources.gypi
double.cc Move runtime functions to the more logical runtime_entry.cc. 2017-04-19 10:22:04 -07:00
double.dart Revert "Fix observatory tests broken by running dartfmt." 2017-03-21 10:07:26 -07:00
double_patch.dart Revert "Fix observatory tests broken by running dartfmt." 2017-03-21 10:07:26 -07:00
empty_source.dart
errors.cc Fix asserts in StackFrameIterator which were effectively disabled 2017-05-03 10:27:01 +02:00
errors_patch.dart [kernel] Make fasta call a new constructor on FallThroughError 2017-06-21 08:40:59 +02:00
expando_patch.dart Revert "Fix observatory tests broken by running dartfmt." 2017-03-21 10:07:26 -07:00
function.cc Pass type argument vector to generic functions (if --reify-generic-functions is 2017-05-18 14:03:47 -07:00
function.dart Remove parent_level field of function type parameters. 2017-04-17 08:58:24 -07:00
function_patch.dart Check for a passed-in type argument vector in the prolog of generic functions. 2017-06-21 09:02:16 -07:00
growable_array.cc The current growth strategy for growable arrays allocates a backing array of size 2 at (empty) creation and doubles the size whenever the capacity is insufficient while adding elements. 2017-06-22 10:51:54 +02:00
growable_array.dart The current growth strategy for growable arrays allocates a backing array of size 2 at (empty) creation and doubles the size whenever the capacity is insufficient while adding elements. 2017-06-22 10:51:54 +02:00
identical.cc
identical_patch.dart Revert "Fix observatory tests broken by running dartfmt." 2017-03-21 10:07:26 -07:00
immutable_map.dart Revert "Fix observatory tests broken by running dartfmt." 2017-03-21 10:07:26 -07:00
integers.cc
integers.dart Reland "VM: Handle null-comparisons in the flow graph type propagation" 2017-03-31 15:39:01 -07:00
integers_patch.dart The formatter struggles a bit with these files. 2017-03-21 18:00:52 -07:00
internal_patch.dart Check for a passed-in type argument vector in the prolog of generic functions. 2017-06-21 09:02:16 -07:00
internal_sources.gypi
invocation_mirror.h
invocation_mirror_patch.dart Improve NSM handling. 2017-06-07 09:28:13 +02:00
isolate.cc CoreJIT snapshots without training. 2017-05-31 13:49:12 -07:00
isolate_patch.dart Revert "Fix observatory tests broken by running dartfmt." 2017-03-21 10:07:26 -07:00
isolate_sources.gypi
lib_prefix.dart
libgen_in.cc
linked_hash_map.cc
map_patch.dart Revert "Fix observatory tests broken by running dartfmt." 2017-03-21 10:07:26 -07:00
math.cc
math_patch.dart Move Dart versions of math.min() and math.max() into VM patch file. 2017-05-05 15:15:21 -07:00
math_sources.gypi
mirror_reference.dart
mirrors.cc [kernel] Stream everything. Replace .kernel_function with .kernel_offset 2017-06-14 10:59:57 +02:00
mirrors.h
mirrors_impl.dart Keep types in signatures of function types properly instantiated as the function 2017-04-06 12:28:52 -07:00
mirrors_patch.dart Revert "Fix observatory tests broken by running dartfmt." 2017-03-21 10:07:26 -07:00
mirrors_sources.gypi
null_patch.dart Revert "Fix observatory tests broken by running dartfmt." 2017-03-21 10:07:26 -07:00
object.cc VM: Reland Inline instance object hash code into object header on 64bit. 2017-06-22 14:56:24 +02:00
object_patch.dart VM: Reland Inline instance object hash code into object header on 64bit. 2017-06-22 14:56:24 +02:00
print_patch.dart Revert "Fix observatory tests broken by running dartfmt." 2017-03-21 10:07:26 -07:00
profiler.cc
profiler.dart Revert "Fix observatory tests broken by running dartfmt." 2017-03-21 10:07:26 -07:00
profiler_sources.gypi
regexp.cc
regexp_patch.dart Revert "Fix observatory tests broken by running dartfmt." 2017-03-21 10:07:26 -07:00
schedule_microtask_patch.dart Revert "Fix observatory tests broken by running dartfmt." 2017-03-21 10:07:26 -07:00
simd128.cc
stacktrace.cc The current growth strategy for growable arrays allocates a backing array of size 2 at (empty) creation and doubles the size whenever the capacity is insufficient while adding elements. 2017-06-22 10:51:54 +02:00
stacktrace.dart Revert "Fix observatory tests broken by running dartfmt." 2017-03-21 10:07:26 -07:00
stacktrace.h
stopwatch.cc
stopwatch_patch.dart Revert "Fix observatory tests broken by running dartfmt." 2017-03-21 10:07:26 -07:00
string.cc
string_buffer_patch.dart Revert "Fix observatory tests broken by running dartfmt." 2017-03-21 10:07:26 -07:00
string_patch.dart Dart SDK Spelling b, c, and d. 2017-05-01 08:28:10 +02:00
symbol_patch.dart Revert "Fix observatory tests broken by running dartfmt." 2017-03-21 10:07:26 -07:00
timeline.cc
timeline.dart Revert "Fix observatory tests broken by running dartfmt." 2017-03-21 10:07:26 -07:00
timer_impl.dart Revert "Fix observatory tests broken by running dartfmt." 2017-03-21 10:07:26 -07:00
timer_patch.dart Revert "Fix observatory tests broken by running dartfmt." 2017-03-21 10:07:26 -07:00
type_patch.dart Revert "Fix observatory tests broken by running dartfmt." 2017-03-21 10:07:26 -07:00
typed_data.cc
typed_data_patch.dart Add type parameters to methods in typed-data patch. 2017-04-05 10:09:50 +02:00
typed_data_sources.gypi
uri.cc
uri_patch.dart Revert "Fix observatory tests broken by running dartfmt." 2017-03-21 10:07:26 -07:00
vmservice.cc
vmservice_sources.gypi Remove vmservice_patch.dart. 2017-06-20 12:24:16 -07:00
weak_property.cc
weak_property.dart