dart-sdk/runtime/vm
Ryan Macnak 1044c64347 [vm] Don't read function entry points when initializing Threads that don't execute Dart code.
Such helper threads may start concurrently with PostLoad phase of deserialization, during which the function entry points are being initialized.

TEST=tsan
Bug: https://github.com/dart-lang/sdk/issues/49394
Change-Id: I4cad3ebc0d54364d508ba8af8091efebbb6ece3a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/250761
Reviewed-by: Alexander Aprelev <aam@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2022-07-06 21:49:10 +00:00
..
compiler [vm] Bug fix in dedup optimization when build deferred components. 2022-07-06 11:04:10 +00:00
heap [vm, gc] Make force-growth a thread-local property. 2022-06-30 00:21:36 +00:00
libfuzzer
service Revert "[ VM / Service ] Add abstract flag to Function" 2022-06-24 07:35:29 +00:00
allocation.cc
allocation.h
allocation_test.cc
analyze_snapshot_api_impl.cc
app_snapshot.cc [vm] Account for pool entries that are immediate objects. 2022-06-30 20:32:44 +00:00
app_snapshot.h [vm] Don't depend on field objects to populate initial field table. 2022-05-16 19:08:45 +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
boolfield.h
boolfield_test.cc
bootstrap.cc
bootstrap.h
bootstrap_natives.cc
bootstrap_natives.h Revert "[vm] Generate event ids for synchronous begin and end events." 2022-07-01 16:08:40 +00:00
bss_relocs.cc
bss_relocs.h
BUILD.gn
canonical_tables.cc
canonical_tables.h
catch_entry_moves_test.cc
class_finalizer.cc
class_finalizer.h
class_finalizer_test.cc
class_id.h
class_table.cc
class_table.h
closure_functions_cache.cc
closure_functions_cache.h
code_comments.cc
code_comments.h
code_descriptors.cc
code_descriptors.h
code_descriptors_test.cc
code_entry_kind.h
code_observers.cc
code_observers.h
code_patcher.cc
code_patcher.h
code_patcher_arm.cc
code_patcher_arm64.cc
code_patcher_arm64_test.cc
code_patcher_arm_test.cc
code_patcher_ia32.cc
code_patcher_ia32_test.cc
code_patcher_riscv.cc
code_patcher_riscv_test.cc
code_patcher_x64.cc
code_patcher_x64_test.cc
compiler_test.cc
constants.h Added byte registers to the x86-64 disassembler 2022-06-08 22:57:03 +00:00
constants_arm.cc
constants_arm.h [vm] New implementation of sync* based on suspend/resume stubs 2022-06-27 18:19:12 +00:00
constants_arm64.cc
constants_arm64.h [vm] New implementation of sync* based on suspend/resume stubs 2022-06-27 18:19:12 +00:00
constants_base.h [vm, ffi] Misc fixes for RV32 FFI. 2022-06-08 19:41:52 +00:00
constants_ia32.cc Added byte registers to the x86-64 disassembler 2022-06-08 22:57:03 +00:00
constants_ia32.h [vm] New implementation of sync* based on suspend/resume stubs 2022-06-27 18:19:12 +00:00
constants_riscv.cc [vm, compiler] Use RISC-V's compare-and-branch for a shorter write barrier sequence. 2022-06-23 15:58:15 +00:00
constants_riscv.h [vm] New implementation of sync* based on suspend/resume stubs 2022-06-27 18:19:12 +00:00
constants_x64.cc Added byte registers to the x86-64 disassembler 2022-06-08 22:57:03 +00:00
constants_x64.h [vm] New implementation of sync* based on suspend/resume stubs 2022-06-27 18:19:12 +00:00
constants_x86.h
cpu.h
cpu_arm.cc
cpu_arm.h
cpu_arm64.cc
cpu_arm64.h
cpu_ia32.cc
cpu_ia32.h
cpu_riscv.cc
cpu_riscv.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 Revert "[vm] Generate event ids for synchronous begin and end events." 2022-07-01 16:08:40 +00:00
dart.h
dart_api_impl.cc Revert "[vm] Generate event ids for synchronous begin and end events." 2022-07-01 16:08:40 +00:00
dart_api_impl.h
dart_api_impl_test.cc Revert "[vm] Forward dynamic events names to os_signposts as arguments." 2022-07-01 16:07:50 +00:00
dart_api_message.h
dart_api_state.cc
dart_api_state.h
dart_entry.cc
dart_entry.h
datastream.cc
datastream.h
datastream_test.cc
debugger.cc [vm] Cleanup --lazy-async-stacks VM option 2022-06-10 13:41:24 +00:00
debugger.h [vm] Cleanup --lazy-async-stacks VM option 2022-06-10 13:41:24 +00:00
debugger_api_impl_test.cc Fix typos 2022-06-10 15:48:54 +00:00
debugger_api_impl_test.h
debugger_arm.cc
debugger_arm64.cc
debugger_ia32.cc
debugger_riscv.cc
debugger_x64.cc
deferred_objects.cc
deferred_objects.h
deopt_instructions.cc
deopt_instructions.h
dispatch_table.cc
dispatch_table.h
double_conversion.cc
double_conversion.h
double_internals.h
dwarf.cc
dwarf.h
elf.cc
elf.h
exceptions.cc [vm] New async/async* implementation in JIT mode 2022-06-02 23:39:45 +00:00
exceptions.h
exceptions_test.cc
experimental_features.cc Turn on the experimental feature inference-update-1. 2022-05-24 13:54:23 +00:00
experimental_features.h Turn on the experimental feature inference-update-1. 2022-05-24 13:54:23 +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] Cleanup --lazy-async-stacks VM option 2022-06-10 13:41:24 +00:00
flags.cc
flags.h
flags_test.cc
frame_layout.h
gdb_helpers.cc
globals.h Reland "[build] Fix Android build for ARM64 Mac." 2022-05-10 16:11:53 +00:00
growable_array.h
growable_array_test.cc
guard_field_test.cc
handle_visitor.h
handles.cc
handles.h
handles_impl.h
handles_test.cc
hash.h [vm] Avoid UB in FinalizeHash(hash) 2022-07-06 12:48:16 +00:00
hash_map.h
hash_map_test.cc [vm] Avoid UB in FinalizeHash(hash) 2022-07-06 12:48:16 +00:00
hash_table.h
hash_table_test.cc
image_snapshot.cc
image_snapshot.h
instructions.cc [vm, compiler] Fix annotating pool references in gen_snapshot. 2022-05-11 19:52:45 +00:00
instructions.h [vm, compiler] Fix annotating pool references in gen_snapshot. 2022-05-11 19:52:45 +00:00
instructions_arm.cc [vm, compiler] Fix annotating pool references in gen_snapshot. 2022-05-11 19:52:45 +00:00
instructions_arm.h
instructions_arm64.cc [vm, compiler] Fix annotating pool references in gen_snapshot. 2022-05-11 19:52:45 +00:00
instructions_arm64.h
instructions_arm64_test.cc
instructions_arm_test.cc
instructions_ia32.cc
instructions_ia32.h
instructions_ia32_test.cc
instructions_riscv.cc [vm, compiler] Support ShadowCallStack on Fuchsia RISC-V. 2022-05-16 22:35:55 +00:00
instructions_riscv.h
instructions_riscv_test.cc
instructions_x64.cc [vm, compiler] Fix annotating pool references in gen_snapshot. 2022-05-11 19:52:45 +00:00
instructions_x64.h
instructions_x64_test.cc
intrusive_dlist.h
intrusive_dlist_test.cc
isolate.cc [vm] Don't read function entry points when initializing Threads that don't execute Dart code. 2022-07-06 21:49:10 +00:00
isolate.h [vm/send_and_exit] Allow for safepoints when validating exit message. 2022-06-08 16:27:22 +00:00
isolate_reload.cc [vm, gc] Make force-growth a thread-local property. 2022-06-30 00:21:36 +00:00
isolate_reload.h [vm] New async/async* implementation in JIT mode 2022-06-02 23:39:45 +00:00
isolate_reload_test.cc
isolate_test.cc
json_stream.cc [ Service / AOT ] Include line numbers for Functions in AOT snapshots 2022-06-02 16:50:19 +00:00
json_stream.h [ Service / AOT ] Include line numbers for Functions in AOT snapshots 2022-06-02 16:50:19 +00:00
json_test.cc Fix typos 2022-05-24 09:10:51 +00:00
json_writer.cc
json_writer.h
kernel.cc
kernel.h
kernel_binary.cc
kernel_binary.h [kernel] Add exhaustiveness information to switch statements 2022-06-07 10:45:39 +00:00
kernel_isolate.cc [vm] Fix --enable-mirrors VM flag to affect environment and conditional imports 2022-06-17 17:20:09 +00:00
kernel_isolate.h
kernel_loader.cc [vm] New implementation of sync* based on suspend/resume stubs 2022-06-27 18:19:12 +00:00
kernel_loader.h
lockers.cc
lockers.h
log.cc [vm] Fix default log filtering to include the vm-service. 2022-05-11 19:31:04 +00:00
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 Reland "Update clang and gn to match Fuchsia." 2022-06-22 21:54:25 +00:00
malloc_hooks_riscv.cc [standalone] Update tcmalloc to 2.10. 2022-07-06 17:34:20 +00:00
malloc_hooks_tcmalloc.cc
malloc_hooks_test.cc
malloc_hooks_unsupported.cc
malloc_hooks_x64.cc
megamorphic_cache_table.cc
megamorphic_cache_table.h
memory_region.cc
memory_region.h
memory_region_test.cc
message.cc
message.h
message_handler.cc
message_handler.h
message_handler_test.cc
message_snapshot.cc [vm] Check for safepoints while initializing or copying large arrays. 2022-06-01 17:45:24 +00:00
message_snapshot.h
message_test.cc
metrics.cc
metrics.h
metrics_test.cc [vm/heap/metrics] Make sure heap-related metric are reported for the isolate group, rather than isolate. 2022-06-08 18:01:02 +00:00
mixin_test.cc [cfe] Remove support for old super-mixins feature 2022-06-13 15:30:57 +00:00
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] Bug fix in dedup optimization when build deferred components. 2022-07-06 11:04:10 +00:00
object.h [vm] Bug fix in dedup optimization when build deferred components. 2022-07-06 11:04:10 +00:00
object_arm64_test.cc
object_arm_test.cc
object_graph.cc
object_graph.h
object_graph_copy.cc [vm, gc] Evaluate old-gen GC on each new-gen page. 2022-06-07 21:56: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] New async/async* implementation in JIT mode 2022-06-02 23:39:45 +00:00
object_riscv_test.cc
object_service.cc [misc] Cleanup stale todos 2022-06-28 16:02:53 +00:00
object_set.h
object_store.cc [vm] New implementation of sync* based on suspend/resume stubs 2022-06-27 18:19:12 +00:00
object_store.h [vm] New implementation of sync* based on suspend/resume stubs 2022-06-27 18:19:12 +00:00
object_store_test.cc
object_test.cc Revert "[ VM / Service ] Add abstract flag to Function" 2022-06-24 07:35:29 +00:00
object_x64_test.cc
os.h
os_android.cc
os_fuchsia.cc
os_linux.cc
os_macos.cc
os_test.cc
os_thread.cc
os_thread.h
os_thread_absl.cc
os_thread_absl.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 [vm] New async/async* implementation in JIT mode 2022-06-02 23:39:45 +00:00
pending_deopts.h [vm] New async/async* implementation in JIT mode 2022-06-02 23:39:45 +00:00
pointer_tagging.h
port.cc
port.h
port_set.h
port_test.cc
proccpuinfo.cc
proccpuinfo.h
profiler.cc
profiler.h
profiler_service.cc
profiler_service.h
profiler_test.cc
program_visitor.cc [vm] Bug fix in dedup optimization when build deferred components. 2022-07-06 11:04:10 +00:00
program_visitor.h
random.cc Revert "[vm] Generate event ids for synchronous begin and end events." 2022-07-01 16:08:40 +00:00
random.h Revert "[vm] Generate event ids for synchronous begin and end events." 2022-07-01 16:08:40 +00:00
raw_object.cc [vm] New async/async* implementation in JIT mode 2022-06-02 23:39:45 +00:00
raw_object.h [vm] Small fixes 2022-07-04 07:53:39 +00:00
raw_object_fields.cc
raw_object_fields.h
regexp.cc
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 [vm] Bug fix in dedup optimization when build deferred components. 2022-07-06 11:04:10 +00:00
reverse_pc_lookup_cache.cc
reverse_pc_lookup_cache.h
ring_buffer.h
ring_buffer_test.cc
runtime_entry.cc [vm] New implementation of sync* based on suspend/resume stubs 2022-06-27 18:19:12 +00:00
runtime_entry.h
runtime_entry_arm.cc
runtime_entry_arm64.cc
runtime_entry_ia32.cc
runtime_entry_list.h [vm] New implementation of sync* based on suspend/resume stubs 2022-06-27 18:19:12 +00:00
runtime_entry_riscv.cc
runtime_entry_x64.cc
scope_timer.h
scopes.cc
scopes.h
scopes_test.cc
service.cc Revert "[vm] Forward dynamic events names to os_signposts as arguments." 2022-07-01 16:07:50 +00:00
service.h Revert "[ VM / Service ] Add abstract flag to Function" 2022-06-24 07:35:29 +00:00
service_event.cc
service_event.h
service_isolate.cc
service_isolate.h Fix typos 2022-06-15 11:08:28 +00:00
service_test.cc
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/sim/simd] Fix vmin/vmax implementation on simulator. 2022-05-11 16:59:24 +00:00
simulator_arm.h
simulator_arm64.cc [vm/sim/simd] Fix vmin/vmax implementation on simulator. 2022-05-11 16:59:24 +00:00
simulator_arm64.h
simulator_riscv.cc [vm, compiler] Use RISC-V's compare-and-branch for a shorter write barrier sequence. 2022-06-23 15:58:15 +00:00
simulator_riscv.h [vm] Speed up the RISC-V simulator. 2022-06-16 17:56:02 +00:00
snapshot.cc
snapshot.h
snapshot_test.cc
source_report.cc [vm] New implementation of sync* based on suspend/resume stubs 2022-06-27 18:19:12 +00:00
source_report.h [ VM / Service ] Add libraryFilters to getSourceReport RPC 2022-05-10 18:08:43 +00:00
source_report_test.cc Revert "[ VM / Service ] Add abstract flag to Function" 2022-06-24 07:35:29 +00:00
splay-tree.h
stack_frame.cc
stack_frame.h
stack_frame_arm.h
stack_frame_arm64.h
stack_frame_ia32.h
stack_frame_riscv.h
stack_frame_test.cc
stack_frame_x64.h
stack_trace.cc [vm] Cleanup --lazy-async-stacks VM option 2022-06-10 13:41:24 +00:00
stack_trace.h [vm] Cleanup --lazy-async-stacks VM option 2022-06-10 13:41:24 +00:00
static_type_exactness_state.h
stub_code.cc
stub_code.h
stub_code_arm64_test.cc
stub_code_arm_test.cc
stub_code_ia32_test.cc
stub_code_list.h [vm] New implementation of sync* based on suspend/resume stubs 2022-06-27 18:19:12 +00:00
stub_code_riscv_test.cc
stub_code_test.cc
stub_code_x64_test.cc
symbols.cc
symbols.h [vm] New implementation of sync* based on suspend/resume stubs 2022-06-27 18:19:12 +00:00
tagged_pointer.h
tags.cc
tags.h
thread.cc Revert "[vm] Generate event ids for synchronous begin and end events." 2022-07-01 16:08:40 +00:00
thread.h [vm] Bug fix in dedup optimization when build deferred components. 2022-07-06 11:04:10 +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
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 [vm, gc] Make force-growth a thread-local property. 2022-06-30 00:21:36 +00:00
timeline.cc Revert "[vm] Generate event ids for synchronous begin and end events." 2022-07-01 16:08:40 +00:00
timeline.h Revert "[vm] Generate event ids for synchronous begin and end events." 2022-07-01 16:08:40 +00:00
timeline_android.cc Revert "[vm] Generate event ids for synchronous begin and end events." 2022-07-01 16:08:40 +00:00
timeline_fuchsia.cc Revert "[vm] Generate event ids for synchronous begin and end events." 2022-07-01 16:08:40 +00:00
timeline_linux.cc Revert "[vm] Generate event ids for synchronous begin and end events." 2022-07-01 16:08:40 +00:00
timeline_macos.cc Revert "[vm] Generate event ids for synchronous begin and end events." 2022-07-01 16:08:40 +00:00
timeline_test.cc Revert "[vm] Generate event ids for synchronous begin and end events." 2022-07-01 16:08:40 +00:00
timer.cc
timer.h
token.cc
token.h
token_position.cc
token_position.h
type_testing_stubs.cc
type_testing_stubs.h
type_testing_stubs_test.cc [vm] New async/async* implementation in JIT mode 2022-06-02 23:39:45 +00:00
unibrow-inl.h
unibrow.cc
unibrow.h
unicode.cc
unicode_data.cc
unicode_test.cc
unit_test.cc
unit_test.h
uri.cc
uri.h
uri_test.cc
utils_test.cc
v8_snapshot_writer.cc
v8_snapshot_writer.h
version.h
version_in.cc
virtual_memory.cc
virtual_memory.h
virtual_memory_compressed.cc
virtual_memory_compressed.h
virtual_memory_fuchsia.cc
virtual_memory_posix.cc
virtual_memory_test.cc
virtual_memory_win.cc
visitor.cc
visitor.h
vm_sources.gni [standalone] Update tcmalloc to 2.10. 2022-07-06 17:34:20 +00:00
zone.cc [VM/Runtime] Inline first zone in a StackZone when we are not using 2022-05-05 23:20:25 +00:00
zone.h [VM/Runtime] Inline first zone in a StackZone when we are not using 2022-05-05 23:20:25 +00:00
zone_test.cc
zone_text_buffer.cc
zone_text_buffer.h