dart-sdk/runtime/vm
Martin Kustermann 2505b6c64e [vm/concurrency] Ensure no races can occur when setting identity hash code
Usually the identity hashcode is implemented by returning if present and
otherwise generating a random number, setting the hash code and
returning it.

This works fine in single-mutator environments, though when multiple
mutators might race to install identity hash codes we should ensure only
one of them wins and all others will obtain whatever hash code has been
set by the winner.

This will matter once we start sharing more objects across isolates.

Issue https://github.com/dart-lang/sdk/issues/36097

TEST=vm/cc/AsmIntrinsifier_SetHashIfNotSetYet

Change-Id: Ie760ca9658e6ec0640255361544d6822b07574e2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/201827
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Slava Egorov <vegorov@google.com>
2021-06-03 14:45:44 +00:00
..
compiler [vm/concurrency] Ensure no races can occur when setting identity hash code 2021-06-03 14:45:44 +00:00
heap [vm/concurrency] Ensure no races can occur when setting identity hash code 2021-06-03 14:45:44 +00:00
libfuzzer
service [ VM / Service ] Move sourceLocation property to reference objects for Class, Function, and Field. 2021-06-02 22:18:32 +00:00
allocation.cc
allocation.h
allocation_test.cc
assert_test.cc
atomic_test.cc
base64.cc
base64.h
base64_test.cc
base_isolate.h [vm] Removes support for --causal-async-stacks 2020-12-01 07:27:14 +00:00
benchmark_test.cc [vm/compiler] Add --print-precompiler-timings 2021-05-11 11:15:53 +00:00
benchmark_test.h
bit_set.h
bit_set_test.cc
bit_vector.cc
bit_vector.h
bit_vector_test.cc
bitfield.h [build] Move from the C++11 to the C++17 standard. 2021-03-19 15:29:57 +00:00
bitfield_test.cc [build] Move from the C++11 to the C++17 standard. 2021-03-19 15:29:57 +00:00
bitmap.cc Replace OS::PrintErr with THR_Print in bitmap 2021-05-11 07:16:33 +00:00
bitmap.h [vm] Fix BitmapBuilder backing store growth 2021-02-11 16:14:13 +00:00
bitmap_test.cc [vm] Fix BitmapBuilder backing store growth 2021-02-11 16:14:13 +00:00
boolfield.h
boolfield_test.cc
bootstrap.cc [vm] Make naming more consistent when converting between handles, tagged and untagged pointers. 2021-01-15 23:32:02 +00:00
bootstrap.h
bootstrap_natives.cc
bootstrap_natives.h [vm/ffi] Add providesSymbol to DynamicLibrary 2021-06-02 16:01:43 +00:00
bss_relocs.cc
bss_relocs.h
BUILD.gn [vm] Remove dead code LinkedHashMap RTEs 2021-05-31 10:25:22 +00:00
canonical_tables.cc Reland "[VM/runtime] Refactor the representation of type parameters in the VM." 2021-05-05 23:43:14 +00:00
canonical_tables.h [vm] Standardize hashing instance methods in C++. 2021-04-14 10:04:48 +00:00
catch_entry_moves_test.cc
class_finalizer.cc [VM/runtime] Tighten asserts and do not allow duplicate canonical recursive types. 2021-05-24 18:44:36 +00:00
class_finalizer.h Reland "[VM/runtime] Refactor the representation of type parameters in the VM." 2021-05-05 23:43:14 +00:00
class_finalizer_test.cc [vm/concurrency] Ensure write program_lock is held while updating class state via set_state. 2021-03-02 16:28:12 +00:00
class_id.h Reland "[VM/runtime] Refactor the representation of type parameters in the VM." 2021-05-05 23:43:14 +00:00
class_table.cc [vm/concurrency] Distinguish "gc safepoint operations" from "deopt safepoint operations" 2021-05-10 09:13:09 +00:00
class_table.h Reland "[vm, service, observatory] Add ability to retrieve the set of all instances of a class, implementation hierarchy or interface hierarchy as an array." 2021-04-14 19:40:20 +00:00
closure_functions_cache.cc [vm/concurrency] Assert that no SafepointRwLocks are acquired while in SafepointOperationScope. 2021-04-03 03:36:32 +00:00
closure_functions_cache.h [vm/concurrency] Move closure function related state from Isolate to ClosureFunctionsCache 2021-01-07 09:41:27 +00:00
clustered_snapshot.cc [vm] Remove script offsets. 2021-06-02 18:02:37 +00:00
clustered_snapshot.h [VM/runtime] Use signature instead of function in type test cache for closure. 2021-05-20 23:46:45 +00:00
code_comments.cc [vm] Add feature to connect AOT code to code comments via .debug_line 2021-02-02 11:35:00 +00:00
code_comments.h [vm] Add feature to connect AOT code to code comments via .debug_line 2021-02-02 11:35:00 +00:00
code_descriptors.cc Revert "[vm] Switch datastream Write/WriteUnsigned to (S)LEB128." 2021-04-26 07:52:47 +00:00
code_descriptors.h Revert "[vm] Switch datastream Write/WriteUnsigned to (S)LEB128." 2021-04-26 07:52:47 +00:00
code_descriptors_test.cc [vm] Make naming more consistent when converting between handles, tagged and untagged pointers. 2021-01-15 23:32:02 +00:00
code_entry_kind.h
code_observers.cc
code_observers.h [vm] Add feature to connect AOT code to code comments via .debug_line 2021-02-02 11:35:00 +00:00
code_patcher.cc
code_patcher.h [vm/aot] Remove reverse PC lookup from switchable calls 2021-02-04 17:36:47 +00:00
code_patcher_arm.cc Reland "[vm/aot] Avoid using most Code objects in stack traces with --dwarf-stack-traces" 2021-02-22 10:46:28 +00:00
code_patcher_arm64.cc Reland "[vm/aot] Avoid using most Code objects in stack traces with --dwarf-stack-traces" 2021-02-22 10:46:28 +00:00
code_patcher_arm64_test.cc [vm] Make naming more consistent when converting between handles, tagged and untagged pointers. 2021-01-15 23:32:02 +00:00
code_patcher_arm_test.cc [vm] Make naming more consistent when converting between handles, tagged and untagged pointers. 2021-01-15 23:32:02 +00:00
code_patcher_ia32.cc [vm/aot] Remove reverse PC lookup from switchable calls 2021-02-04 17:36:47 +00:00
code_patcher_ia32_test.cc [vm] Make naming more consistent when converting between handles, tagged and untagged pointers. 2021-01-15 23:32:02 +00:00
code_patcher_x64.cc Reland "[vm/aot] Avoid using most Code objects in stack traces with --dwarf-stack-traces" 2021-02-22 10:46:28 +00:00
code_patcher_x64_test.cc [vm] Make naming more consistent when converting between handles, tagged and untagged pointers. 2021-01-15 23:32:02 +00:00
compilation_trace.cc [vm/concurrency] Grab program_lock in type feedack loader for dynamic invocation forwarder creation. 2021-01-20 23:10:23 +00:00
compilation_trace.h Reland "[vm] Reduce size of Class objects in AOT and PRODUCT modes" 2021-04-20 21:11:58 +00:00
compiler_test.cc [vm/concurrency] Move background compiler related state from Isolate to IsolateGroup 2021-02-12 03:40:14 +00:00
constants.h [vm/compiler] Move runtime call out of InstantiateTypeInstr to stub 2021-03-17 13:08:01 +00:00
constants_arm.cc [vm] Remove "ctx" register name from ARM and ARM64. 2021-02-11 16:33:43 +00:00
constants_arm.h [vm] Move context setting into AllocateClosure stub. 2021-06-02 18:10:38 +00:00
constants_arm64.cc [vm] Remove "ctx" register name from ARM and ARM64. 2021-02-11 16:33:43 +00:00
constants_arm64.h [vm] Move context setting into AllocateClosure stub. 2021-06-02 18:10:38 +00:00
constants_base.h
constants_ia32.cc
constants_ia32.h [vm] Move context setting into AllocateClosure stub. 2021-06-02 18:10:38 +00:00
constants_x64.cc
constants_x64.h [vm] Move context setting into AllocateClosure stub. 2021-06-02 18:10:38 +00:00
constants_x86.h
cpu.h
cpu_arm.cc [vm] Replace TARGET_OS_IOS with TARGET_OS_MACOS_IOS 2020-11-30 16:04:12 +00:00
cpu_arm.h
cpu_arm64.cc [vm] Fix compile-time errors building for ARM64 Mac. 2021-01-14 21:23:43 +00:00
cpu_arm64.h
cpu_ia32.cc
cpu_ia32.h
cpu_test.cc
cpu_x64.cc
cpu_x64.h
cpuid.cc
cpuid.h
cpuinfo.h
cpuinfo_android.cc
cpuinfo_fuchsia.cc
cpuinfo_linux.cc
cpuinfo_macos.cc
cpuinfo_test.cc
cpuinfo_win.cc
custom_isolate_test.cc
dart.cc [vm/compiler] Cache entry point in closure in bare instructions mode. 2021-05-20 09:05:40 +00:00
dart.h [vm/concurrency] Make clustered snapshot serializer independent of current isolate 2021-02-12 04:32:48 +00:00
dart_api_impl.cc [vm] Fix NPE in IsFfiCompound 2021-05-17 18:12:02 +00:00
dart_api_impl.h [vm/ffi] Enable FFI on Fuchsia 2020-12-10 12:15:17 +00:00
dart_api_impl_test.cc [vm/ffi] Support Unions 2021-04-15 10:16:27 +00:00
dart_api_message.cc [vm] Make naming more consistent when converting between handles, tagged and untagged pointers. 2021-01-15 23:32:02 +00:00
dart_api_message.h
dart_api_state.cc
dart_api_state.h [vm] Make naming more consistent when converting between handles, tagged and untagged pointers. 2021-01-15 23:32:02 +00:00
dart_entry.cc [vm/aot] Discard Code objects from the heap 2021-04-13 02:36:16 +00:00
dart_entry.h [vm] Use <Class>::ContainsCompressedPointers() when defining Slots. 2021-05-12 19:09:50 +00:00
datastream.cc Revert "[vm] Switch datastream Write/WriteUnsigned to (S)LEB128." 2021-04-26 07:52:47 +00:00
datastream.h Revert "[vm] Switch datastream Write/WriteUnsigned to (S)LEB128." 2021-04-26 07:52:47 +00:00
datastream_test.cc Revert "[vm] Switch datastream Write/WriteUnsigned to (S)LEB128." 2021-04-26 07:52:47 +00:00
debugger.cc [vm/debugger] Fix notify-debugger-.. for yielding. 2021-05-06 17:59:33 +00:00
debugger.h [vm/debugger] Use atomics for BreakpointLocation::token_pos/end_token_pos. 2021-05-03 17:46:15 +00:00
debugger_api_impl_test.cc [ VM / Service ] Add support for enabling/disabling breakpoints 2021-04-06 22:16:06 +00:00
debugger_api_impl_test.h
debugger_arm.cc [vm/concurrency/debugger] Fix pool patching synchronization for lightweight isolates breakpoints. 2021-03-19 20:24:48 +00:00
debugger_arm64.cc [vm/concurrency/debugger] Fix pool patching synchronization for lightweight isolates breakpoints. 2021-03-19 20:24:48 +00:00
debugger_ia32.cc [vm/concurrency/debugger] Fix pool patching synchronization for lightweight isolates breakpoints. 2021-03-19 20:24:48 +00:00
debugger_x64.cc [vm/concurrency/debugger] Fix pool patching synchronization for lightweight isolates breakpoints. 2021-03-19 20:24:48 +00:00
deferred_objects.cc [vm] Fix materialization of instances with uninitialized late fields 2021-04-17 00:39:26 +00:00
deferred_objects.h
deopt_instructions.cc [vm] Make naming more consistent when converting between handles, tagged and untagged pointers. 2021-01-15 23:32:02 +00:00
deopt_instructions.h [vm] Make naming more consistent when converting between handles, tagged and untagged pointers. 2021-01-15 23:32:02 +00:00
dispatch_table.cc
dispatch_table.h
double_conversion.cc
double_conversion.h
double_internals.h
dwarf.cc [vm/aot] Discard Code objects of invisible functions 2021-04-27 23:31:02 +00:00
dwarf.h [vm/aot] Discard Code objects of invisible functions 2021-04-27 23:31:02 +00:00
elf.cc Revert "[vm] Switch datastream Write/WriteUnsigned to (S)LEB128." 2021-04-26 07:52:47 +00:00
elf.h [vm] Increase alignment in VM-generated ELF to 16k. 2021-04-19 18:12:48 +00:00
exceptions.cc [vm/concurrency] Lookup & set error class during bootstrapping instead of lazily 2021-03-03 18:18:14 +00:00
exceptions.h [vm] Make naming more consistent when converting between handles, tagged and untagged pointers. 2021-01-15 23:32:02 +00:00
exceptions_test.cc
experimental_features.cc Remove references to triple-shift and generic-metadata experiments. 2021-05-12 13:35:00 +00:00
experimental_features.h Enable experiment generic_metadata 2021-04-27 20:16:08 +00:00
ffi_callback_trampolines.cc [vm] Add feature to connect AOT code to code comments via .debug_line 2021-02-02 11:35:00 +00:00
ffi_callback_trampolines.h
field_table.cc [vm/concurrency] Final support for hot-reload of multi-isolate groups 2021-03-02 18:57:02 +00:00
field_table.h [vm/concurrency] Final support for hot-reload of multi-isolate groups 2021-03-02 18:57:02 +00:00
finalizable_data.h
fixed_cache.h
fixed_cache_test.cc
flag_list.h [VM/Runtime] - Delete unused flags 2021-05-13 23:38:27 +00:00
flags.cc [vm/concurrency] When deoptimizing, ensure mutators are stopped, then iterate over all threads stack marking the active code for deoptimization. 2021-02-01 20:50:01 +00:00
flags.h
flags_test.cc
frame_layout.h [vm] Make naming more consistent when converting between handles, tagged and untagged pointers. 2021-01-15 23:32:02 +00:00
gdb_helpers.cc [vm] Account for compressed pointers in pointer visitors. 2021-02-16 18:27:39 +00:00
globals.h [vm] Switch TypeArguments to compressed pointers. 2021-04-21 00:06:58 +00:00
growable_array.h [vm] Make naming more consistent when converting between handles, tagged and untagged pointers. 2021-01-15 23:32:02 +00:00
growable_array_test.cc [vm] Make naming more consistent when converting between handles, tagged and untagged pointers. 2021-01-15 23:32:02 +00:00
guard_field_test.cc [vm] Make naming more consistent when converting between handles, tagged and untagged pointers. 2021-01-15 23:32:02 +00:00
handle_visitor.h
handles.cc
handles.h [vm] Produce clearer error messages when operator new fails. 2020-11-13 19:07:20 +00:00
handles_impl.h
handles_test.cc
hash.h Reland "[vm] Fix V8 snapshot profile handling of the dispatch table." 2021-04-20 11:17:36 +00:00
hash_map.h Reland "[vm] Fix V8 snapshot profile handling of the dispatch table." 2021-04-20 11:17:36 +00:00
hash_map_test.cc Reland "[vm] Fix V8 snapshot profile handling of the dispatch table." 2021-04-20 11:17:36 +00:00
hash_table.h [vm] Fix GCC build 2021-03-22 15:08:04 +00:00
hash_table_test.cc
image_snapshot.cc [vm] Re-tighten requirements that the node type be set before writing. 2021-04-22 15:27:38 +00:00
image_snapshot.h Reland "[vm] Fix V8 snapshot profile handling of the dispatch table." 2021-04-20 11:17:36 +00:00
instructions.h
instructions_arm.cc [vm] Fix annotated pool references when disassembling in JIT mode. 2021-02-25 21:09:57 +00:00
instructions_arm.h [vm/compiler] Fix relocator to take out-of-range backwards calls into acount 2021-04-19 09:42:00 +00:00
instructions_arm64.cc [vm] Fix annotated pool references when disassembling in JIT mode. 2021-02-25 21:09:57 +00:00
instructions_arm64.h [vm/compiler] Fix relocator to take out-of-range backwards calls into acount 2021-04-19 09:42:00 +00:00
instructions_arm64_test.cc [vm] Make naming more consistent when converting between handles, tagged and untagged pointers. 2021-01-15 23:32:02 +00:00
instructions_arm_test.cc [vm] Make naming more consistent when converting between handles, tagged and untagged pointers. 2021-01-15 23:32:02 +00:00
instructions_ia32.cc
instructions_ia32.h
instructions_ia32_test.cc
instructions_x64.cc [vm] Fix annotated pool references when disassembling in JIT mode. 2021-02-25 21:09:57 +00:00
instructions_x64.h [vm] Fix constant in PcRelativeCall pattern on x64 2021-04-19 14:11:38 +00:00
instructions_x64_test.cc
intrusive_dlist.h
intrusive_dlist_test.cc
isolate.cc [vm/concurrency] Grab read isolates_lock when iterating over isolates. 2021-05-26 15:55:19 +00:00
isolate.h [vm/concurrency] Assert that no SafepointRwLocks are acquired while in SafepointOperationScope. 2021-04-03 03:36:32 +00:00
isolate_reload.cc [vm/concurrency] Ensure no races can occur when setting identity hash code 2021-06-03 14:45:44 +00:00
isolate_reload.h [vm] Standardize hashing instance methods in C++. 2021-04-14 10:04:48 +00:00
isolate_reload_test.cc [vm] Ensure liveness of typed data containing Kernel binary 2021-02-04 09:46:17 +00:00
isolate_test.cc [vm/concurrency] Change references to class_table/object_store/heap from Isolate to IsolateGroup 2021-01-06 15:22:11 +00:00
json_stream.cc [vm] Make naming more consistent when converting between handles, tagged and untagged pointers. 2021-01-15 23:32:02 +00:00
json_stream.h [vm, service] Remove unsafe querying across threads during Isolate::PrintJSON. 2020-12-08 00:36:38 +00:00
json_test.cc [test] Fixes memory issue in json test. 2021-06-03 13:14:14 +00:00
json_writer.cc
json_writer.h
kernel.cc [vm/debugger] Adds pragma support for func. decl. 2021-05-18 06:12:03 +00:00
kernel.h [kernel] Change constant references; remove need for map 2021-05-04 11:08:31 +00:00
kernel_binary.cc [kernel] Change constant references; remove need for map 2021-05-04 11:08:31 +00:00
kernel_binary.h [cfe] Add flags field to Extension and use it for 'extension type' 2021-05-11 10:15:43 +00:00
kernel_isolate.cc [vm/concurrency] Use isolate group id as key for incremental compiler for reload 2021-02-18 06:59:24 +00:00
kernel_isolate.h [vm/concurrency] Use isolate group id as key for incremental compiler for reload 2021-02-18 06:59:24 +00:00
kernel_loader.cc [vm] Replace KernelConstantsMap with array 2021-05-26 09:41:42 +00:00
kernel_loader.h [vm] Cleanup annotation/pragma detection logic in kernel loader 2021-05-17 13:14:00 +00:00
lockers.cc [vm/concurrency] Distinguish "gc safepoint operations" from "deopt safepoint operations" 2021-05-10 09:13:09 +00:00
lockers.h [vm/concurrency] Add SafepointMonitorUnlockScope to allow scoped unlocking of a monitor 2021-03-02 13:11:42 +00:00
log.cc
log.h
log_test.cc
longjump.cc
longjump.h
longjump_test.cc
malloc_hooks.h Reapply "[vm, service] Gather used and capacity from various mallocs." 2021-04-14 21:50:31 +00:00
malloc_hooks_arm.cc
malloc_hooks_arm64.cc
malloc_hooks_ia32.cc
malloc_hooks_tcmalloc.cc Reapply "[vm, service] Gather used and capacity from various mallocs." 2021-04-14 21:50:31 +00:00
malloc_hooks_test.cc
malloc_hooks_unsupported.cc Reapply "[vm, service] Gather used and capacity from various mallocs." 2021-04-14 21:50:31 +00:00
malloc_hooks_x64.cc
megamorphic_cache_table.cc [vm] Make naming more consistent when converting between handles, tagged and untagged pointers. 2021-01-15 23:32:02 +00:00
megamorphic_cache_table.h
memory_region.cc
memory_region.h
memory_region_test.cc
message.cc [vm] Make naming more consistent when converting between handles, tagged and untagged pointers. 2021-01-15 23:32:02 +00:00
message.h
message_handler.cc
message_handler.h
message_handler_test.cc
message_test.cc
metrics.cc
metrics.h
metrics_test.cc [vm/concurrency] Change references to class_table/object_store/heap from Isolate to IsolateGroup 2021-01-06 15:22:11 +00:00
mixin_test.cc
native_api_impl.cc [VM/FFI] Adds FFI leaf calls. 2021-05-21 11:12:02 +00:00
native_arguments.h [vm] Make naming more consistent when converting between handles, tagged and untagged pointers. 2021-01-15 23:32:02 +00:00
native_entry.cc [vm] Make naming more consistent when converting between handles, tagged and untagged pointers. 2021-01-15 23:32:02 +00:00
native_entry.h
native_entry_test.cc [vm] Make naming more consistent when converting between handles, tagged and untagged pointers. 2021-01-15 23:32:02 +00:00
native_entry_test.h
native_function.h
native_message_handler.cc
native_message_handler.h
native_symbol.h
native_symbol_android.cc
native_symbol_fuchsia.cc
native_symbol_linux.cc
native_symbol_macos.cc
native_symbol_win.cc Changes to make support WinUWP target 2020-12-04 22:46:12 +00:00
object.cc [vm/concurrency] Ensure no races can occur when setting identity hash code 2021-06-03 14:45:44 +00:00
object.h [vm/concurrency] Ensure no races can occur when setting identity hash code 2021-06-03 14:45:44 +00:00
object_arm64_test.cc [vm] Make naming more consistent when converting between handles, tagged and untagged pointers. 2021-01-15 23:32:02 +00:00
object_arm_test.cc
object_graph.cc [vm/concurrency] Ensure no races can occur when setting identity hash code 2021-06-03 14:45:44 +00:00
object_graph.h [ VM / Service ] Added getAllocationTraces and setTraceClassAllocation RPCs and identity hash support 2021-02-12 21:15:35 +00:00
object_graph_test.cc [vm/concurrency] Distinguish "gc safepoint operations" from "deopt safepoint operations" 2021-05-10 09:13:09 +00:00
object_ia32_test.cc
object_id_ring.cc
object_id_ring.h
object_id_ring_test.cc [vm] Make naming more consistent when converting between handles, tagged and untagged pointers. 2021-01-15 23:32:02 +00:00
object_reload.cc [vm/compiler] Cache entry point in closure in bare instructions mode. 2021-05-20 09:05:40 +00:00
object_service.cc [ VM / Service ] Move sourceLocation property to reference objects for Class, Function, and Field. 2021-06-02 22:18:32 +00:00
object_set.h [vm] Make naming more consistent when converting between handles, tagged and untagged pointers. 2021-01-15 23:32:02 +00:00
object_store.cc [vm/concurrency] Lookup & set error class during bootstrapping instead of lazily 2021-03-03 18:18:14 +00:00
object_store.h [vm] Add a bare-bones AllocateClosure stub. 2021-05-11 11:22:44 +00:00
object_store_test.cc
object_test.cc [test] Fixes memory issue in json test. 2021-06-03 13:14:14 +00:00
object_x64_test.cc [vm] Make naming more consistent when converting between handles, tagged and untagged pointers. 2021-01-15 23:32:02 +00:00
os.h
os_android.cc
os_fuchsia.cc [fuchsia] allow injecting the inspect node 2021-03-22 17:38:24 +00:00
os_linux.cc [vm] Add feature to connect AOT code to code comments via .debug_line 2021-02-02 11:35:00 +00:00
os_macos.cc [vm/ios/timeline] Enable cpu time reporting on ios. 2021-05-19 20:52:32 +00:00
os_test.cc
os_thread.cc
os_thread.h [vm/concurrency] Refactor SafepointRwLock to ensure unlocking never causes safepoint transition. 2021-02-17 09:53:49 +00:00
os_thread_android.cc
os_thread_android.h
os_thread_fuchsia.cc [vm] Optimize get current thread id in Fuchsia. 2021-03-31 20:51:32 +00:00
os_thread_fuchsia.h [vm] Optimize get current thread id in Fuchsia. 2021-03-31 20:51:32 +00:00
os_thread_linux.cc
os_thread_linux.h
os_thread_macos.cc
os_thread_macos.h
os_thread_win.cc
os_thread_win.h
os_win.cc
parser.cc [vm] Make naming more consistent when converting between handles, tagged and untagged pointers. 2021-01-15 23:32:02 +00:00
parser.h Reland "[VM/runtime] Refactor the representation of type parameters in the VM." 2021-05-05 23:43:14 +00:00
pending_deopts.cc [vm/concurrency] Avoid O(n) traversal of isolates to find pending deopt 2021-03-03 09:31:53 +00:00
pending_deopts.h [vm/concurrency] Avoid O(n) traversal of isolates to find pending deopt 2021-03-03 09:31:53 +00:00
pointer_tagging.h [vm, compiler] Don't touch memory in AssertBoolean and BooleanNegate. 2021-03-09 20:27:00 +00:00
port.cc
port.h
port_set.h
port_test.cc
proccpuinfo.cc
proccpuinfo.h
profiler.cc Reland "[vm/aot] Avoid using most Code objects in stack traces with --dwarf-stack-traces" 2021-02-22 10:46:28 +00:00
profiler.h [ VM / Service ] Added getAllocationTraces and setTraceClassAllocation RPCs and identity hash support 2021-02-12 21:15:35 +00:00
profiler_service.cc [vm] Standardize hashing instance methods in C++. 2021-04-14 10:04:48 +00:00
profiler_service.h [ VM / Service ] Added getAllocationTraces and setTraceClassAllocation RPCs and identity hash support 2021-02-12 21:15:35 +00:00
profiler_test.cc [vm] Add a bare-bones AllocateClosure stub. 2021-05-11 11:22:44 +00:00
program_visitor.cc Revert "[vm] Switch datastream Write/WriteUnsigned to (S)LEB128." 2021-04-26 07:52:47 +00:00
program_visitor.h Reland "[vm] Reduce size of Class objects in AOT and PRODUCT modes" 2021-04-20 21:11:58 +00:00
random.cc [vm/concurrency] Make compiler create JitCookie using IsolateGroup::random() 2021-02-04 11:12:47 +00:00
random.h [vm/concurrency] Make compiler create JitCookie using IsolateGroup::random() 2021-02-04 11:12:47 +00:00
raw_object.cc [vm] Fix CheckForPointers to not ignore ranges of size 1. 2021-05-18 23:28:13 +00:00
raw_object.h [vm/concurrency] Ensure no races can occur when setting identity hash code 2021-06-03 14:45:44 +00:00
raw_object_fields.cc [vm] Remove Script::compile_time_constants_. 2021-06-02 22:50:14 +00:00
raw_object_fields.h [vm] Standardize hashing instance methods in C++. 2021-04-14 10:04:48 +00:00
raw_object_snapshot.cc [vm/gc] Account larger transferable to old space. 2021-05-24 22:53:07 +00:00
regexp.cc [vm] Use 31-bit Smis in compressed pointer mode. 2021-02-18 20:40:20 +00:00
regexp.h [vm] Represent tagged pointers as C++ value types instead of C++ pointer types. 2020-04-25 05:21:27 +00:00
regexp_assembler.cc [vm] Make naming more consistent when converting between handles, tagged and untagged pointers. 2021-01-15 23:32:02 +00:00
regexp_assembler.h
regexp_assembler_bytecode.cc [vm] Switch most Instances whose layout is determined in C++ to compressed pointers. 2021-04-05 17:43:16 +00:00
regexp_assembler_bytecode.h
regexp_assembler_bytecode_inl.h
regexp_assembler_ir.cc [vm] Make naming more consistent when converting between handles, tagged and untagged pointers. 2021-01-15 23:32:02 +00:00
regexp_assembler_ir.h
regexp_ast.cc
regexp_ast.h
regexp_bytecodes.h
regexp_interpreter.cc [vm] Make naming more consistent when converting between handles, tagged and untagged pointers. 2021-01-15 23:32:02 +00:00
regexp_interpreter.h
regexp_parser.cc [vm] Make naming more consistent when converting between handles, tagged and untagged pointers. 2021-01-15 23:32:02 +00:00
regexp_parser.h
regexp_test.cc
report.cc [vm] Make naming more consistent when converting between handles, tagged and untagged pointers. 2021-01-15 23:32:02 +00:00
report.h
resolver.cc [vm] Make naming more consistent when converting between handles, tagged and untagged pointers. 2021-01-15 23:32:02 +00:00
resolver.h
reusable_handles.h Reland "[VM/runtime] Refactor the representation of type parameters in the VM." 2021-05-05 23:43:14 +00:00
reverse_pc_lookup_cache.cc [vm/aot] Discard Code objects from the heap 2021-04-13 02:36:16 +00:00
reverse_pc_lookup_cache.h [vm/aot] Discard Code objects from the heap 2021-04-13 02:36:16 +00:00
ring_buffer.h
ring_buffer_test.cc
runtime_entry.cc [vm] Move context setting into AllocateClosure stub. 2021-06-02 18:10:38 +00:00
runtime_entry.h [vm/concurrency] Enforce all stub calls have (deopt-id, deopt-env) 2021-05-10 14:55:20 +00:00
runtime_entry_arm.cc [vm/ffi] Fix LR clobber in JumpToFrame stub on ARM 2020-11-27 09:11:49 +00:00
runtime_entry_arm64.cc [vm, arm64] Combine BARRIER_MASK and HEAP_BASE into one register. 2021-05-12 15:41:40 +00:00
runtime_entry_ia32.cc
runtime_entry_list.h [vm] Add a bare-bones AllocateClosure stub. 2021-05-11 11:22:44 +00:00
runtime_entry_x64.cc
scope_timer.h [vm/compiler] Add --print-precompiler-timings 2021-05-11 11:15:53 +00:00
scopes.cc [vm] Create more Function helper methods for code clarity. 2021-03-23 12:21:26 +00:00
scopes.h [vm] Make naming more consistent when converting between handles, tagged and untagged pointers. 2021-01-15 23:32:02 +00:00
scopes_test.cc
service.cc [vm, service] Include mapped files in GetProcessMemoryUsage. 2021-05-27 17:10:05 +00:00
service.h [ VM / Service ] Move sourceLocation property to reference objects for Class, Function, and Field. 2021-06-02 22:18:32 +00:00
service_event.cc [ VM / Service ] Add support for enabling/disabling breakpoints 2021-04-06 22:16:06 +00:00
service_event.h [ VM / Service ] Add support for enabling/disabling breakpoints 2021-04-06 22:16:06 +00:00
service_isolate.cc [vm/concurrency] Avoid invoking Dart code while holding IsolateGroup read lock 2021-02-03 18:23:42 +00:00
service_isolate.h [vm/concurrency] Avoid invoking Dart code while holding IsolateGroup read lock 2021-02-03 18:23:42 +00:00
service_test.cc Reland "[vm/aot] Avoid using most Code objects in stack traces with --dwarf-stack-traces" 2021-02-22 10:46:28 +00:00
signal_handler.h
signal_handler_android.cc
signal_handler_fuchsia.cc
signal_handler_linux.cc
signal_handler_macos.cc
signal_handler_win.cc
simulator.h
simulator_arm.cc [vm/arm] Fix vmovd Dd[x], ... simulation 2021-04-26 11:08:07 +00:00
simulator_arm.h
simulator_arm64.cc [vm, arm64] Combine BARRIER_MASK and HEAP_BASE into one register. 2021-05-12 15:41:40 +00:00
simulator_arm64.h
snapshot.cc [vm/isolate] Fix problems with sending RegExp to newly spawned isolate. 2021-04-01 19:52:32 +00:00
snapshot.h Reland "[VM/runtime] Refactor the representation of type parameters in the VM." 2021-05-05 23:43:14 +00:00
snapshot_ids.h
snapshot_test.cc [vm/compiler] Add --print-precompiler-timings 2021-05-11 11:15:53 +00:00
source_report.cc [vm] Make naming more consistent when converting between handles, tagged and untagged pointers. 2021-01-15 23:32:02 +00:00
source_report.h [vm] Standardize hashing instance methods in C++. 2021-04-14 10:04:48 +00:00
source_report_test.cc [test] Fixes memory issue in json test. 2021-06-03 13:14:14 +00:00
splay-tree.h
stack_frame.cc [vm/aot] Discard Code objects from the heap 2021-04-13 02:36:16 +00:00
stack_frame.h [vm/concurrency] Avoid O(n) traversal of isolates to find pending deopt 2021-03-03 09:31:53 +00:00
stack_frame_arm.h [vm/ffi] Support passing structs by value 2020-12-14 16:22:48 +00:00
stack_frame_arm64.h [vm/ffi] Support passing structs by value 2020-12-14 16:22:48 +00:00
stack_frame_ia32.h [vm/ffi] Support passing structs by value 2020-12-14 16:22:48 +00:00
stack_frame_test.cc
stack_frame_x64.h [vm/ffi] Support passing structs by value 2020-12-14 16:22:48 +00:00
stack_trace.cc [vm] Create more Function helper methods for code clarity. 2021-03-23 12:21:26 +00:00
stack_trace.h Reland "[vm/aot] Avoid using most Code objects in stack traces with --dwarf-stack-traces" 2021-02-22 10:46:28 +00:00
static_type_exactness_state.h
stub_code.cc [vm/compiler] Use isolate version of AllocateContext stub. 2021-05-21 07:35:50 +00:00
stub_code.h Reland "[vm] Reduce size of Class objects in AOT and PRODUCT modes" 2021-04-20 21:11:58 +00:00
stub_code_arm64_test.cc [vm/concurrency] Allow class finalization done by background compiler 2021-01-20 20:08:25 +00:00
stub_code_arm_test.cc [vm/concurrency] Allow class finalization done by background compiler 2021-01-20 20:08:25 +00:00
stub_code_ia32_test.cc [vm/concurrency] Allow class finalization done by background compiler 2021-01-20 20:08:25 +00:00
stub_code_list.h [vm] Add a bare-bones AllocateClosure stub. 2021-05-11 11:22:44 +00:00
stub_code_test.cc [vm] Make naming more consistent when converting between handles, tagged and untagged pointers. 2021-01-15 23:32:02 +00:00
stub_code_x64_test.cc [vm/concurrency] Allow class finalization done by background compiler 2021-01-20 20:08:25 +00:00
symbols.cc [vm/concurrency] Add --experimental_enable_isolate_groups_jit flag, make --enable_isolate_groups AOT only. 2021-01-27 17:11:29 +00:00
symbols.h [vm] Remove unused symbols from symbols.h 2021-05-18 08:22:03 +00:00
tagged_pointer.h [vm] Store compression info during GC visit macros. 2021-05-12 07:36:58 +00:00
tags.cc
tags.h
thread.cc [vm/concurrency] Allow caller of Thread::{Exit,Enter}Isolate to specify nesting 2021-02-25 18:44:16 +00:00
thread.h [vm/compiler] Add --print-precompiler-timings 2021-05-11 11:15:53 +00:00
thread_barrier.h
thread_barrier_test.cc
thread_interrupter.cc
thread_interrupter.h
thread_interrupter_android.cc
thread_interrupter_fuchsia.cc
thread_interrupter_linux.cc
thread_interrupter_macos.cc
thread_interrupter_win.cc
thread_pool.cc
thread_pool.h
thread_pool_test.cc
thread_registry.cc [vm, service] Remove unsafe querying across threads during Isolate::PrintJSON. 2020-12-08 00:36:38 +00:00
thread_registry.h [vm/concurrency] Avoid relying on Isolate::Current() when deoptimizing code. 2021-02-04 11:45:22 +00:00
thread_stack_resource.cc
thread_stack_resource.h
thread_state.cc
thread_state.h [vm, service] Remove unsafe querying across threads during Isolate::PrintJSON. 2020-12-08 00:36:38 +00:00
thread_test.cc [vm/concurrency] Distinguish "gc safepoint operations" from "deopt safepoint operations" 2021-05-10 09:13:09 +00:00
timeline.cc [ VM ] Add missing locks in timeline recorder cleanup 2021-03-23 20:05:11 +00:00
timeline.h [ VM ] Cleanup timeline_test.cc 2021-03-24 19:46:32 +00:00
timeline_analysis.cc
timeline_analysis.h
timeline_android.cc
timeline_fuchsia.cc
timeline_linux.cc
timeline_macos.cc
timeline_test.cc [ VM ] Cleanup timeline_test.cc 2021-03-24 19:46:32 +00:00
timer.cc
timer.h [vm/compiler] Add --print-precompiler-timings 2021-05-11 11:15:53 +00:00
token.cc [vm] Support unsigned shift operator int.>>> 2021-02-24 00:14:57 +00:00
token.h [vm] Support unsigned shift operator int.>>> 2021-02-24 00:14:57 +00:00
token_position.cc [vm] Standardize hashing instance methods in C++. 2021-04-14 10:04:48 +00:00
token_position.h [vm] Standardize hashing instance methods in C++. 2021-04-14 10:04:48 +00:00
type_testing_stubs.cc [vm/compiler] Avoid TTS running into instruction encoding limits 2021-05-18 07:19:53 +00:00
type_testing_stubs.h Reland "[VM/runtime] Refactor the representation of type parameters in the VM." 2021-05-05 23:43:14 +00:00
type_testing_stubs_test.cc Reland "[VM/runtime] Refactor the representation of type parameters in the VM." 2021-05-05 23:43:14 +00:00
unibrow-inl.h
unibrow.cc
unibrow.h
unicode.cc
unicode_data.cc
unicode_test.cc
unit_test.cc [vm/concurrency] First changes for hot-reloading with isolate gropus. 2021-02-12 05:48:15 +00:00
unit_test.h [test] Fixes memory issue in json test. 2021-06-03 13:14:14 +00:00
uri.cc
uri.h
uri_test.cc
utils_test.cc [platform] Adjust Utils::StringHash() for misaligned starts. 2021-03-18 17:42:53 +00:00
v8_snapshot_writer.cc [vm] Re-tighten requirements that the node type be set before writing. 2021-04-22 15:27:38 +00:00
v8_snapshot_writer.h Revert "[vm] Switch datastream Write/WriteUnsigned to (S)LEB128." 2021-04-26 07:52:47 +00:00
version.h
version_in.cc
virtual_memory.cc Reland "[vm] Align heap allocations to 2GB regions in comp ptr mode" 2021-02-22 19:58:49 +00:00
virtual_memory.h Reland "[vm] Align heap allocations to 2GB regions in comp ptr mode" 2021-02-22 19:58:49 +00:00
virtual_memory_compressed.cc [vm] Align compressed pointer allocations on windows. 2021-02-25 20:48:07 +00:00
virtual_memory_compressed.h [vm] Expand compressed heap to 4GB. 2021-03-16 01:27:24 +00:00
virtual_memory_fuchsia.cc [vm] Align compressed pointer allocations on Fuchsia. 2021-03-03 21:51:24 +00:00
virtual_memory_posix.cc [vm] Try to allocate snapshots and executable heap pages near the VM's binary. 2021-04-28 23:22:55 +00:00
virtual_memory_test.cc [vm] Align compressed pointer allocations on windows. 2021-02-25 20:48:07 +00:00
virtual_memory_win.cc [vm] Fail gracefully when unable to reserve address space for the compresssed heap. 2021-03-04 22:32:20 +00:00
visitor.cc
visitor.h [vm] Switch most Instances whose layout is determined in C++ to compressed pointers. 2021-04-05 17:43:16 +00:00
vm_sources.gni [vm/concurrency] Avoid O(n) traversal of isolates to find pending deopt 2021-03-03 09:31:53 +00:00
zone.cc
zone.h
zone_test.cc
zone_text_buffer.cc
zone_text_buffer.h