dart-sdk/runtime/vm
Daco Harkes 828dcd00e8 [vm] Implement WeakReference in the VM
This CL implements `WeakReference` in the VM.

* This reduces the size of weak references from 2 objects using 8 words
  to 1 object using 4 words.
* This makes loads of weak reference targets a single load instead of
  two.
* This avoids the fix-point in the GC and message object copying for
  weak references. (N.b. Weak references need to be processed _after_
  the fix-point for weak properties.)

The semantics of weak references in messages is that their target gets
set to `null` if the target is not included in the message by a strong
reference.

The tests take particular care to exercise the case where a weak
reference's target is only kept alive because a weak property key is
alive and it refers to the target in its value. This exercises the fact
that weak references need to be processed last.

Does not add support for weak references in the app snapshot. It would
be dead code until we start using weak references in for example the
CFE.

This CL does not try to unify weak references and weak properties in
the GC or messaging (as proposed in go/dart-vm-weakreference), because
their semantics differ enough.

Closes: https://github.com/dart-lang/sdk/issues/48162

TEST=runtime/tests/vm/dart/finalizer/weak_reference_run_gc_test.dart
TEST=runtime/tests/vm/dart/isolates/fast_object_copy_test.dart
TEST=runtime/vm/object_test.cc
TEST=tests/lib/isolate/weak_reference_message_1_test.dart
TEST=tests/lib/isolate/weak_reference_message_2_test.dart

