Commit graph

57732 commits

Author SHA1 Message Date
Brian Wilkerson f625490b09 Attempt to fix failures on the windows bot
Change-Id: I5fcda7cc11979dcde7948ffa4cfa53a5ee4e07e2
Reviewed-on: https://dart-review.googlesource.com/68162
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-08-02 19:16:04 +00:00
Sigmund Cherem bbfc465bd0 Cleaned up a few entries in the CHANGELOG
Mostly addressing my comments on https://dart-review.googlesource.com/c/sdk/+/67860 for the dart2js section

Change-Id: I421489088ba79be693fa07662a7c008f1f950944
Reviewed-on: https://dart-review.googlesource.com/68160
Reviewed-by: Vijay Menon <vsm@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2018-08-02 19:03:21 +00:00
Sigmund Cherem e402732eff Improve documentation of the -O flag
TBR=sra@google.com,vsm@google.com

Change-Id: Ib42647ab59313bdfa49df73c25282d0d734d6462
Reviewed-on: https://dart-review.googlesource.com/68140
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2018-08-02 18:48:21 +00:00
Régis Crelier b04def964c [VM interpreter] Save previous argdesc_ and pp_ on reentry, restore on exit.
Fix previously broken AssertAssignable bytecode failing to throw.
Do not assume interpreter is never called on generic closure.
Propagate error after failed getter invocation in GetFieldForDispatch runtime
call.

Change-Id: I548a49829cc29addbbd310f1dc19ce8073738015
Reviewed-on: https://dart-review.googlesource.com/67922
Commit-Queue: Régis Crelier <regis@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
2018-08-02 17:56:50 +00:00
Brian Wilkerson 92ae73b6d8 Fork the remaining subclasses of AbstractAnalysisClass
Change-Id: Ie3e561a6b6f4d29510f543d616998c795fd85191
Reviewed-on: https://dart-review.googlesource.com/68120
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-08-02 17:43:58 +00:00
Alexander Markov 884536dfaa [vm/kernel/bytecode] Fix bytecode generation for async closures
This CL fixes errors 'NoSuchMethodError: The getter 'dartAsyncMarker' was called on null.'
while generating bytecode for async closures.

Change-Id: I0e5726e4bf6a385772060b2ddba3cf762572538a
Reviewed-on: https://dart-review.googlesource.com/68003
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2018-08-02 16:10:19 +00:00
Alexander Markov ae001707b7 [vm/kernel/bytecode] Do not call getter for a static field initialized with double literal
Values of static fields with trivial initializers are pre-initialized
at load time, so such static fields do not have implicit getters.
Bytecode generator is fixed to treat double literal initializers as trivial
and avoid calling getters for such fields.

Also, this CL disables bytecode generation for static fields with trivial
initializers as their bytecode is not used.

Change-Id: I44b9d26ab2007e33d0d5b9f716e30848f0c38e8a
Reviewed-on: https://dart-review.googlesource.com/68005
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2018-08-02 16:10:02 +00:00
Brian Wilkerson 87f753dbd3 Replace some declarations of element with declaredElement
Change-Id: Idd62472b16cccaa98749a510197ec8d0f5053cb1
Reviewed-on: https://dart-review.googlesource.com/67820
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2018-08-02 16:00:36 +00:00
Zach Anderson 2be2cf2061 Bump analyzer_cli protobuf dep
This is needed to convince pub to let Fuchisa have
a Dart 2 compliant version of protobuf.

Change-Id: Ie9f8460d231579c07735355262f16fb1dad9fef9
Reviewed-on: https://dart-review.googlesource.com/68100
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
2018-08-02 15:53:05 +00:00
Aart Bik 206f955c43 [vm/compiler] Non-speculative ARM64 long division/remainder.
Rationale:
Having a non-speculative implementation avoids deopting
under JIT and enables AOT. Done for X64 and now also ARM64.

https://github.com/dart-lang/sdk/issues/33967

Change-Id: I83302a5950aa2dc1a7220367755af748cfaa4393
Reviewed-on: https://dart-review.googlesource.com/67920
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2018-08-02 15:50:26 +00:00
Konstantin Shcheglov 4bb3fb6cae Don't rewrite error Severity for special cases of front-end testing.
IIUC this rewriting was done to internally check front-end better, but
it get in the way of running analyzer, and these errors are not mandated
by the spec. So, I decided that I don't want doing rewriting in
Analyzer / CFE integration.

R=brianwilkerson@google.com, paulberry@google.com

