dart-sdk/runtime/vm
Alexander Markov ed593585cc [vm] Record operator== and hashCode
TEST=language/records/simple/equals_and_hashcode_test
TEST=co19/LanguageFeatures/Records/equality_*

Issue: https://github.com/dart-lang/sdk/issues/49719
Change-Id: I63842f980389d63650d00638f1cb1501db88b025
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/260442
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2022-09-22 21:24:58 +00:00
..
compiler [vm] Record operator== and hashCode 2022-09-22 21:24:58 +00:00
heap [vm] Clean up ClassTable 2022-09-10 15:12:35 +00:00
libfuzzer
service [ VM / Service ] Add isolateGroupId to IsolateRef and Isolate 2022-08-24 18:40:49 +00:00
allocation.cc
allocation.h
allocation_test.cc
analyze_snapshot_api_impl.cc [vm] Follow up to 4a4eedd860 2022-09-12 12:33:57 +00:00
app_snapshot.cc [vm] Remove dynamic field unboxing in JIT 2022-09-20 13:42:45 +00:00
app_snapshot.h Revert "[vm/compiler] Add symbols for read-only data when requested." 2022-07-27 13:30:28 +00:00
assert_test.cc
atomic_test.cc
base64.cc
base64.h
base64_test.cc
base_isolate.h
benchmark_test.cc [vm] Prevent Dart_NewSendPort from bypassing the arbitrary object checks. 2022-08-19 18:10:15 +00:00
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 Reland "[vm/compiler] Initial implementation of IL binary serialization" 2022-08-22 15:07:47 +00:00
bitmap.h Reland "[vm/compiler] Initial implementation of IL binary serialization" 2022-08-22 15:07:47 +00:00
bitmap_test.cc
boolfield.h
boolfield_test.cc
bootstrap.cc [vm] Remove dynamic field unboxing in JIT 2022-09-20 13:42:45 +00:00
bootstrap.h
bootstrap_natives.cc
bootstrap_natives.h [vm] runtimeType for record instances and record type equality 2022-09-19 22:05:04 +00:00
bss_relocs.cc
bss_relocs.h
BUILD.gn
canonical_tables.cc
canonical_tables.h [vm] Initial implementation of record types 2022-09-12 22:40:57 +00:00
catch_entry_moves_test.cc
class_finalizer.cc [vm] Initial implementation of record instances 2022-09-12 22:41:57 +00:00
class_finalizer.h [vm] Initial implementation of record types 2022-09-12 22:40:57 +00:00
class_finalizer_test.cc
class_id.h [vm] Initial implementation of record instances 2022-09-12 22:41:57 +00:00
class_table.cc [vm] Clean up ClassTable 2022-09-10 15:12:35 +00:00
class_table.h [vm] Remove dynamic field unboxing in JIT 2022-09-20 13:42:45 +00:00
closure_functions_cache.cc Revert "[vm] Cleanup unused code in ClosureFunctionsCache" 2022-08-26 14:31:12 +00:00
closure_functions_cache.h Revert "[vm] Cleanup unused code in ClosureFunctionsCache" 2022-08-26 14:31:12 +00:00
code_comments.cc
code_comments.h
code_descriptors.cc
code_descriptors.h Reland "[vm/compiler] Initial implementation of IL binary serialization" 2022-08-22 15:07:47 +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
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 [vm] Appease UBSAN for ARM64 and RV64. 2022-08-25 17:15:33 +00:00
code_patcher_riscv_test.cc
code_patcher_x64.cc
code_patcher_x64_test.cc
compiler_test.cc
constants.h
constants_arm.cc
constants_arm.h [vm] Null-initialize new record objects 2022-09-19 20:58:01 +00:00
constants_arm64.cc
constants_arm64.h [vm] Null-initialize new record objects 2022-09-19 20:58:01 +00:00
constants_base.h
constants_ia32.cc
constants_ia32.h [vm] Null-initialize new record objects 2022-09-19 20:58:01 +00:00
constants_riscv.cc
constants_riscv.h [vm] Null-initialize new record objects 2022-09-19 20:58:01 +00:00
constants_x64.cc
constants_x64.h [vm] Null-initialize new record objects 2022-09-19 20:58:01 +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 [vm] Add a stub simx64. 2022-07-29 18:11:01 +00:00
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] Initialize DartInitializationState in a way MSAN will accept. 2022-09-14 17:38:29 +00:00
dart.h
dart_api_impl.cc [vm] Add Dart_SetTimelineRecorderCallback. 2022-09-09 17:21:44 +00:00
dart_api_impl.h
dart_api_impl_test.cc [VM/Runtime] - Use 'const' qualifier for CObject typed data 2022-09-13 22:38:22 +00:00
dart_api_message.h
dart_api_state.cc
dart_api_state.h Reland "[VM - Runtime] Return nullptr when allocating a FinalizablePersistentHandle fails" 2022-09-06 15:13:16 +00:00
dart_entry.cc
dart_entry.h
datastream.cc
datastream.h
datastream_test.cc
debugger.cc [vm] Clean up ClassTable 2022-09-10 15:12:35 +00:00
debugger.h [vm] Cleanup more async-related code 2022-07-14 16:04:54 +00:00
debugger_api_impl_test.cc
debugger_api_impl_test.h
debugger_arm.cc
debugger_arm64.cc
debugger_ia32.cc
debugger_riscv.cc
debugger_x64.cc
deferred_objects.cc Revert "[vm, compiler] Implement unboxed SIMD for RISC-V via lowering." 2022-08-03 10:32:46 +00:00
deferred_objects.h
deopt_instructions.cc Revert "[vm, compiler] Implement unboxed SIMD for RISC-V via lowering." 2022-08-03 10:32:46 +00:00
deopt_instructions.h Revert "[vm, compiler] Implement unboxed SIMD for RISC-V via lowering." 2022-08-03 10:32:46 +00:00
dispatch_table.cc [vm] Follow up to 4a4eedd860 2022-09-12 12:33:57 +00:00
dispatch_table.h [vm] Follow up to 4a4eedd860 2022-09-12 12:33:57 +00:00
double_conversion.cc
double_conversion.h
double_internals.h
dwarf.cc
dwarf.h
elf.cc
elf.h
exceptions.cc Revert "[vm, compiler] Implement unboxed SIMD for RISC-V via lowering." 2022-08-03 10:32:46 +00:00
exceptions.h Revert "[vm, compiler] Implement unboxed SIMD for RISC-V via lowering." 2022-08-03 10:32:46 +00:00
exceptions_test.cc
experimental_features.cc [release] Bump version to 2.19 2022-07-14 14:14:55 +00:00
experimental_features.h [release] Bump version to 2.19 2022-07-14 14:14:55 +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
flags.cc
flags.h
flags_test.cc
frame_layout.h
gdb_helpers.cc
globals.h [vm] Allow enabling timeline in PRODUCT via DART_ENABLE_TIMELINE define 2022-09-20 10:58:25 +00:00
growable_array.h [vm/compiler] Unify VariadicDefinition and VariadicDefinitionWithEmbeddedInputs 2022-08-08 15:58:40 +00:00
growable_array_test.cc
guard_field_test.cc
handle_visitor.h
handles.cc
handles.h
handles_impl.h
handles_test.cc
hash.h
hash_map.h
hash_map_test.cc
hash_table.h
hash_table_test.cc
image_snapshot.cc Revert "[vm/compiler] Add symbols for read-only data when requested." 2022-07-27 13:30:28 +00:00
image_snapshot.h Revert "[vm/compiler] Add symbols for read-only data when requested." 2022-07-27 13:30:28 +00:00
instructions.cc
instructions.h
instructions_arm.cc
instructions_arm.h
instructions_arm64.cc
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] Appease UBSAN for ARM64 and RV64. 2022-08-25 17:15:33 +00:00
instructions_riscv.h [vm] Appease UBSAN for ARM64 and RV64. 2022-08-25 17:15:33 +00:00
instructions_riscv_test.cc
instructions_x64.cc
instructions_x64.h
instructions_x64_test.cc
intrusive_dlist.h
intrusive_dlist_test.cc
isolate.cc [vm] Fix -Werror=use-after-free in isolate shutdown. 2022-09-21 17:52:01 +00:00
isolate.h [vm] Fix -Werror=use-after-free in isolate shutdown. 2022-09-21 17:52:01 +00:00
isolate_reload.cc [vm] Remove dynamic field unboxing in JIT 2022-09-20 13:42:45 +00:00
isolate_reload.h [vm] Remove dynamic field unboxing in JIT 2022-09-20 13:42:45 +00:00
isolate_reload_test.cc [vm] Remove dynamic field unboxing in JIT 2022-09-20 13:42:45 +00:00
isolate_test.cc
json_stream.cc
json_stream.h
json_test.cc
json_writer.cc
json_writer.h
kernel.cc
kernel.h
kernel_binary.cc
kernel_binary.h [vm] Initial implementation of record types 2022-09-12 22:40:57 +00:00
kernel_isolate.cc [VM/Runtime] - Use 'const' qualifier for CObject typed data 2022-09-13 22:38:22 +00:00
kernel_isolate.h
kernel_loader.cc [vm] Remove dynamic field unboxing in JIT 2022-09-20 13:42:45 +00:00
kernel_loader.h [vm] Do not omit field setters if field needs null assertion 2022-09-16 16:55:10 +00:00
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 Revert to clang toolchain that was rolled in March 2022-08-24 16:56:19 +00:00
malloc_hooks_riscv.cc
malloc_hooks_tcmalloc.cc
malloc_hooks_test.cc [vm] Fix -Werror=use-after-free in isolate shutdown. 2022-09-21 17:52:01 +00:00
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] Remove dynamic field unboxing in JIT 2022-09-20 13:42:45 +00:00
message_snapshot.h [vm] Prevent Dart_NewSendPort from bypassing the arbitrary object checks. 2022-08-19 18:10:15 +00:00
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] Record operator== and hashCode 2022-09-22 21:24:58 +00:00
object.h [vm] Remove dynamic field unboxing in JIT 2022-09-20 13:42:45 +00:00
object_arm64_test.cc
object_arm_test.cc
object_graph.cc [vm] Remove dynamic field unboxing in JIT 2022-09-20 13:42:45 +00:00
object_graph.h [vm] Make heap snapshot writer also visit isolate stacks as roots 2022-08-06 11:24:28 +00:00
object_graph_copy.cc [vm] Remove dynamic field unboxing in JIT 2022-09-20 13:42:45 +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] Remove dynamic field unboxing in JIT 2022-09-20 13:42:45 +00:00
object_riscv_test.cc
object_service.cc [vm] Initial vm-service support for records 2022-09-19 19:28:02 +00:00
object_set.h
object_store.cc
object_store.h [vm] Record literals 2022-09-12 23:08:17 +00:00
object_store_test.cc
object_test.cc [vm, compiler] Discover the sole implementation of an interface when it is a different class than the interface. 2022-07-26 17:33:37 +00:00
object_x64_test.cc
os.h [vm] Add OS and architecture to non-symbolic stack traces. 2022-08-05 11:53:37 +00:00
os_android.cc [vm] Add OS and architecture to non-symbolic stack traces. 2022-08-05 11:53:37 +00:00
os_fuchsia.cc [vm] Add OS and architecture to non-symbolic stack traces. 2022-08-05 11:53:37 +00:00
os_linux.cc [vm] Add OS and architecture to non-symbolic stack traces. 2022-08-05 11:53:37 +00:00
os_macos.cc [vm] Add OS and architecture to non-symbolic stack traces. 2022-08-05 11:53:37 +00:00
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 [vm] Add OS and architecture to non-symbolic stack traces. 2022-08-05 11:53:37 +00:00
parser.cc
parser.h
pending_deopts.cc
pending_deopts.h
pointer_tagging.h
port.cc [vm] Prevent Dart_NewSendPort from bypassing the arbitrary object checks. 2022-08-19 18:10:15 +00:00
port.h [vm] Prevent Dart_NewSendPort from bypassing the arbitrary object checks. 2022-08-19 18:10:15 +00:00
port_set.h
port_test.cc
proccpuinfo.cc
proccpuinfo.h
profiler.cc [vm] Add OS and architecture to non-symbolic stack traces. 2022-08-05 11:53:37 +00:00
profiler.h
profiler_service.cc
profiler_service.h
profiler_test.cc [vm] Don't run DFE with a low optimization threshold in profiler tests. 2022-08-24 19:49:59 +00:00
program_visitor.cc [vm] Support serialization of FFI callbacks in IL serialization 2022-08-26 17:37:21 +00:00
program_visitor.h
random.cc Reland "[vm] Generate event ids for synchronous begin and end events." 2022-07-22 19:13:47 +00:00
random.h Reland "[vm] Generate event ids for synchronous begin and end events." 2022-07-22 19:13:47 +00:00
raw_object.cc [vm] Remove dynamic field unboxing in JIT 2022-09-20 13:42:45 +00:00
raw_object.h [vm] Remove dynamic field unboxing in JIT 2022-09-20 13:42:45 +00:00
raw_object_fields.cc [vm] Fix field index information in heap snapshots in AOT 2022-08-23 05:17:49 +00:00
raw_object_fields.h [vm] Fix field index information in heap snapshots in AOT 2022-08-23 05:17:49 +00:00
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 Reland "[vm/compiler] Initial implementation of IL binary serialization" 2022-08-22 15:07:47 +00:00
regexp_assembler_ir.h [vm/compiler] Unify VariadicDefinition and VariadicDefinitionWithEmbeddedInputs 2022-08-08 15:58:40 +00:00
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
reverse_pc_lookup_cache.h
ring_buffer.h
ring_buffer_test.cc
runtime_entry.cc [vm] Remove dynamic field unboxing in JIT 2022-09-20 13:42:45 +00:00
runtime_entry.h
runtime_entry_arm.cc
runtime_entry_arm64.cc
runtime_entry_ia32.cc
runtime_entry_list.h [vm] Remove dynamic field unboxing in JIT 2022-09-20 13:42:45 +00:00
runtime_entry_riscv.cc
runtime_entry_x64.cc
scope_timer.h
scopes.cc
scopes.h
scopes_test.cc
service.cc [vm] Initial implementation of record types 2022-09-12 22:40:57 +00:00
service.h [ VM / Service ] Add isolateGroupId to IsolateRef and Isolate 2022-08-24 18:40:49 +00:00
service_event.cc [ Service ] Add gcType to Event 2022-07-20 18:08:27 +00:00
service_event.h
service_isolate.cc [vm] Prevent Dart_NewSendPort from bypassing the arbitrary object checks. 2022-08-19 18:10:15 +00:00
service_isolate.h
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 [vm] Add a stub simx64. 2022-07-29 18:11:01 +00:00
simulator_arm.cc
simulator_arm.h
simulator_arm64.cc [vm] Appease UBSAN for ARM64 and RV64. 2022-08-25 17:15:33 +00:00
simulator_arm64.h
simulator_riscv.cc [vm] Appease UBSAN for ARM64 and RV64. 2022-08-25 17:15:33 +00:00
simulator_riscv.h
simulator_x64.cc [vm] Add a stub simx64. 2022-07-29 18:11:01 +00:00
simulator_x64.h [vm] Add a stub simx64. 2022-07-29 18:11:01 +00:00
snapshot.cc
snapshot.h
snapshot_test.cc [vm] Add unmodifiable typed data as a type that can be sent with Dart_PostCObject. 2022-09-12 19:45:12 +00:00
source_report.cc
source_report.h
source_report_test.cc Reland "[ VM / Service ] Add abstract flag to Function" 2022-07-15 18:30:20 +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 more async-related code 2022-07-14 16:04:54 +00:00
stack_trace.h [vm] Cleanup more async-related code 2022-07-14 16:04:54 +00:00
static_type_exactness_state.h
stub_code.cc [vm] Record literals 2022-09-12 23:08:17 +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] Remove dynamic field unboxing in JIT 2022-09-20 13:42:45 +00:00
stub_code_riscv_test.cc
stub_code_test.cc
stub_code_x64_test.cc
symbols.cc
symbols.h [vm] Initial implementation of record instances 2022-09-12 22:41:57 +00:00
tagged_pointer.h [vm] Initial implementation of record instances 2022-09-12 22:41:57 +00:00
tags.cc
tags.h
thread.cc [vm] Remove dynamic field unboxing in JIT 2022-09-20 13:42:45 +00:00
thread.h [vm] Remove dynamic field unboxing in JIT 2022-09-20 13:42:45 +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
timeline.cc [VM] Factor out helper functions related to isolate IDs 2022-09-19 19:46:01 +00:00
timeline.h [VM] Factor out helper functions related to isolate IDs 2022-09-19 19:46:01 +00:00
timeline_android.cc Reland "[vm] Generate event ids for synchronous begin and end events." 2022-07-22 19:13:47 +00:00
timeline_fuchsia.cc Reland "[vm] Generate event ids for synchronous begin and end events." 2022-07-22 19:13:47 +00:00
timeline_linux.cc Reland "[vm] Generate event ids for synchronous begin and end events." 2022-07-22 19:13:47 +00:00
timeline_macos.cc Reland "[vm] Forward dynamic events names to os_signposts as arguments." 2022-07-25 17:42:49 +00:00
timeline_test.cc [vm] Add Dart_SetTimelineRecorderCallback. 2022-09-09 17:21:44 +00:00
timer.cc
timer.h
token.cc Revert "[vm, compiler] Implement unboxed SIMD for RISC-V via lowering." 2022-08-03 10:32:46 +00:00
token.h Revert "[vm, compiler] Implement unboxed SIMD for RISC-V via lowering." 2022-08-03 10:32:46 +00:00
token_position.cc
token_position.h
type_testing_stubs.cc [vm] Initial implementation of record types 2022-09-12 22:40:57 +00:00
type_testing_stubs.h [vm] Initial implementation of record types 2022-09-12 22:40:57 +00:00
type_testing_stubs_test.cc
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 [vm] Add OS and architecture to non-symbolic stack traces. 2022-08-05 11:53:37 +00:00
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 [vm] Clean up ClassTable 2022-09-10 15:12:35 +00:00
visitor.h [vm] Clean up ClassTable 2022-09-10 15:12:35 +00:00
vm_sources.gni [vm] Add a stub simx64. 2022-07-29 18:11:01 +00:00
zone.cc
zone.h
zone_test.cc
zone_text_buffer.cc
zone_text_buffer.h