Change-Id: I3810e919a5866f3ae8a95bd9aa23a880a0b0921c
Cq-Include-Trybots: luci.dart.try:app-kernel-linux-debug-x64-try,dart-sdk-mac-arm64-try,vm-canary-linux-debug-try,vm-fuchsia-release-x64-try,vm-kernel-gcc-linux-try,vm-kernel-asan-linux-release-x64-try,vm-kernel-linux-debug-x64c-try,vm-kernel-linux-debug-x64-try,vm-kernel-linux-debug-simriscv64-try,vm-kernel-mac-debug-x64-try,vm-kernel-nnbd-linux-debug-x64-try,vm-kernel-nnbd-linux-release-ia32-try,vm-kernel-nnbd-linux-release-simarm64-try,vm-kernel-nnbd-linux-release-simarm-try,vm-kernel-nnbd-mac-debug-arm64-try,vm-kernel-nnbd-mac-debug-x64-try,vm-kernel-nnbd-win-release-ia32-try,vm-kernel-nnbd-win-release-x64-try,vm-kernel-optcounter-threshold-linux-release-x64-try,vm-kernel-precomp-android-release-arm_x64-try,vm-kernel-precomp-linux-debug-x64-try,vm-kernel-precomp-linux-debug-x64c-try,vm-kernel-precomp-win-debug-x64c-try,vm-kernel-reload-rollback-linux-debug-x64-try,vm-kernel-reload-linux-debug-x64-try,vm-kernel-win-debug-ia32-try,vm-kernel-win-debug-x64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/232087
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Daco Harkes <dacoharkes@google.com>
2022-02-10 21:59:41 +00:00
..
compiler [vm] Implement WeakReference in the VM 2022-02-10 21:59:41 +00:00
heap [vm] Implement WeakReference in the VM 2022-02-10 21:59:41 +00:00
libfuzzer
service [ package:vm_service ] Migrate Observatory service tests to package:vm_service (Pt 2) 2022-02-05 00:12:29 +00:00
allocation.cc
allocation.h
allocation_test.cc
app_snapshot.cc [vm] Fix double and mint to inherit the PostLoad for instances. 2022-02-04 00:10:47 +00:00
app_snapshot.h [vm] Improve Code cluster layout for startup 2021-12-16 10:39:49 +00:00
assert_test.cc
atomic_test.cc
base64.cc
base64.h
base64_test.cc
base_isolate.h
benchmark_test.cc
benchmark_test.h
bit_set.h
bit_set_test.cc
bit_vector.cc
bit_vector.h
bit_vector_test.cc
bitfield.h
bitfield_test.cc
bitmap.cc
bitmap.h
bitmap_test.cc [vm] Improve Code cluster layout for startup 2021-12-16 10:39:49 +00:00
boolfield.h
boolfield_test.cc
bootstrap.cc
bootstrap.h
bootstrap_natives.cc
bootstrap_natives.h [vm] Cleanup workarounds for removed flag --throw_on_javascript_int_overflow. 2022-02-03 21:10:46 +00:00
bss_relocs.cc
bss_relocs.h
BUILD.gn [build] Use flutter/engine rules for linking against atomic library. 2021-12-14 22:20:05 +00:00
canonical_tables.cc
canonical_tables.h
catch_entry_moves_test.cc
class_finalizer.cc [vm] Implement WeakReference in the VM 2022-02-10 21:59:41 +00:00
class_finalizer.h
class_finalizer_test.cc
class_id.h [vm] Implement WeakReference in the VM 2022-02-10 21:59:41 +00:00
class_table.cc [vm] Add --print-object-layout-to option to gen_snapshot 2021-12-20 21:40:33 +00:00
class_table.h [vm] Add --print-object-layout-to option to gen_snapshot 2021-12-20 21:40:33 +00:00
closure_functions_cache.cc [vm/aot] Eliminate InlinedIntoICF retain reason 2021-11-17 11:02:01 +00:00
closure_functions_cache.h [vm/aot] Eliminate InlinedIntoICF retain reason 2021-11-17 11:02:01 +00:00
code_comments.cc
code_comments.h
code_descriptors.cc [vm] Fix symbolization of future listener frame. 2021-11-10 17:52:03 +00:00
code_descriptors.h [vm] Fix symbolization of future listener frame. 2021-11-10 17:52:03 +00:00
code_descriptors_test.cc
code_entry_kind.h
code_observers.cc
code_observers.h
code_patcher.cc
code_patcher.h
code_patcher_arm.cc [vm] Remove support for non-bare AOT snapshots 2021-11-24 13:03:52 +00:00
code_patcher_arm64.cc [vm] Remove support for non-bare AOT snapshots 2021-11-24 13:03:52 +00:00
code_patcher_arm64_test.cc
code_patcher_arm_test.cc
code_patcher_ia32.cc
code_patcher_ia32_test.cc
code_patcher_riscv.cc [vm] Support RISC-V. 2022-01-20 00:57:57 +00:00
code_patcher_riscv_test.cc [vm] Support RISC-V. 2022-01-20 00:57:57 +00:00
code_patcher_x64.cc [vm] Remove support for non-bare AOT snapshots 2021-11-24 13:03:52 +00:00
code_patcher_x64_test.cc
compiler_test.cc [VM] [CFE]: Make VM send over type information for expression compilation 2022-01-28 07:49:21 +00:00
constants.h [vm] Support RISC-V. 2022-01-20 00:57:57 +00:00
constants_arm.cc
constants_arm.h [vm] Define kFpuRegisterSize based on the target architecture, not the host architecture. 2022-01-05 22:03:44 +00:00
constants_arm64.cc
constants_arm64.h [vm] Define kFpuRegisterSize based on the target architecture, not the host architecture. 2022-01-05 22:03:44 +00:00
constants_base.h
constants_ia32.cc
constants_ia32.h [vm] Define kFpuRegisterSize based on the target architecture, not the host architecture. 2022-01-05 22:03:44 +00:00
constants_riscv.cc [vm] Support RISC-V. 2022-01-20 00:57:57 +00:00
constants_riscv.h [vm] Support RISC-V. 2022-01-20 00:57:57 +00:00
constants_x64.cc
constants_x64.h [vm] Define kFpuRegisterSize based on the target architecture, not the host architecture. 2022-01-05 22:03:44 +00:00
constants_x86.h
cpu.h [vm] Support RISC-V. 2022-01-20 00:57:57 +00:00
cpu_arm.cc [vm, compiler] Assume availability of VFP when targeting ARM32. 2021-12-14 20:05:55 +00:00
cpu_arm.h [vm] Introduce --target-unknown-cpu option and use it for app-jit snapshots 2021-12-16 21:33:49 +00:00
cpu_arm64.cc
cpu_arm64.h [vm] Introduce --target-unknown-cpu option and use it for app-jit snapshots 2021-12-16 21:33:49 +00:00
cpu_ia32.cc
cpu_ia32.h [vm] Introduce --target-unknown-cpu option and use it for app-jit snapshots 2021-12-16 21:33:49 +00:00
cpu_riscv.cc [vm] Support RISC-V. 2022-01-20 00:57:57 +00:00
cpu_riscv.h [vm] Support RISC-V. 2022-01-20 00:57:57 +00:00
cpu_test.cc [vm] Support RISC-V. 2022-01-20 00:57:57 +00:00
cpu_x64.cc
cpu_x64.h [vm] Introduce --target-unknown-cpu option and use it for app-jit snapshots 2021-12-16 21:33:49 +00:00
cpuid.cc
cpuid.h
cpuinfo.h [vm] Support RISC-V. 2022-01-20 00:57:57 +00:00
cpuinfo_android.cc
cpuinfo_fuchsia.cc
cpuinfo_linux.cc [vm] Support RISC-V. 2022-01-20 00:57:57 +00:00
cpuinfo_macos.cc
cpuinfo_test.cc
cpuinfo_win.cc
custom_isolate_test.cc [vm] Remove --verify_handles. 2022-01-21 21:24:20 +00:00
dart.cc [vm] Remove dead flag declarations. 2022-01-26 18:58:58 +00:00
dart.h [vm] Add missing Dart_ThreadStartCallback. 2022-01-19 23:14:36 +00:00
dart_api_impl.cc [vm] Add missing safepoint transition when updating or deleting API handles. 2022-02-03 00:41:07 +00:00
dart_api_impl.h [vm] Move handles for the no-callbacks and unwind-in-progress errors to the VM isolate so there is no Dart allocation and no handle allocation during these errors. 2022-01-06 18:38:28 +00:00
dart_api_impl_test.cc [vm] Remove disused Dart_HintFreed. 2022-01-18 21:46:55 +00:00
dart_api_message.h
dart_api_state.cc
dart_api_state.h [vm] Move handles for the no-callbacks and unwind-in-progress errors to the VM isolate so there is no Dart allocation and no handle allocation during these errors. 2022-01-06 18:38:28 +00:00
dart_entry.cc [vm] Refactor generation of identity hashes. 2021-12-13 22:31:46 +00:00
dart_entry.h [vm] Refactor generation of identity hashes. 2021-12-13 22:31:46 +00:00
datastream.cc
datastream.h
datastream_test.cc
debugger.cc [vm] Improve async performance by taking advantage of static types of returned values 2022-02-04 22:06:59 +00:00
debugger.h [VM] [CFE]: Make VM send over type information for expression compilation 2022-01-28 07:49:21 +00:00
debugger_api_impl_test.cc [VM] [CFE]: Make VM send over type information for expression compilation 2022-01-28 07:49:21 +00:00
debugger_api_impl_test.h
debugger_arm.cc
debugger_arm64.cc
debugger_ia32.cc
debugger_riscv.cc [vm] Support RISC-V. 2022-01-20 00:57:57 +00:00
debugger_x64.cc
deferred_objects.cc
deferred_objects.h
deopt_instructions.cc
deopt_instructions.h
dispatch_table.cc [vm] Support RISC-V. 2022-01-20 00:57:57 +00:00
dispatch_table.h
double_conversion.cc
double_conversion.h
double_internals.h
dwarf.cc [vm] Fix symbolization of future listener frame. 2021-11-10 17:52:03 +00:00
dwarf.h
elf.cc [vm] Support RISC-V. 2022-01-20 00:57:57 +00:00
elf.h [vm] Bump max ELF page size to 64K 2021-11-16 16:23:36 +00:00
exceptions.cc Revert "[vm] Disable longjmp() wrapper in exceptional flow in TSAN until g3 issue is fixed" 2022-01-31 15:49:54 +00:00
exceptions.h
exceptions_test.cc
experimental_features.cc Bump SDK version to 2.17 2022-01-10 11:05:10 +00:00
experimental_features.h Bump SDK version to 2.17 2022-01-10 11:05:10 +00:00
ffi_callback_trampolines.cc
ffi_callback_trampolines.h
field_table.cc
field_table.h
finalizable_data.h
fixed_cache.h
fixed_cache_test.cc
flag_list.h [vm, gc] Allow the main thread to perform incremental marking during idle time. 2022-01-25 23:18:07 +00:00
flags.cc
flags.h
flags_test.cc
frame_layout.h
gdb_helpers.cc
globals.h [vm] Support RISC-V. 2022-01-20 00:57:57 +00:00
growable_array.h
growable_array_test.cc
guard_field_test.cc
handle_visitor.h
handles.cc [vm] Remove --verify_handles. 2022-01-21 21:24:20 +00:00
handles.h [vm] Remove --verify_handles. 2022-01-21 21:24:20 +00:00
handles_impl.h
handles_test.cc
hash.h
hash_map.h [vm/aot] Improve AOT compilation speed by using better hash codes 2022-01-21 02:02:00 +00:00
hash_map_test.cc
hash_table.h
hash_table_test.cc
image_snapshot.cc [vm] Support RISC-V. 2022-01-20 00:57:57 +00:00
image_snapshot.h [vm] Improve Code cluster layout for startup 2021-12-16 10:39:49 +00:00
instructions.h [vm] Support RISC-V. 2022-01-20 00:57:57 +00:00
instructions_arm.cc [vm] Support RISC-V. 2022-01-20 00:57:57 +00:00
instructions_arm.h [vm] Support RISC-V. 2022-01-20 00:57:57 +00:00
instructions_arm64.cc [vm] Support RISC-V. 2022-01-20 00:57:57 +00:00
instructions_arm64.h [vm] Support RISC-V. 2022-01-20 00:57:57 +00:00
instructions_arm64_test.cc
instructions_arm_test.cc
instructions_ia32.cc
instructions_ia32.h
instructions_ia32_test.cc
instructions_riscv.cc [vm] Support RISC-V. 2022-01-20 00:57:57 +00:00
instructions_riscv.h [vm] Support RISC-V. 2022-01-20 00:57:57 +00:00
instructions_riscv_test.cc [vm] Support RISC-V. 2022-01-20 00:57:57 +00:00
instructions_x64.cc
instructions_x64.h
instructions_x64_test.cc
intrusive_dlist.h
intrusive_dlist_test.cc
isolate.cc [ VM / Service ] Add support for streaming CPU samples with specific 2021-12-17 00:15:09 +00:00
isolate.h [vm] Adding branch coverage RPC to source report 2022-01-12 19:12:04 +00:00
isolate_reload.cc [vm/gen_snapshot] Avoid redundant compilation when generating kernel snapshot. 2022-01-05 17:51:26 +00:00
isolate_reload.h
isolate_reload_test.cc
isolate_test.cc
json_stream.cc [ Service ] Add line/column information to SourceLocation objects 2022-01-12 02:09:24 +00:00
json_stream.h Reland "[ VM / Service ] Omit private fields from service responses by default" 2022-01-11 23:35:28 +00:00
json_test.cc [ Service ] Add line/column information to SourceLocation objects 2022-01-12 02:09:24 +00:00
json_writer.cc
json_writer.h
kernel.cc
kernel.h
kernel_binary.cc
kernel_binary.h [cfe] Change encoding of supported dart: libraries 2022-01-11 14:52:38 +00:00
kernel_isolate.cc [VM] [CFE]: Make VM send over type information for expression compilation 2022-01-28 07:49:21 +00:00
kernel_isolate.h [VM] [CFE]: Make VM send over type information for expression compilation 2022-01-28 07:49:21 +00:00
kernel_loader.cc [vm] Replace synthetic expression evaluation classes with real classes in types 2022-01-06 16:12:55 +00:00
kernel_loader.h
lockers.cc
lockers.h
log.cc
log.h
log_test.cc
longjump.cc
longjump.h
longjump_test.cc
malloc_hooks.h
malloc_hooks_arm.cc
malloc_hooks_arm64.cc
malloc_hooks_ia32.cc
malloc_hooks_tcmalloc.cc [VM] error: ‘mallinfo mallinfo()’ is deprecated 2021-12-08 00:25:10 +00:00
malloc_hooks_test.cc
malloc_hooks_unsupported.cc [vm] Support RISC-V. 2022-01-20 00:57:57 +00:00
malloc_hooks_x64.cc
megamorphic_cache_table.cc
megamorphic_cache_table.h
memory_region.cc
memory_region.h
memory_region_test.cc
message.cc [vm] Remove unused failure delivery port mechanism. 2021-12-01 23:40:06 +00:00
message.h [vm] Remove unused failure delivery port mechanism. 2021-12-01 23:40:06 +00:00
message_handler.cc
message_handler.h
message_handler_test.cc
message_snapshot.cc [vm] Implement WeakReference in the VM 2022-02-10 21:59:41 +00:00
message_snapshot.h
message_test.cc
metrics.cc
metrics.h
metrics_test.cc
mixin_test.cc
native_api_impl.cc
native_arguments.h
native_entry.cc
native_entry.h
native_entry_test.cc
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
object.cc [vm] Implement WeakReference in the VM 2022-02-10 21:59:41 +00:00
object.h [vm] Implement WeakReference in the VM 2022-02-10 21:59:41 +00:00
object_arm64_test.cc
object_arm_test.cc
object_graph.cc
object_graph.h
object_graph_copy.cc [vm] Implement WeakReference in the VM 2022-02-10 21:59:41 +00:00
object_graph_copy.h
object_graph_test.cc
object_ia32_test.cc
object_id_ring.cc
object_id_ring.h
object_id_ring_test.cc
object_reload.cc [vm] Support arbitrary superclasses for enums 2022-01-18 21:48:56 +00:00
object_riscv_test.cc [vm] Support RISC-V. 2022-01-20 00:57:57 +00:00
object_service.cc [vm] Implement WeakReference in the VM 2022-02-10 21:59:41 +00:00
object_set.h
object_store.cc [vm] Improve async performance by taking advantage of static types of returned values 2022-02-04 22:06:59 +00:00
object_store.h [vm] Implement WeakReference in the VM 2022-02-10 21:59:41 +00:00
object_store_test.cc
object_test.cc [vm] Implement WeakReference in the VM 2022-02-10 21:59:41 +00:00
object_x64_test.cc
os.h
os_android.cc
os_fuchsia.cc
os_linux.cc [vm] Support RISC-V. 2022-01-20 00:57:57 +00:00
os_macos.cc
os_test.cc
os_thread.cc
os_thread.h
os_thread_android.cc
os_thread_android.h
os_thread_fuchsia.cc
os_thread_fuchsia.h
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
parser.h
pending_deopts.cc
pending_deopts.h
pointer_tagging.h
port.cc
port.h
port_set.h
port_test.cc
proccpuinfo.cc
proccpuinfo.h
profiler.cc [vm] Support RISC-V. 2022-01-20 00:57:57 +00:00
profiler.h
profiler_service.cc [ VM / Service ] Add support for streaming CPU samples with specific 2021-12-17 00:15:09 +00:00
profiler_service.h [ VM / Service ] Stream light-weight version of CpuSamples for CPU 2021-11-18 19:45:26 +00:00
profiler_test.cc
program_visitor.cc [vm/compiler] Minor improvements in hashcodes and test for inefficient hashes 2022-01-26 23:44:31 +00:00
program_visitor.h
random.cc
random.h
raw_object.cc [vm] Implement WeakReference in the VM 2022-02-10 21:59:41 +00:00
raw_object.h [vm] Implement WeakReference in the VM 2022-02-10 21:59:41 +00:00
raw_object_fields.cc [vm] Implement WeakReference in the VM 2022-02-10 21:59:41 +00:00
raw_object_fields.h [vm] Properly exclude the field descriptors from product builds. 2022-02-02 00:32:25 +00:00
regexp.cc [vm] Support RISC-V. 2022-01-20 00:57:57 +00:00
regexp.h
regexp_assembler.cc
regexp_assembler.h
regexp_assembler_bytecode.cc
regexp_assembler_bytecode.h
regexp_assembler_bytecode_inl.h
regexp_assembler_ir.cc
regexp_assembler_ir.h
regexp_ast.cc
regexp_ast.h
regexp_bytecodes.h
regexp_interpreter.cc
regexp_interpreter.h
regexp_parser.cc
regexp_parser.h
regexp_test.cc
report.cc
report.h
resolver.cc
resolver.h
reusable_handles.h
reverse_pc_lookup_cache.cc [vm] Improve Code cluster layout for startup 2021-12-16 10:39:49 +00:00
reverse_pc_lookup_cache.h [vm] Improve Code cluster layout for startup 2021-12-16 10:39:49 +00:00
ring_buffer.h
ring_buffer_test.cc
runtime_entry.cc [vm/isolate_exit] Ensure ffi code exits if isolate is exiting. 2022-01-08 06:01:08 +00:00
runtime_entry.h
runtime_entry_arm.cc [vm] Support RISC-V. 2022-01-20 00:57:57 +00:00
runtime_entry_arm64.cc [vm] Support RISC-V. 2022-01-20 00:57:57 +00:00
runtime_entry_ia32.cc [vm] Support RISC-V. 2022-01-20 00:57:57 +00:00
runtime_entry_list.h [vm/isolate_exit] Ensure ffi code exits if isolate is exiting. 2022-01-08 06:01:08 +00:00
runtime_entry_riscv.cc [vm] Support RISC-V. 2022-01-20 00:57:57 +00:00
runtime_entry_x64.cc [vm] Support RISC-V. 2022-01-20 00:57:57 +00:00
scope_timer.h
scopes.cc
scopes.h
scopes_test.cc
service.cc [VM] [CFE]: Make VM send over type information for expression compilation 2022-01-28 07:49:21 +00:00
service.h [ Service ] Add line/column information to SourceLocation objects 2022-01-12 02:09:24 +00:00
service_event.cc [ VM / Service ] Allow for system isolates to register service extensions 2021-12-08 22:09:08 +00:00
service_event.h
service_isolate.cc [vm] Don't include an isolate in getVM until it has been registered with the service isolate routing. 2022-01-11 18:19:15 +00:00
service_isolate.h
service_test.cc [standalone] Fix reuse of va_list in syslog_android.cc. 2021-12-15 22:22:36 +00:00
signal_handler.h
signal_handler_android.cc
signal_handler_fuchsia.cc
signal_handler_linux.cc [vm] Support RISC-V. 2022-01-20 00:57:57 +00:00
signal_handler_macos.cc
signal_handler_win.cc
simulator.h [vm] Support RISC-V. 2022-01-20 00:57:57 +00:00
simulator_arm.cc [vm, compiler] Assume availability of VFP when targeting ARM32. 2021-12-14 20:05:55 +00:00
simulator_arm.h [vm] Define kFpuRegisterSize based on the target architecture, not the host architecture. 2022-01-05 22:03:44 +00:00
simulator_arm64.cc [vm] Remove support for non-bare AOT snapshots 2021-11-24 13:03:52 +00:00
simulator_arm64.h
simulator_riscv.cc [vm] Support RISC-V. 2022-01-20 00:57:57 +00:00
simulator_riscv.h [vm] Support RISC-V. 2022-01-20 00:57:57 +00:00
snapshot.cc
snapshot.h
snapshot_test.cc
source_report.cc [vm] Adding branch coverage RPC to source report 2022-01-12 19:12:04 +00:00
source_report.h [vm] Adding branch coverage RPC to source report 2022-01-12 19:12:04 +00:00
source_report_test.cc [vm] Adding branch coverage RPC to source report 2022-01-12 19:12:04 +00:00
splay-tree.h
stack_frame.cc [vm] Improve Code cluster layout for startup 2021-12-16 10:39:49 +00:00
stack_frame.h [vm] Support RISC-V. 2022-01-20 00:57:57 +00:00
stack_frame_arm.h
stack_frame_arm64.h
stack_frame_ia32.h
stack_frame_riscv.h [vm] Support RISC-V. 2022-01-20 00:57:57 +00:00
stack_frame_test.cc
stack_frame_x64.h
stack_trace.cc [vm] Make stack trace generation code more conservative 2022-01-12 08:30:42 +00:00
stack_trace.h
static_type_exactness_state.h
stub_code.cc [vm] Remove support for non-bare AOT snapshots 2021-11-24 13:03:52 +00:00
stub_code.h
stub_code_arm64_test.cc
stub_code_arm_test.cc
stub_code_ia32_test.cc
stub_code_list.h [vm/isolate_exit] Ensure ffi code exits if isolate is exiting. 2022-01-08 06:01:08 +00:00
stub_code_riscv_test.cc [vm] Support RISC-V. 2022-01-20 00:57:57 +00:00
stub_code_test.cc
stub_code_x64_test.cc
symbols.cc
symbols.h [vm] Implement WeakReference in the VM 2022-02-10 21:59:41 +00:00
tagged_pointer.h [vm] Implement WeakReference in the VM 2022-02-10 21:59:41 +00:00
tags.cc [ VM / Service ] Add support for streaming CPU samples with specific 2021-12-17 00:15:09 +00:00
tags.h [ VM / Service ] Add support for streaming CPU samples with specific 2021-12-17 00:15:09 +00:00
thread.cc [vm/compiler] Allow WB elimination for small arrays. 2022-02-07 10:47:12 +00:00
thread.h [vm] Ensure safepoint_state is updated atomically when unwinding. 2022-01-27 21:58:24 +00:00
thread_barrier.h
thread_barrier_test.cc
thread_interrupter.cc
thread_interrupter.h
thread_interrupter_android.cc
thread_interrupter_android_arm.S
thread_interrupter_fuchsia.cc
thread_interrupter_linux.cc
thread_interrupter_macos.cc
thread_interrupter_win.cc
thread_pool.cc [vm] Add missing Dart_ThreadStartCallback. 2022-01-19 23:14:36 +00:00
thread_pool.h
thread_pool_test.cc
thread_registry.cc
thread_registry.h
thread_stack_resource.cc
thread_stack_resource.h
thread_state.cc
thread_state.h
thread_test.cc
timeline.cc [standalone] Fix reuse of va_list in syslog_android.cc. 2021-12-15 22:22:36 +00:00
timeline.h
timeline_android.cc
timeline_fuchsia.cc
timeline_linux.cc
timeline_macos.cc
timeline_test.cc
timer.cc
timer.h
token.cc
token.h
token_position.cc [vm] Change the encoding of token positions in the coverage array 2021-12-15 23:12:19 +00:00
token_position.h [vm] Change the encoding of token positions in the coverage array 2021-12-15 23:12:19 +00:00
type_testing_stubs.cc [vm] Support RISC-V. 2022-01-20 00:57:57 +00:00
type_testing_stubs.h
type_testing_stubs_test.cc [vm] Support RISC-V. 2022-01-20 00:57:57 +00:00
unibrow-inl.h
unibrow.cc
unibrow.h
unicode.cc
unicode_data.cc
unicode_test.cc
unit_test.cc [VM] [CFE]: Make VM send over type information for expression compilation 2022-01-28 07:49:21 +00:00
unit_test.h [vm] Support RISC-V. 2022-01-20 00:57:57 +00:00
uri.cc
uri.h
uri_test.cc
utils_test.cc
v8_snapshot_writer.cc [standalone] Fix reuse of va_list in syslog_android.cc. 2021-12-15 22:22:36 +00:00
v8_snapshot_writer.h
version.h
version_in.cc [vm] Support RISC-V. 2022-01-20 00:57:57 +00:00
virtual_memory.cc
virtual_memory.h
virtual_memory_compressed.cc
virtual_memory_compressed.h
virtual_memory_fuchsia.cc
virtual_memory_posix.cc [vm, ios] Check for the right sentinel value from GenericMapAligned. 2021-12-08 01:22:49 +00:00
virtual_memory_test.cc
virtual_memory_win.cc
visitor.cc
visitor.h
vm_sources.gni [vm] Support RISC-V. 2022-01-20 00:57:57 +00:00
zone.cc
zone.h
zone_test.cc
zone_text_buffer.cc
zone_text_buffer.h