Commit graph

6633 commits

Author SHA1 Message Date
iposva@google.com 28c8553cb6 - Fix a lot of warnings generated by -Wshorten-64-to-32
when compiling for ia32 on Mac.

R=vegorov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38499 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-23 14:10:13 +00:00
zra@google.com b73310c2c2 Adds intrinsics for Float64Array [] and []=.
Improves performance in unoptimized code.

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38483 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-22 23:16:07 +00:00
asiva@google.com e921f8c416 Fix dartium build break.
R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38479 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-22 22:45:38 +00:00
johnmccutchan@google.com 2abbaca938 Add Dart stack walker that relies on frame pointers.
* It is used only when we don't have a top exit frame and we have the script tag set.
* Steps across exit frames and only collects Dart frames.

R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38475 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-22 21:08:22 +00:00
asiva@google.com 97b903c665 Fix for issue 19817
- do not try to finalize classes on every Dart API call which could
  potentially result in calls to dart code
- Invoke Dart_FinalizeLoading after all loads are done to ensure that
  classes are finalized

R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38471 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-22 20:08:15 +00:00
regis@google.com 7800e258ca Finalize the redirection type of a redirecting factory when the class of the
factory is finalized.

R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38468 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-22 18:17:24 +00:00
srdjan@google.com 32e259a8af In code comments print also deopt reason for deoptimization stubs.
R=zra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38467 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-22 18:16:22 +00:00
asiva@google.com a8195aeb5c Change the Dart API call Dart_FInalizeLoading to accept an additional argument
which makes completion of deferred library futures optional.

R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38463 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-22 16:56:14 +00:00
koda@google.com aca839c54f Allocate fewer empty arrays.
Use VM isolate's canonical, untyped, empty array when possible.

Takes Dart2JS benchmark from ~9000 empty arrays to ~200.

R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38435 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-21 16:41:05 +00:00
srdjan@google.com 599da188a7 Small tuning of unboxing heuristic.
Review URL: https://codereview.chromium.org//403043002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38414 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-18 22:42:28 +00:00
johnmccutchan@google.com 98a959ff35 Really fix the build
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38412 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-18 21:11:45 +00:00
johnmccutchan@google.com 597caa1754 Fix build breakage introduced in r38409
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38411 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-18 21:04:36 +00:00
johnmccutchan@google.com 86bf7bb898 Profiler cleanup
BUG=
R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38409 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-18 20:55:24 +00:00
srdjan@google.com 154eb30f58 ONe more iteration of PcDesacriptor iterator imporvement: do not copy record but access individual values when needed.
R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38408 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-18 20:11:29 +00:00
vegorov@google.com f0e725271c Fix compilation failure caused by r38404.
Don't mix enum and integral types in the same conditional.

TBR=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38405 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-18 18:46:57 +00:00
vegorov@google.com 77c26187f2 Support allocation sinking for compound objects.
- Improve escape/alias analysis:
-- Storing an object into a field of another object does not mean that this object escapes (or has aliases) as long as that object does not have any loads from the same place;
-- Places like X.f and Y.f don't alias if X and Y are two different allocation instructions even if X and Y themselves potentially have aliases;
-- Improve precision of alias analysis for indexed properties;

- Support dematerialization and rematerialization of objects that are referenced by other dematerialized objects.
-- Use fix-point algorithm to collect candidates for allocation sinking;
-- Support aborting unsuccessful allocation sinking.

R=fschneider@google.com, johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38404 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-18 18:35:08 +00:00
vegorov@google.com 41ff617dbf Don't force range of the RangeBoundary::Shl into the Smi.
This caused overly conservative ranges to be computed for mint-shl expressions.

BUG=
R=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38402 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-18 18:17:31 +00:00
regis@google.com c8e8204d64 Optimize the multiplication of two 32-bit unsigned integers.
R=johnmccutchan@google.com, srdjan@google.com, vegorov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38400 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-18 17:59:58 +00:00
lrn@google.com 729de01f79 Make IterableMixinWorkaround using classes return correctly typed Iterables.
BUG= http://dartbug.com/13646
R=floitsch@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38372 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-18 08:08:16 +00:00
regis@google.com 9d77c9ea73 Specialize mint shift code on arm for a constant shift amount.
R=zra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38355 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-17 22:29:33 +00:00
asiva@google.com a323a9c9db The dart version of typeddata library has changed to be compatible with the dart2js implementation
(typeddata does not implement ByteBuffer anymore).
Added new Dart API functions to account for this change.

