Commit Graph

6890 Commits

Author SHA1 Message Date
fschneider@google.com 0b31ede896 VM: Add constant propagation for binary double operations.
R=vegorov@google.com

Review URL: https://codereview.chromium.org//554543003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39956 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-08 12:08:19 +00:00
srdjan@google.com e0c2f862f5 ARM: for StrictCompare cache constant values in register instead of materializing it each time. Next step: port it to other platform that have slower materialization of constants.
R=zra@google.com

Review URL: https://codereview.chromium.org//548633003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39929 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-05 20:58:46 +00:00
mlippautz@google.com 800508d980 Bubble up exceptions throw async/await.
This CL addresses bubbling up exceptions through async and await. It adds another parameter to the continuation that can be used to rethrow an error.

BUG=
R=hausner@google.com, srdjan@google.com

Review URL: https://codereview.chromium.org//542893004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39926 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-05 19:50:34 +00:00
mlippautz@google.com a895798d94 Fix printing ReturnNode_s.
BUG=
R=hausner@google.com

Review URL: https://codereview.chromium.org//542863003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39917 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-05 16:30:12 +00:00
vegorov@google.com c431dbcb3f Cleanup throwing of the RangeError in the runtime to remove duplicated code.
Improve List._copyFromObjectArray native performance for large arrays by using PassiveObject instead of Object.

R=iposva@google.com
BUG=

Review URL: https://codereview.chromium.org//533483003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39911 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-05 13:15:56 +00:00
fschneider@google.com 6b4c05766f Fix xcode build for real.
R=vegorov@google.com

Review URL: https://codereview.chromium.org//540303002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39909 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-05 11:30:38 +00:00
fschneider@google.com 36c0b7b0e8 Attempt to fix xcode build.
tbr=vegorov@google.com

Review URL: https://codereview.chromium.org//546673003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39906 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-05 10:48:17 +00:00
fschneider@google.com 08b9e1fb2d Fixes for ARM/ARM64/MIPS parallel move resolver.
The parallel move resolve has to block reserved registers like
TMP, TMP2, PP, CTX so that they are not used as scratch registers.

Use allocated scratch register instead of IP because IP may be
used for large stack slot offsets.

This CL also generalizes stack-slot locations to address
stack lots relative to FP or SP.

R=zra@google.com

Review URL: https://codereview.chromium.org//539073002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39905 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-05 09:49:53 +00:00
lrn@google.com 0acdec95ff Specify packageRoot parameter to Isolate.spawnUri.
R=ajohnsen@google.com

Review URL: https://codereview.chromium.org//439723004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39903 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-05 09:11:54 +00:00
ajohnsen@google.com ebfff1fd60 Remove last _logResolution reference.
Was missed due to merge.

BUG=

Review URL: https://codereview.chromium.org//540253002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39899 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-05 06:32:49 +00:00
ajohnsen@google.com d6bbe5ad08 Don't do Uri->String->Uri when resolving package imports.
This fixes an issue on windows where Uri.parse(Uri.toFilePath()) would produce escaped Windows paths.

BUG=
R=ricow@google.com

Review URL: https://codereview.chromium.org//538373002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39898 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-05 06:24:22 +00:00
ajohnsen@google.com 8674d45766 Remove debug logging from builtin.
BUG=
R=iposva@google.com

Review URL: https://codereview.chromium.org//534273002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39897 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-05 05:38:34 +00:00
ajohnsen@google.com ed3981ec78 Reduce the number of Uris parsed in builtin.
BUG=
R=iposva@google.com

Review URL: https://codereview.chromium.org//543713002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39896 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-05 05:33:17 +00:00
koda@google.com cdafe57cac During promotion, use bump allocation whenever there are no small blocks available.
R=iposva@google.com

Review URL: https://codereview.chromium.org//534653002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39893 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-05 01:07:57 +00:00
rmacnak@google.com 154c31169e Teach the Observatory about WeakProperties (ephemerons).
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//536273002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39885 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-04 20:36:34 +00:00
rmacnak@google.com 22fed7f373 Teach the Observatory about MirrorReferences.
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//542473003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39883 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-04 19:55:15 +00:00
rmacnak@google.com 92b17f752b Address static warnings in the service library and tests.
BUG=http://dartbug.com/20805
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//544753002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39882 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-04 18:38:39 +00:00
mlippautz@google.com 8558638543 Enable await in for and for-in loops.
BUG=
R=srdjan@google.com

