dart2js has a bug where the sync* method entry type tests are placed in the iterator instead of the iterable.
Change-Id: Iea46c1fa31e80c6364b8405167d036cd59afcba2
Reviewed-on: https://dart-review.googlesource.com/53862
Reviewed-by: Jenny Messerly <jmesserly@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
Add regression test to existing bigint test.
Change-Id: I9e470c4002c25493285ce6bb908375ff913a4e17
Reviewed-on: https://dart-review.googlesource.com/54070
Reviewed-by: Alexander Markov <alexmarkov@google.com>
This makes it possible to do:
js.context['self'].addEventListener('message',
allowInterop((e) => print('received')));
Change-Id: I202b6c881372a77c0ec41dd334e9aa76286d7796
Reviewed-on: https://dart-review.googlesource.com/54068
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Change-Id: I4cf4ab4fb10cc7e323d9bb1007474673d6b0d52b
Reviewed-on: https://dart-review.googlesource.com/52526
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
This reverts commit cf78da8a48.
Reason for revert: introduces significant performance regression (~30%) on analyzer benchmarks (warm-analysis) without clearly visible hot-spot.
Original change's description:
> [VM] Reduce Smi size to 32 bit on 64 bit platforms
>
> This reduces small tagged integers on 64 bit platforms from 63 bits to
> 31 bits plus one tag bit.
> This is a step on the way to compile-time-optional compressed pointers
> on 64 bit platforms. See more about this at go/dartvmlearnings
> This causes a slowdown for some uses of integers that don't fit in 31
> signed bits, but because both x64 and ARM64 have unboxed 64 bit
> integers now the performance hit should not be too bad.
>
> This is a reapplication of
> https://dart-review.googlesource.com/c/sdk/+/46244
> It was reverted due to a compilation error on 32 bit
> ARM with DBC.
>
> R=vegorov@google.com
>
> Change-Id: I943de1768519457f0e5a61ef0b4ef204b6a53281
> Reviewed-on: https://dart-review.googlesource.com/51321
> Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
TBR=vegorov@google.com,erikcorry@google.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Change-Id: I8c5b909ec38663b5f5b05f69ef488c97341f8f3d
Reviewed-on: https://dart-review.googlesource.com/54000
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
Change-Id: Id25ed6580726610e9e0a108bc42eafe9d88bfc11
Reviewed-on: https://dart-review.googlesource.com/51600
Reviewed-by: Peter von der Ahé <ahe@google.com>
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
This code is unused and has been bit-rotting for some time, so we'll
remove support for the kVector{Create,Copy,Get,Set}/kClosureCreation
kernel expressions.
Change-Id: Ie83d35b6d2cd533f3c08084631c5faf0c14ff122
Reviewed-on: https://dart-review.googlesource.com/53940
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
This reverts commit 23a1534432.
Reason for revert: a different API is more suitable.
Original change's description:
> Add DartEditBuilder.writeTopLevelElementReference().
>
> R=brianwilkerson@google.com, paulberry@google.com
>
> Change-Id: Ib1511a91a7f021002e4b2f109cebe82b2814985d
> Reviewed-on: https://dart-review.googlesource.com/53687
> Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
> Reviewed-by: Paul Berry <paulberry@google.com>
TBR=paulberry@google.com,scheglov@google.com,brianwilkerson@google.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Change-Id: Ia5a8f1976d8ffc21de5672cce3dee73c3297cfcf
Reviewed-on: https://dart-review.googlesource.com/53881
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
This change has been adjusted to account for the recent fix to Internal_prependTypeArguments.
Reviewed-on: https://dart-review.googlesource.com/50980
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
Change-Id: I434a42578b91f0930b088c4d264d882c3ef5b4a3
Reviewed-on: https://dart-review.googlesource.com/53801
We should work on merging d8.js and this file, since they are almost identical.
Closes#7728
Change-Id: I4f754a4f59ad3b498eba7658d38cecc617bf784d
Reviewed-on: https://dart-review.googlesource.com/53860
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
This reverts commit eb2fbf501f.
Reason for revert: there is already corresponding quick assist, and it might be confusing to have both. Sorry.
Original change's description:
> Add a fix for prefer_single_quotes
>
> Change-Id: Ifb59ec4c6822858e019adf780bfd7726b229542e
> Reviewed-on: https://dart-review.googlesource.com/53824
> Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
> Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
TBR=devoncarew@google.com,scheglov@google.com,brianwilkerson@google.com,jmesserly@google.com,ianloic@google.com
Change-Id: I880c7188ba25eef66c704ade4b61de3be1b55eb9
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/53880
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
No changes other than moving around classes and methods.
Change-Id: I2bca30b7bd3bba85d0cbeb2ac2e2fe975aa3db62
Reviewed-on: https://dart-review.googlesource.com/53821
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
Split by ': ' and change test so it ignores difference in the path that gets escaped for ninja on Windows.
Bug: https://github.com/dart-lang/sdk/issues/33032
Change-Id: Iceeddba1a9c2d94a74c1f08d52144d2eb030f703
Reviewed-on: https://dart-review.googlesource.com/53681
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Alexander Aprelev <aam@google.com>
This CL changes dartLangSpec.tex to say that 'closurization' takes
place (rather than just saying that it's a 'function') when a
global/local/static function is torn off, just like it always did
for instance methods. Also, it standardizes on using the phrase
'function object' to denote the run-time entity obtained from such
a closurization.
This addresses the non-generic parts of the request in #31665.
Change-Id: I6967a74df178fbb26af0f572b0471219d3169e4f
Reviewed-on: https://dart-review.googlesource.com/46860
Commit-Queue: Erik Ernst <eernst@google.com>
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
This is another step to replacing parseType with computeType
and improving recovery when parsing types and type arguments.
This adds a new computeTypeParamOrArg utility which returns
one of a couple constants for common situations or an instance
of ComplexTypeParamOrArg. The computeType function and
some places in ComplexTypeInfo class have been updated to use
this new method, but there are additional places that will be
tackled in subsequent methods.
Change-Id: I7012b65580e9dbc74b9424456262aa3c0367f48b
Reviewed-on: https://dart-review.googlesource.com/53641
Reviewed-by: Peter von der Ahé <ahe@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
This change ensures the ninja files are generated when the gclient hooks
are run.
Change-Id: Ifbf312d89580113fa699765c436deaa470027939
Reviewed-on: https://dart-review.googlesource.com/53760
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: Jonas Termansen <sortie@google.com>
Change-Id: I8fa411533a2458cb099fd424b47d3fca8a2a4aad
Reviewed-on: https://dart-review.googlesource.com/53660
Reviewed-by: Peter von der Ahé <ahe@google.com>
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
Previously the graph was constructed in such a way that
:function_type_arguments_var was only initialized when we call the
function with yield points for the first time. Which meant that on
resumption we would the type arguments.
Alternative to this fix would be to capture :function_type_arguments_var
but that does not make sense: yield points only occur inside
non-generic functions at the moment, which means that :function_type_arguments_var
is cheaper then capturing it as it is just a load of a field
from the closure object.
Fixes https://github.com/dart-lang/sdk/issues/33025
Bug: 33025
Change-Id: I0543b64202511a6c48744d462e384cf8a79e903e
Reviewed-on: https://dart-review.googlesource.com/53664
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
The expanded form takes long time to compile in release mode (>200s)
this reduces compilation time of intrinsifier.cc by a factor of 20x.
Bug: https://github.com/dart-lang/sdk/issues/33023
Change-Id: Idff9d8a46a5335eb7a722c3eee02dc2258b16283
Reviewed-on: https://dart-review.googlesource.com/53421
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>