R=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38351 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-17 22:08:07 +00:00
koda@google.com 663f5b5ab7 Hide dangerous interface String::Equals/Hash(uint8_t*,...
The method String::Equals(uint8_t*, intptr_t) was incorrectly specified as operating on UTF-8, when it was actually assuming Latin-1.

Still, friends that use templates (like Symbols) can still access the convenient overloaded Equals/Hash.

R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38343 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-17 20:07:06 +00:00
asiva@google.com aa86bbc562 Fix for issue 20045.
R=koda@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38341 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-17 19:34:29 +00:00
srdjan@google.com 9feee35cd1 Fix Linux build: (unnecessarily) initialize record so that warnings are shut down.
Review URL: https://codereview.chromium.org//399233003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38340 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-17 19:33:22 +00:00
srdjan@google.com 1259bda234 Fix PcDescriptor iterator to never return a pointer to a memory location since the PcDescriptor can move with the GC.
R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38338 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-17 18:30:38 +00:00
zra@google.com fbbc91ff69 Cleanup of class id loading sequences.
These ended up looking performance neutral, but
the cleanup is probably good.

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38333 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-17 16:20:11 +00:00
iposva@google.com 0ab6d72ffb Fix bug 20078:
- Do not use shared code or variables after a setjmp.

R=kustermann@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38327 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-17 13:12:34 +00:00
iposva@google.com 727648d0e5 - Properly setup an Api scope before calling out through the API.
R=vegorov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38326 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-17 12:46:04 +00:00
hausner@google.com 7dd12c92f4 Fix test Debug_BreakOnUnhandledException in checked mode
TBR=srdjan

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38317 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-16 22:33:34 +00:00
hausner@google.com d6664499a9 Debugger test to ensure break on exception works
Tests that the debugger is only called on exceptions when the exception is
unhandled or when it wants to be notified on all exceptions.

R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38316 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-16 22:30:33 +00:00
rmacnak@google.com a9db9d480c Fix handle leak in EvalExpressionExhaustCIDs test.
BUG=http://dartbug.com/20056
R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38315 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-16 22:25:46 +00:00
johnmccutchan@google.com e7ddd5d047 Move some isolate state setup from C++ code to JumpToExceptionHandler stub (take 3).
- CL is the same as take 2, but, I now prohibit the profiler from walking the call stack when the isolate is executing the jump to exception handler.

R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38300 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-16 18:03:17 +00:00
koda@google.com d2bfa8f0ec Fix build (by outlining static double constant).
TBR=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38296 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-16 17:54:33 +00:00
koda@google.com b51526fea3 Use new hash table template for compressing token streams.
Uses the flexible low-level interface to minimize lookups and allocation.

BUG=dart:13747
R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38294 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-16 17:39:10 +00:00
johnmccutchan@google.com 92330fbc32 Support SameAsFirstInput policy in register allocator when inputs are paired machine registers
BUG=
R=vegorov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38290 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-16 16:45:10 +00:00
srdjan@google.com ac094f9d20 Address comment by asiva.
Review URL: https://codereview.chromium.org//392353002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38289 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-16 16:22:48 +00:00
whesse@google.com c3f10dc026 Skip a vm test on MIPS hardware
The test takes almost 1 GB memory - this is causing crashes.
BUG=dartbug.com/20056
R=kustermann@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38281 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-16 12:12:50 +00:00
fschneider@google.com 26470e8384 Avoid allocating an exception object in the snapshot reader.
The unhandled exception object needs only be allocated before
actually returning an error from the snapshot reader, and not
at each invocation of ReadObject.

R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38280 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-16 11:49:45 +00:00
hausner@google.com 148eb0f91e Fix break on unhandled exception
A recent change broke the exception handler lookup code in the debugger.
This fixes issue 19988.

R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38267 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-15 23:55:03 +00:00
mlippautz@google.com a97bafab93 vm/observatory: Clean up script access
Addresses issues from https://codereview.chromium.org/346003003/

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38264 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-15 22:55:19 +00:00
koda@google.com c645b0ab71 Object ids in snapshots are assigned sequentially, and can in many cases be omitted by the writer and inferred by the reader. The exceptions are the classes that are serialized in two steps (arrays and user-level Dart instances), where the second step must include the id.
For standalone, makes full snapshot 5% smaller, and startup ~1.5% faster when measured on a Nexus 10.

R=zra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38261 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-15 21:47:00 +00:00
johnmccutchan@google.com 7366afd86e Revert r38240
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38257 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-15 20:48:20 +00:00
srdjan@google.com 16e4600ff5 Fix build (link error reproducible on linux with GYP_DEFINES=dart_debug_optimization_level=0).
Review URL: https://codereview.chromium.org//393083002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38251 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-15 19:49:27 +00:00
srdjan@google.com 3d71a1fdec Another attempt to fix LLVM 4.2 failure.
Review URL: https://codereview.chromium.org//395973002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38249 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-15 18:42:12 +00:00
srdjan@google.com 611b665762 Attempt to fix llvm 4.2 compiler errors.
Review URL: https://codereview.chromium.org//395953002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38247 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-15 18:07:39 +00:00
srdjan@google.com 9c8a395f6f More PcDescriptor cleanups, compress recors if no try index is needed (frequent).
R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38242 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-15 17:07:03 +00:00
johnmccutchan@google.com efc684e4a8 Move some isolate state setup from C++ code to JumpToExceptionHandler stub
This change means that the isolate's top exit frame info and vm tag will only be updated after setting the frame pointer.

This is step one in a series of changes to allow the profiler to walk the stack when there is no frame pointer.

R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38240 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-15 16:39:19 +00:00
johnmccutchan@google.com 58a4356ef6 Dartium doesn't have a library tag handler installed in the service isolate. Allow for no embedder provided library tag handler so long as no imports need to be handled.
Fixes part of https://code.google.com/p/dart/issues/detail?id=20049

R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38239 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-15 16:33:56 +00:00
iposva@google.com 9f6006f8c8 Fix dartbug.com/19998
- Do not attempt to interact with files if hooks are not installed.
- Remove obsolete code observers.
- Remove obsolete API functions.

R=asiva@google.com, fschneider@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38226 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-15 09:14:40 +00:00
lrn@google.com f48e9cb218 Address comments on double-parse implementation from earlier CL.
Comments at https://codereview.chromium.org/368483004/#msg7

R=fschneider@google.com, iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38224 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-15 08:25:12 +00:00