Bug: https://github.com/dart-lang/sdk/issues/34042
Change-Id: I1bb41b271d8d84eace9bd13a269bcac157e9f89b
Reviewed-on: https://dart-review.googlesource.com/68006
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-08-02 15:41:12 +00:00
Konstantin Shcheglov d6189709b8 Issue 33506. Rewrite MethodInvocation into InstanceCreationExpression.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I712ab3c79cfe29b2c201b0affc10b33fc0f60d15
Bug: https://github.com/dart-lang/sdk/issues/33506
Reviewed-on: https://dart-review.googlesource.com/68004
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-08-02 15:33:11 +00:00
Jens Johansen 26e087e66b Don't save Tokens in Judgments
Before this CL, Judgments save Tokens in final fields.
This can take up quite a lot of space, and isn't actually (currently)
used for anything. Eventually it will be used in Analyzer.

This CL changes it so Judgments instead carry a `box` that is in
`non-analyzer-mode` just null, and in `analyzer mode` stores the Tokens
directly.

When running dart2js through the VM, this decreases the memory footprint
quite a lot, and seems to make the compile faster.

Details:

Removing the Tokens decrease the memory usage by almost 50MB
("Maximum resident set size" (as reported by /usr/bin/time -v)),
and more than 66MB from the old space in the kernel isolate after
ended compilation and changed the compile time of dart2js by
-7.71201% +/- 6.22211% (presumably because of less pressure on the GC).

For more details see the review page comments.

Change-Id: I7a31927f104e111c1b16be10b35f4164959a2130
Reviewed-on: https://dart-review.googlesource.com/67720
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2018-08-02 12:44:02 +00:00
Jens Johansen 4c75b49b3f Clear Token in field builder after use
When compiling dart2js this cuts down the old generation
(after forced GC, VM kernel isolate) from ~230 MB to ~217 MB.

Change-Id: Id06a2666d1849e49acc18c4142ab346f581e5b23
Reviewed-on: https://dart-review.googlesource.com/67520
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2018-08-02 12:44:02 +00:00
Brian Wilkerson ea0468dff4 Fork more server tests to run under CFE
Change-Id: I7addca0b708e0b0dbb28e60619ea0bc2c20711af
Reviewed-on: https://dart-review.googlesource.com/68001
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-08-02 12:39:46 +00:00
Brian Wilkerson 841f62715a Clean up some hints from the analyzer code base
Change-Id: I5fedd885d2a6853e809803fc46cf7008f76ed9bd
Reviewed-on: https://dart-review.googlesource.com/68000
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-08-02 12:39:36 +00:00
Vyacheslav Egorov c5f933fdf7 [vm/lib] String._identityHashCode should be the same as String.get:hashCode
On 64-bit platforms we use a field in the header to cache results of
Object.get:_identityHashCode. The very same field is also used to
cache String.get:hashCode result. Which means that their implementations
must be the same.

Fixes https://github.com/flutter/flutter/issues/20122

Change-Id: I98eef9eddf833c0d7c4c6f452728fe48e232efdc
Reviewed-on: https://dart-review.googlesource.com/68042
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2018-08-02 11:24:25 +00:00
Vyacheslav Egorov 4fa139b4b8 [vm/compiler] Rework how logical expressions are compiled to IL.
When logical expression is evaluated in the control context (e.g. if (cond) { ... })
avoid materializing a boolean value and then dispatching on it. Instead connect
true and false successors directly to then and else branches.

This CL also improves IL generated when logical expression is evaluated for value
(e.g. x = (cond)): we similarly avoid materializing intermediate results and also
avoid comparisons that are not needed, e.g. when evaluating x = A && B we construct
graph x = A ? B : false, instead of x = A ? (B == true ? true : false) : false style
of graph.

Change-Id: I204d414cc6751949641b6c46423a6319f6e2d89b
Reviewed-on: https://dart-review.googlesource.com/67562
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2018-08-02 10:51:53 +00:00
Alexander Thomas 9bb39ccabc [infra] Update checked in SDKs to 2.0.0-dev.69.5
Closes #33878

Change-Id: Id4687f59c31adb1338643f86909bc5b6b7afb88a
Reviewed-on: https://dart-review.googlesource.com/68040
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: Alexander Thomas <athom@google.com>
2018-08-02 10:36:29 +00:00
Jens Johansen 2580bf87ae Fix invalid assert that slipped by in ac8fdb5a
Change-Id: Iae23403b9bb7c57617c374034060cb1804e52bbd
Reviewed-on: https://dart-review.googlesource.com/68020
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2018-08-02 08:08:37 +00:00
Jens Johansen 1c2043e3a6 Update service test more to not be different in sync async mode
Before this CL the test fails because the stacktrace was not as expected
when running in sync async mode.
This CL changes the test so async methods are not executed synchronously
by adding an "await null;" as the first thing in those methods.

