This initial commit includes: the definitions of a modular test, a module, a
pipeline, and an in-memory implementation of such pipeline, and an IO implementation.
Change-Id: I69056342da8ba126459064d7751d5dbe75ebcfca
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/100627
Reviewed-by: Johnni Winther <johnniwinther@google.com>
MediaSource is an experimental technology. Not compatible with iOS Safary, even with current last iOS version (v12 April 2019).
This JS function (polyfill) crashes web compiled Dart load on iOS.
Closes#36683https://github.com/dart-lang/sdk/pull/36683
GitOrigin-RevId: c18de2cc60e0c06c566e3f2f552d6543a45011fa
Change-Id: Ic36d2cb257ecccf1b94b026f40a949a74409c371
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99980
Reviewed-by: Vijay Menon <vsm@google.com>
Commit-Queue: Vijay Menon <vsm@google.com>
This CL is the next step in moving the language version comment
detecting from parser to scanner.
* update the scanner to produce a new LanguageVersionToken
* expose the languageVersion in the scanner result
* include languageVersion as a comment if includeComments == true
* rename languageVersionToken to languageVersion
Change-Id: Ie6be6e95e2fa6b7d3b9123bea556bcd5e89888f8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/100880
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
Previously, this class held on to a ConstraintVariable indicating
whether a null check should be inserted. Now it holds on to
NullabilityNodes indicating whether the source and destination of an
assignment are nullable, and it can infer from this whether a null
check needs to be inserted.
This paves the way for removing the old constraint solving logic in
favor of a more direct nullability propagation approach using
nullability nodes.
Change-Id: I96b95c400ed40bd12f9c9dcbb4c09a69849e51c5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/100885
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
Previously, IsolateReloadContext::CheckpointClasses() was filling
local_saved_class_table with raw pointers to classes and at the same
time it was adding classes to the set which is based on Array.
After that local_saved_class_table was saved into saved_class_table_
were it becomes visible to GC. However, adding an element to the set
may trigger GC in the middle and pointers for already processed
classes in local_saved_class_table are not visited and are not updated
if GC moves a Class object.
Also, IsolateReloadContext::VisitObjectPointers was not visiting
classes in saved_class_table_ properly as it was interpreting it as
an array of saved_num_cids_ pointers (while it is an array of
ClassAndSize elements).
This change fixes flaky crashes in vm/dart/trigger_gc_in_native_test.
Change-Id: I25b2e50995cf580bc9347f06875d344f75a1a950
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/100728
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
This should make it easier to refactor the migration logic without
having to change tests too much.
Note that there is a minor loss of test coverage: in
test_functionInvocation_parameter_fromLocalParameter, we no longer
verify that non-null intent is sufficent to force a check to occur.
This is ok, because in future CLs, we will be simplifying the logic
for deciding when to add null checks so that it occurs precisely when
it's necessary to avoid a type mismatch. Once that change has been
made, the correct behavior with non-null intent will happen
automatically.
Change-Id: I087c5c800fae3defa5b68380f05da40700af1359
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/100793
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
If an expression compilation issues problems of any sort, they are saved
in the target-libraries problemsAsJson field. That's not ideal,
as it means that they can be re-issued later, as well as possibly being
serialized into the dill file.
This CL resets the problemsAsJson field of the real library,
thus fixing the issue.
Change-Id: I765c2cc50059c6bcda6a56bb749869dd4b181876
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96800
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Aske Simon Christensen <askesc@google.com>
Background compiler could be running while Dart_SortClasses() clears all
code. It causes flaky crashes on vm/dart/appjit_bytecode_simple_test test
as background compiler may need to access bytecode, which can be read in
mutator thread only.
Also, background compiler may potentially add new code which would not be
compatible with rearranged class ids.
This CL stops background compiler in Dart_SortClasses() before code is
cleared to avoid these conflicts.
Change-Id: Ide30d469dc1c4b0e853a2244dc2ddfd5cb70d86a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/100726
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Linking on Fuchsia is more constrained because libdart is a shared library on Fuchsia and a static library everywhere else.
Change-Id: If97385ee0b23b6ed75abd28b14dae5de123915f3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/100625
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
vm/cc/GenKernelKernel* tests enabled interpreter by setting
FLAG_enable_interpreter in order to benchmark bytecode reading.
As a side effect, this enables interpretation of special functions
(like implicit getters) on other isolates such as kernel-service isolate.
They may even reach compilation threshold and unoptimized background
compilation is triggered. However, as isolate was created with
FLAG_enable_interpreter == false, unoptimized BackgroundCompiler was not
created, so it causes flaky crashes.
A less intrusive way to enable bytecode reading is to set
FLAG_use_bytecode_compiler.
Change-Id: Ie0601d43816b29c62fb0278ed4666d38fc4328c3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/100788
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>