dart-sdk/runtime
Alexander Markov 0c5b98bb15 [vm/nnbd] Preparation for type testing stubs in NNBD strong mode
This change includes the following:

* Decision to use subtype range checks is revised to work regardless of
  the NNBD mode.

* Handling of dynamic/Object/void is removed from SlowTypeTest stub
  as we use TopTypeTypeTest stub for the top types. That handling was
  unnecessary but harmless. However, in NNBD strong mode it becomes
  incorrect for non-nullable Object.

* TypeTestingStubGenerator::OptimizedCodeForType now falls back to
  TypeTestingStubGenerator::DefaultCodeForType instead of directly
  using StubCode::DefaultTypeTest(). This refactoring is needed to
  avoid duplicating a more complicated logic in
  TypeTestingStubGenerator::DefaultCodeForType in the future.


Change-Id: I09a3f3d9844c02263cd2dac7922c1bdd5264ee55
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135628
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2020-02-14 18:27:07 +00:00
..
bin Reland "Reland "fix hanging of write on Windows"" 2020-02-14 17:49:42 +00:00
docs [vm/docs] Publish "Introduction to Dart VM" source and build tools. 2020-02-04 09:04:32 +00:00
include Revert "[vm] AOT blobs snapshots are obsolete. Remove dead code." 2020-02-14 06:40:31 +00:00
lib Revert "[vm] AOT blobs snapshots are obsolete. Remove dead code." 2020-02-14 06:40:31 +00:00
llvm_codegen [llvm_codegen] Use exclusively SExpression support from VM and nothing else. 2019-10-30 16:27:04 +00:00
observatory [vm/async] Mark _AsyncAwaitCompleter.start and it's parent function non-visible. 2020-02-14 10:29:15 +00:00
platform [vm] Create an abstraction for updating object size info in tags for target. 2020-02-14 17:57:47 +00:00
tests/vm [vm/async] Mark _AsyncAwaitCompleter.start and it's parent function non-visible. 2020-02-14 10:29:15 +00:00
third_party Mass format python with yapf 2019-08-05 20:34:31 +00:00
tools Reland "[ DartFuzz ] Prevent generated programs from explicitly throwing OutOfMemoryError" 2020-02-10 23:57:21 +00:00
vm [vm/nnbd] Preparation for type testing stubs in NNBD strong mode 2020-02-14 18:27:07 +00:00
.clang-tidy [vm] Add runtime/.clang-tidy file 2019-09-05 09:51:13 +00:00
.gitignore
BUILD.gn [vm] Reland the flag flip behind the --nnbd build flag 2020-01-30 23:41:19 +00:00
codereview.settings
configs.gni [VM/runtime] - Remove DART_NO_SNAPSHOT 2020-01-08 18:56:21 +00:00
CPPLINT.cfg
PRESUBMIT.py Mass format python with yapf 2019-08-05 20:34:31 +00:00
runtime_args.gni [vm] DBC is obsolete. Remove dead code. 2019-10-27 18:18:29 +00:00