An alternative fix would have been to pass --no-sync-async.

Bug: #29158

Change-Id: Idd9bd159610405bbdd479d50d823953a9ad1abde
Reviewed-on: https://dart-review.googlesource.com/63742
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-08-02 07:24:02 +00:00
Jens Johansen ac8fdb5a58 Add :controller_stream and call _asyncStarListenHelper
This changes how we step out of async* functions slightly to match how
Dart1 behaves.

Bug: #29158

Change-Id: I8ee2df5eee8167fd1907a6e9f30c9dc7ab6939b1
Reviewed-on: https://dart-review.googlesource.com/63625
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-08-02 06:49:47 +00:00
Jens Johansen 2e98da68f9 Call _asyncStarMoveNextHelper in kernel
This changes how we step into async* functions slightly to match how
Dart1 behaves.

Bug: #29158
Change-Id: I4969ca48f798bd51f9d2d5bc26dd224fa7eff627
Reviewed-on: https://dart-review.googlesource.com/63624
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-08-02 06:16:15 +00:00
Bob Nystrom cb5513fbc9 Make a single clear CHANGELOG entry for all 2.0.0 changes.
Change-Id: Ib37a0a22aa75c7abdd0bb95381bdbafdc96bfe0f
Reviewed-on: https://dart-review.googlesource.com/67860
Reviewed-by: Vijay Menon <vsm@google.com>
Commit-Queue: Bob Nystrom <rnystrom@google.com>
2018-08-02 01:07:22 +00:00
Sigmund Cherem d3df394870 Add -O flag and documentation.
The idea is to provide a flag that can be stable through time, even as we add
and remove certain optimizations.

Fixes https://github.com/dart-lang/sdk/issues/34044

Change-Id: Ic07bf2148308b7530f2a69d7ebecb8fd7bf2d4cc
Reviewed-on: https://dart-review.googlesource.com/67921
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Kevin Moore <kevmoo@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
2018-08-02 00:36:53 +00:00
Alexander Markov 3f1bb85f17 [vm/kernel/bytecode] Do not generate InstantiateType for instantiated generic function types
InstantiateType bytecode can only be used on a non-instantiated type.
Type literals for generic function types without free type variables
(e.g. '<X>(dynamic, X) => X') are now generated using PushConstant.

Change-Id: I5c26751de4b47a0b98b075d8df85060bf78157d8
Reviewed-on: https://dart-review.googlesource.com/67980
Reviewed-by: Régis Crelier <regis@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2018-08-02 00:36:30 +00:00
Alexander Markov c5ac5c0a2c [vm/kernel/bytecode] Fix serialization of closures with type arguments
Before this change, ConstantClosureFunction was holding a clone of original
FunctionNode without body (in order to omit body during serialization).
It is not correct: original FunctionNode, which is used to generate
closure's bytecode may reference original type parameters and those
type parameters could be used in types written into constant pool.
A cloned FunctionNode has its own cloned copies of type parameters
and it does not provide a sufficient serialization/deserialization context.
This resulted in 'Type parameter T is not indexed' errors.

This CL fixes this problem by removing cloning. In order to avoid
serialization of the FunctionNode body, body is temporarily dropped
while writing ConstantClosureFunction.

Also, this CL fixes type finalization of signature types of closure functions
read from bytecode. If signature type is not finalized, VM crashes with
'../../runtime/vm/object.cc: 18580: error: expected: IsFinalized()'.

Change-Id: Id88e99609ee387352fc011a8c297024d05e24037
Reviewed-on: https://dart-review.googlesource.com/67960
Reviewed-by: Régis Crelier <regis@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2018-08-02 00:12:14 +00:00
Alexander Markov ff0327be67 [vm] Streamline passing of ICData through compilation pipeline
After this change, ICData map is always unpacked in CompileParsedFunctionHelper::Compile
regardless of the optimizing mode. The unpacked ICData array is passed
both to FlowGraphBuilder and to FlowGraphCompiler.