Review URL: https://codereview.chromium.org//538803002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39880 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-04 17:42:38 +00:00
mlippautz@google.com 8db9d5ceac Parse await as part of an unary expression.
BUG=
R=hausner@google.com

Review URL: https://codereview.chromium.org//543433003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39879 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-04 17:09:44 +00:00
turnidge@google.com d3173684dd Add --break-at-isolate-spawn to help with isolate debugging.
This flags stops spawned isolates with a one-time breakpoint at their
entrypoints.

Fix a bug in Observatory which interfered with browsing a spawned
isolate.

BUG=
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//537673002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39878 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-04 16:53:44 +00:00
turnidge@google.com 8e472a756f Fix const problem...
BUG=

Review URL: https://codereview.chromium.org//536483004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39877 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-04 16:36:32 +00:00
turnidge@google.com 797905192a Add unit tests for the JSON format of several of our object types.
I am going to change the format soon and I wanted testing in place
beforehand.

R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//517243003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39876 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-04 16:22:15 +00:00
jgruber@google.com 285af85187 Forward heap space argument in String and Integer::New*
BUG=
R=iposva@google.com, vegorov@google.com

Review URL: https://codereview.chromium.org//544573003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39874 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-04 15:45:48 +00:00
floitsch@google.com 46043093af Move js library back into compiler directory.
R=ricow@google.com

Review URL: https://codereview.chromium.org//538513002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39870 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-04 13:49:30 +00:00
vegorov@google.com f0f60262cd Improve LoadOptimizer::ReplacePhiWith.
Previously we were only looking for congruent phis. But we can also include all operations that allow CSE and have no dependencies (e.g. arithmetic) into the congruency check.

This allows in the code like

var idx = 0;
for (var el in src) dst[idx++] = el;

see the congruency between Phi introduced for idx and Phi that LoadOptimizer emits for iterator's _index field. As the result we are able to optimize this code to use a single iteration variable instead of two.

R=fschneider@google.com
BUG=

Review URL: https://codereview.chromium.org//537963002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39864 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-04 12:56:15 +00:00
ajohnsen@google.com b01818d7be Don't use async loading in gen_snapshot.
This fixes the dartium builds.

BUG=

Review URL: https://codereview.chromium.org//543623003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39855 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-04 09:42:22 +00:00
ricow@google.com a1f884b9b7 Mark observatory tests as failing on the analyzer
Filed issue 20805

Review URL: https://codereview.chromium.org//537853002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39850 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-04 07:48:24 +00:00
ajohnsen@google.com e8946947aa Fix handling of Windows paths after cleanup.
BUG=

Review URL: https://codereview.chromium.org//539863002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39849 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-04 07:03:04 +00:00
ajohnsen@google.com ad4d4af975 Reuse HttpClient in the built-in resource loader.
BUG=

Review URL: https://codereview.chromium.org//539473002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39848 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-04 06:53:41 +00:00
ajohnsen@google.com 8c633a390e Cleanup resource loading of the VM.
There is not only one path for loading resources, and it's async.

BUG=

Review URL: https://codereview.chromium.org//529203004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39847 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-04 06:42:01 +00:00
rmacnak@google.com 117f18b8a4 Teach the Observatory about Contexts. Factor out object graph information from the instance view.
Address various issues with mismatched tags and type errors.

R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//532063002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39845 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-04 00:27:49 +00:00
zra@google.com ec1140b188 Adds support for building arm64 Android.
R=regis@google.com

Review URL: https://codereview.chromium.org//539573003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39844 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-03 23:31:51 +00:00
mlippautz@google.com 98628f3543 Enable await in while and do-while.
BUG=
R=srdjan@google.com

Review URL: https://codereview.chromium.org//538703002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39839 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-03 21:51:15 +00:00
srdjan@google.com 9820ecf1eb Fix printing of PcDescriptors.
R=regis@google.com

Review URL: https://codereview.chromium.org//534373003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39837 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-03 21:19:57 +00:00
vegorov@google.com a1e2035eda Improve List.sublist and List.toList for large lists.
- Merge array allocation and List._copyFromObjectArray to provide memmove fast path;

- In optimizer given v2 = CreateArray(v0, v1) fold v2.length load to v1;

BUG=
R=iposva@google.com, srdjan@google.com

