dart-sdk/runtime
Alexander Markov 06a8cc8dea [vm/nnbd] Use separate runtime entry for throwing _CastError in null check operator
Previously, NullError runtime entry was used both to throw
NoSuchMethodError and _CastError. _CastError was used if selector is
null. However, with --dwarf-stack-traces CodeSourceMap is not preserved
and selector is not available, so wrong exception type was thrown.

This is fixed by introducing separate NullCastError runtime entry along
with corresponding shared stubs.

NullErrorSlowPath is extended to support 3 exception types
(NoSuchMethodError, ArgumentError and CastError).
NullArgErrorSlowPath is removed as it duplicates NullErrorSlowPath.

Fixes vm/dart/null_checks_with_dwarf_stack_traces_test
Fixes https://github.com/dart-lang/sdk/issues/42149

Change-Id: I4f2b34ad2b161459491de60d8737bb4f87117336
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/153040
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2020-07-01 20:52:34 +00:00
..
bin [vm/nnbd] Detect null safety when running service isolate from AOT snapshot 2020-07-01 20:22:24 +00:00
docs [vm/ffi] Convert Objects to Dart_Handles in FFI calls 2020-06-12 11:14:22 +00:00
include [vm] Adjust internal UTF-8 encoder to match dart:convert. 2020-06-29 16:10:13 +00:00
lib [build] Support --clang when building dart sdk on Windows. 2020-06-25 03:36:41 +00:00
llvm_codegen [BUILD] - Format gn files, this is being done to ensure the unfork CL 2020-03-10 21:56:11 +00:00
observatory [observatory] Remove old custom element registration code. 2020-06-25 22:45:32 +00:00
platform [vm] Adjust internal UTF-8 encoder to match dart:convert. 2020-06-29 16:10:13 +00:00
tests/vm [vm] Ensure a switchable callsite never looses knowledge of it being dyn:* during transitions 2020-07-01 19:53:34 +00:00
third_party Reland "[vm] Build dart2native dependencies with the normal "create_sdk" target" 2020-06-17 16:12:26 +00:00
tools [vm] Remove (unused & deprecated) --package-root parameter from VM binaries and from tests (Platform.packageRoot always returns null) 2020-06-24 18:17:53 +00:00
vm [vm/nnbd] Use separate runtime entry for throwing _CastError in null check operator 2020-07-01 20:52:34 +00:00
.clang-tidy [vm] Add runtime/.clang-tidy file 2019-09-05 09:51:13 +00:00
.gitignore
BUILD.gn [vm] Remove ARMv6 related code 2020-06-26 09:39:15 +00:00
codereview.settings
configs.gni Reland "[vm] Build dart2native dependencies with the normal "create_sdk" target" 2020-06-17 16:12:26 +00:00
CPPLINT.cfg
PRESUBMIT.py [Presubmit] Fixes presubmit for breaking API change. 2020-03-03 13:30:20 +00:00
runtime_args.gni [vm] Fix linker bugs in --os=fuchsia release/product 2020-06-24 20:35:19 +00:00