FlowGraphCompiler::FlowGraphCompiler no longer unpacks ICData array, and
the duplicated code for unpacking of ICData map is replaced with debug asserts.
Change-Id: Ib6864acdb6bcd02fe7acd1cb5bcf70d6c69808af
Reviewed-on: https://dart-review.googlesource.com/67505
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-08-02 00:00:59 +00:00
Devon Carew 012766901e Status file two flaky pkg bot tests.
Change-Id: I2b65b7390210bfaad5d1bcf03e12732ae9048c75
Reviewed-on: https://dart-review.googlesource.com/67900
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: Devon Carew <devoncarew@google.com>
2018-08-01 21:15:44 +00:00
Brian Wilkerson 6a6e7abfc6 Clean up some warnings in the server code base
Change-Id: I762fcc704fe0fa0547bbbc347eb248853d358121
Reviewed-on: https://dart-review.googlesource.com/67842
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-08-01 21:09:45 +00:00
Devon Carew e578b60899 Bump the analysis driver cache seed.
Change-Id: I3550357bd179fe527834c6b09122f17c1025688d
Reviewed-on: https://dart-review.googlesource.com/67881
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Devon Carew <devoncarew@google.com>
2018-08-01 20:39:58 +00:00
Brian Wilkerson f169ebf418 Fork several server tests to run under CFE
Change-Id: I9ca4184dc5458304f3f1597681fc1c936972d8bd
Reviewed-on: https://dart-review.googlesource.com/67880
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-08-01 20:18:40 +00:00
Devon Carew b1c9b67b68 Add initial content for the analyzer --use-cfe builders.
Change-Id: Ic44cb58bcf664d244c510b52800eaebfbef9b391
Reviewed-on: https://dart-review.googlesource.com/67580
Commit-Queue: Devon Carew <devoncarew@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2018-08-01 19:45:39 +00:00
Brian Wilkerson 373ed6b47f Create a LineInfo when resynthesizing a CompilationUnitElement
Change-Id: I42c075eefacab22d519a646395ec0cdb7322a87b
Reviewed-on: https://dart-review.googlesource.com/67702
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-08-01 18:35:37 +00:00
William Hesse 2a23bc2e0b Update named configurations on builders, turn off checking temporarily.
The named configurations aren't used yet, and checking that they agree
with the existing flags will now just print error messages, not make
the builder fail.

Change-Id: Ia0778855d3c45da8e3314f9cff0967ec1fc7893b
Reviewed-on: https://dart-review.googlesource.com/67807
Reviewed-by: William Hesse <whesse@google.com>
2018-08-01 16:50:41 +00:00
Brian Wilkerson 32851e157f Add support for running some non-integration tests in server using the CFE
Change-Id: Iea39976185b70c286ab300b0ee4eee613aa2a52a
Reviewed-on: https://dart-review.googlesource.com/67840
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-08-01 16:03:55 +00:00
William Hesse 0fd93a5c6e Test.dart exits with non-zero exit code if named configuration disagrees with flags.
Change-Id: I05e869c3f37aa786cd39185b51dda627133aa5e9
Reviewed-on: https://dart-review.googlesource.com/67805
Reviewed-by: Alexander Thomas <athom@google.com>
2018-08-01 16:01:16 +00:00
Régis Crelier 804fc2add3 [VM runtime] Consider partial instantiation when printing closures (fixes #34034).
Add regression test.

Change-Id: Ie83e8dc68e853942b186314cc572b2cf075d455f
Reviewed-on: https://dart-review.googlesource.com/67681
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Régis Crelier <regis@google.com>
2018-08-01 15:43:48 +00:00
Kevin Millikin c3b7f29d46 Change a pair of negative tests to multitests
Negative tests are inflexible: they are expected to fail so they pass
if they fail and the fail if they pass.  This requires strange status
file entries when they don't fail and aren't expected to (e.g., the
front-end's parser or the spec parser does not necessarily fail (i.e.,
pass)).

Change-Id: I1397b24fea63431472aa182f178bd14bc2afe8fe
Reviewed-on: https://dart-review.googlesource.com/67802
Reviewed-by: Erik Ernst <eernst@google.com>
Commit-Queue: Kevin Millikin <kmillikin@google.com>
2018-08-01 15:31:04 +00:00
William Hesse f10b4005cd Code to load a named configuration and check it against the existing options.
First stab at loading named configuration, plus temporary test code

Change-Id: I5835fe34a024a6052021c8189629a1578bed2355
Reviewed-on: https://dart-review.googlesource.com/63880
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2018-08-01 12:55:13 +00:00
Jens Johansen 695476f115 Status file after 03df8b1
app_jitk is not tested on try bots.

TBR.

