mirror of
https://github.com/dart-lang/sdk
synced 2024-09-16 01:30:32 +00:00
d7c0271ac0
The transitive copy algorithm was missing support for [WeakProperty]s, thereby ensuring that we only copy the values if the keys are reachable. Furthermore we might need to re-hash [Expando]s - since the copied objects start with no identity hash codes. The CL also makes us avoid calling to Dart for each [Expando] separately and instead use a list - just as we do in the re-hashing of maps/sets. We also move the C++ code to invoke rehashing logic into DartLibraryCalls::*. Issue https://github.com/dart-lang/sdk/issues/36097 TEST=vm/dart{,_2}/isolates/fast_object_copy{,2}_test Change-Id: I836745feef8a6d7573faa94e29a19c1eca0c39f2 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/209106 Commit-Queue: Martin Kustermann <kustermann@google.com> Reviewed-by: Alexander Aprelev <aam@google.com> Reviewed-by: Ryan Macnak <rmacnak@google.com> |
||
---|---|---|
.. | ||
analyzer | ||
async | ||
collection | ||
convert | ||
developer | ||
html | ||
isolate | ||
js | ||
math | ||
mirrors | ||
typed_data | ||
wasm | ||
web | ||
lib_2.status | ||
lib_2_app_jit.status | ||
lib_2_dart2js.status | ||
lib_2_dartdevc.status | ||
lib_2_kernel.status | ||
lib_2_precompiled.status | ||
lib_2_vm.status |