Review URL: https://codereview.chromium.org//536043002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39831 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-03 20:36:01 +00:00
asiva@google.com f64b948290 Fix build break (forgot this file in the previous CL).
Review URL: https://codereview.chromium.org//535303002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39818 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-03 18:35:22 +00:00
asiva@google.com 10011c8b72 - Make Parser::ReceiverType an instance method so that it has access to 'I'
- Minor changes to avoid handle creation.
- Fix snapshot version check error message.

R=srdjan@google.com

Review URL: https://codereview.chromium.org//516303006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39815 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-03 18:29:12 +00:00
mlippautz@google.com 5faff13d23 Enable await in more statements.
Properly parse await in if, else if, switch, and return.

BUG=
R=hausner@google.com

Review URL: https://codereview.chromium.org//537623002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39813 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-03 17:34:21 +00:00
mlippautz@google.com 56f63abc4f Reland: Fix scoping async functions.
This CL fixes several scoping/context issues:
* Do not reuse scopes in SequenceNode_s as they might introduce a new context
  level. In that case we would trigger context allocationg multiple times
  resulting in scope/contexts being out of sync.
* Properly save and restore saved_try_context in try/catch/finally blocks and
  nesting closures. For this we need to keep track of async closures top scopes.

Updated version of https://codereview.chromium.org/520223002/

BUG=
R=hausner@google.com, srdjan@google.com

Review URL: https://codereview.chromium.org//530313002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39810 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-03 16:34:00 +00:00
fschneider@google.com e2443c0ef2 VM: Clean up generated code for NoSuchMethod invocation of closures.
Remove unnecessary ic-data argument from the runtime function that
invokes noSuchMethod for closures.  This reduces the size of generated
code for closures.

R=vegorov@google.com

Review URL: https://codereview.chromium.org//517383005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39804 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-03 12:51:28 +00:00
lrn@google.com 6484ca2694 Don't always call _copyFromObjectArray.
The call is a runtime call, not internalized as I expected.
Only use it for large array slices.

R=srdjan@google.com, vegorov@google.com

Review URL: https://codereview.chromium.org//518273004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39803 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-03 12:39:31 +00:00
ajohnsen@google.com f75e71d95c Remove unused string interpolations.
BUG=
R=lrn@google.com

Review URL: https://codereview.chromium.org//532233002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39802 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-03 12:35:50 +00:00
koda@google.com a82cf5960a Add lost usage update to TryAllocateInternal.
BUG=dart:20056
R=rmacnak@google.com

Review URL: https://codereview.chromium.org//531153003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39785 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-02 23:36:31 +00:00
rmacnak@google.com c7d3dde161 Don't leak memory between iterations of the message serialization benchmarks.
BUG=http://dartbug.com/20767
R=asiva@google.com

Review URL: https://codereview.chromium.org//528073002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39781 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-02 22:07:12 +00:00
mlippautz@google.com 165df6920d Revert "Fix scoping async functions."
This reverts commit 7c03f3ef75f546c73d46680206cd7fe61997e1be.

BUG=

Review URL: https://codereview.chromium.org//536543002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39777 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-02 20:54:04 +00:00
mlippautz@google.com bfbc0c1118 Fix scoping async functions.
This CL fixes several scoping/context issues:
* Do not reuse scopes in SequenceNode_s as they might introduce a new context
  level. In that case we would trigger context allocationg multiple times
  resulting in scope/contexts being out of sync.
* Properly save and restore saved_try_context in try/catch/finally blocks and
  nesting closures. For this we need to keep track of async closures top scopes.

R=hausner@google.com

Review URL: https://codereview.chromium.org//520223002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39775 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-02 20:25:35 +00:00
rmacnak@google.com 0f0b5d00e5 Reapply "Give instances their own model class; move DartErrors out of instance-ref into their own error-ref."
Update inbound_references_test

R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org//524433002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39758 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-02 17:47:14 +00:00
johnmccutchan@google.com 7c7bcbdd29 Make Dart API Dart_IsTypedData work for typed data views
BUG=http://dartbug.com/20765
R=asiva@google.com

Review URL: https://codereview.chromium.org//529053002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39752 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-02 16:35:58 +00:00
iposva@google.com d854884590 - Revert parts of r39731 as they cause conflicting results.
Review URL: https://codereview.chromium.org//534433002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39734 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-01 20:28:43 +00:00
iposva@google.com ca82a05d2e - Fix Android build. Missing "inline".
Review URL: https://codereview.chromium.org//512423005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39733 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-01 19:12:07 +00:00