Change-Id: If688115a4f5aca84728548e51c52e303d693ee25
Reviewed-on: https://dart-review.googlesource.com/67801
Reviewed-by: Jens Johansen <jensj@google.com>
2018-08-01 12:29:33 +00:00
William Hesse 7413644de8 Change builder names from -ff- to -firefox-
Change-Id: I69317cb92364de2b38f7967cb3ce9e3b307c7678
Reviewed-on: https://dart-review.googlesource.com/67780
Reviewed-by: Alexander Thomas <athom@google.com>
2018-08-01 12:28:13 +00:00
Erik Ernst 0c187585c5 Added return-void-2-dynamic to whitelist of generalized-void.md
We need to clarify the following case:
`dynamic foo() => print('');`,
`dynamic bar() { return print(''); }`
that is, using `return e` where `e` has type `void`, when the return
type of the enclosing function is `dynamic` (inferred or explicit).

We do not currently have any elements in the generalized-void.md
whitelist for that, so it's an error. However, invalid_returns.md
from https://dart-review.googlesource.com/c/sdk/+/60401 implies
(patchset 6: line 19-20 and 34-35) that it is allowed.
It is my impression that we agree on invalid_returns.md, and also
that it describes the current behavior (maybe not 100%?).

This indicates to me that we should, probably, add an element to
the above-mentioned whitelist to allow it.

This CL makes that change to generalized-void.md.

Change-Id: I0326081960deda907b3b4ff34bd2d60f7c9dc35b
Reviewed-on: https://dart-review.googlesource.com/64341
Reviewed-by: Erik Ernst <eernst@google.com>
2018-08-01 12:18:07 +00:00
Erik Ernst 6920d6b11e Added specification of generated nSM forwarders for private methods
The issue was raised recently that there must be generated forwarders
for some method signatures that we had not previously mentioned in
nosuchmethod-forwarders.md: Private methods with an inaccessible name,
that is, private methods declared in a different library than the
current target of nSM forwarder generation.

Given that such forwarders are semantically significant (a tear-off
performed in the library where the abstract private method declaration
is located would tear off a generated forwarder, rather than causing
an invocation of `noSuchMethod`), we need to specify this.

This CL adds such a specification to nosuchmethod-forwarders.md.

This CL addresses SDK issue #33725, and SDK issue #33727 is related
being concerned with the implementation in the common front
end.

Change-Id: Iedbcdd8b4c8df95c6038022f72b3211ec1b76649
Reviewed-on: https://dart-review.googlesource.com/64380
Reviewed-by: Erik Ernst <eernst@google.com>
2018-08-01 12:00:28 +00:00
Jens Johansen 03df8b1eb8 Change a few language_2 tests to comply with reality
Fix up override_inheritance_method_test.dart
Fix up override_inheritance_generic_test.dart
Fix up override_inheritance_field_test.dart
Fix up override_field_test.dart

Change-Id: I09f88c18e2473be645a955e1dc63d788e61382f4
Reviewed-on: https://dart-review.googlesource.com/64682
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Erik Ernst <eernst@google.com>
2018-08-01 11:03:12 +00:00
William Hesse cf77a3b00f [Test.dart] Use Compiler, Runtime, etc. classes from pkg:smith.
Change-Id: I1251c94e87fe6953f7604b5ef8f6ae5c49ab36d3
Reviewed-on: https://dart-review.googlesource.com/67522
Commit-Queue: William Hesse <whesse@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2018-08-01 09:45:17 +00:00
Brian Wilkerson 55880dfeed Add support in the new API for CFE
Change-Id: I4e7a12b786a8774e92dd96a5f94d86e1d1a3564e
Reviewed-on: https://dart-review.googlesource.com/67701
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-08-01 04:24:28 +00:00
Konstantin Shcheglov 4b07df24dd Store invalid deferred types used in bodies.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: Id9f6309b5a9af69d38305c538bacb967c4565793
Reviewed-on: https://dart-review.googlesource.com/67688
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2018-08-01 00:54:09 +00:00
Devon Carew 89cfa2edd7 Update package:test_reflective_loader.
Change-Id: If23bb61ef03efe62282ba2e163d3a830d6e0bfad
Reviewed-on: https://dart-review.googlesource.com/67700
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Devon Carew <devoncarew@google.com>
2018-08-01 00:20:45 +00:00
Aart Bik 8bad5c7b29 [vm/compiler] Non-speculative X64 long division/remainder.
Rationale:
Having a non-speculative implementation avoids deopting
under JIT and enables AOT.

https://github.com/dart-lang/sdk/issues/33967

Change-Id: Ib38200502f5a8f63912ff5d7a808ea6e27f9001d
Reviewed-on: https://dart-review.googlesource.com/67502
Commit-Queue: Aart Bik <ajcbik@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2018-08-01 00:13:55 +00:00