Commit Graph

13143 Commits

Author SHA1 Message Date
cshapiro@google.com fecbb84b10 Fix format type specifier discrepancies on 64-bit targets.
Review URL: https://codereview.chromium.org//11555032

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16075 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-12 23:05:51 +00:00
cshapiro@google.com 716c14a2a2 Improve the reporting of scavenger and free list reports.
The scavenger now reports survival and promotion statistics.

The statistics for the large free list are now reported.  Previously,
only information about the small free list was printed.  Each report
indicates whether the data is from before or after a garbage collection,
each row of a report is preceded by the free list type (small or large),
and cumulative bytes are reported for the free list type.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16074 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-12 22:58:24 +00:00
regis@google.com c195fc9e92 Fix type test for callable objects (issue 7338).
Review URL: https://codereview.chromium.org//11549027

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16069 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-12 22:33:15 +00:00
kmillikin@google.com 1610d7d2ac Refactor the InstanceFunctionLookupStub.
The stub is used in the case that an IC miss handler cannot find a
cacheable target.  It handles implicit closures, calls to instance
fields, and no such method.

Refactor the stub to make a single call into the runtime.

BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16057 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-12 19:52:47 +00:00
fschneider@google.com a63d4f59d4 Narrow result cid and type of BinarySmiOp to be always smi.
After smi-SHL was changed to deoptimize in case of overflow,
the result type can be narrowed to smi only.
Review URL: https://codereview.chromium.org//11557012

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16044 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-12 15:13:21 +00:00
kmillikin@google.com 2424252d6d Remove inadvertently duplicated code.
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16040 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-12 14:20:42 +00:00
fschneider@google.com 3ae14199b8 Extend sminess propagator to process branch instructions.
When doing comparisons like (x == null) and the comparison
is dominated by a smi-check, we can fold the comparison away.

One example where this occurs is the List constructor where the length
parameter is checked for null. If not null, the length of the list
is fixed and known and can be used to eliminate bounds checks.
Review URL: https://codereview.chromium.org//11442053

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16037 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-12 13:40:14 +00:00
meh@google.com c9271a657a Revert "Move generate_perf_events_symbols flag to VM (new issue with @google address)"
This reverts commit d4d38edbb889d186930c9346c867a0252f425e99.

BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16017 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-12 03:41:30 +00:00
meh@google.com 9067ec4d33 Move generate_perf_events_symbols flag to VM (new issue with @google address)
Changes reviewed and approved here:
https://chromiumcodereview.appspot.com/11490026

Created a new issue using meh@google.com instead of meh@chromium.org so I can commit to trunk.

BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16016 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-12 02:55:21 +00:00
asiva@google.com 1519128c72 Dynamically Allocate the predefined handles structure in Symbols
so that an "exit" will not result in static destructors being run
and zapping the handles area while some other isolates are still
running.
Review URL: https://codereview.chromium.org//11549010

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16015 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-12 02:52:14 +00:00
regis@google.com 697550b2a2 Support call operator in the vm.
Review URL: https://codereview.chromium.org//11316343

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16009 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-12 00:48:58 +00:00
asiva@google.com a658352666 Add dump_symbol_stats to dump symbol table stats at the end of a test run
when --trace-isolates --dump_symbol_stats is used.
Review URL: https://codereview.chromium.org//11416356

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16008 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-12 00:35:48 +00:00
asiva@google.com 6749a3be79 Add read only handles for the following predefined symbols
"=="
 "[]"
 "[]="
 "this"
and use them in the code.
Review URL: https://codereview.chromium.org//11519006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15942 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-11 01:20:02 +00:00
asiva@google.com b9bff21042 Start a fresh zone and handle scope for each function being compiled
in CompileAll (currently handles and memory is not being released
until all the functions are compiled).
Review URL: https://codereview.chromium.org//11280315

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15941 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-11 01:06:44 +00:00
cshapiro@google.com a7675e8dd3 Provide a mechanism for dumping of heap profiles on predefined events.
Review URL: https://codereview.chromium.org//11478012

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15940 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-11 00:50:31 +00:00
regis@google.com 3b1dfe51d1 Pass the proper invocation mirror argument to noSuchMethod.
Review URL: https://codereview.chromium.org//11523002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15939 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-11 00:31:53 +00:00
asiva@google.com 6eec2410ec Restructure Add and SetAt to not create a Handle.
Review URL: https://codereview.chromium.org//11443024

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15926 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-10 19:28:14 +00:00
asiva@google.com d5f055b605 - Create frame work for adding read only handles for symbols in the VM isolate
- Make the symbol corresponding to "." use this frame work and change code
  which was creating a handle to use the read only handle instead.
  (Once we agree on this frame work we could create similar read only handles
   for the frequently used symbols)
Review URL: https://codereview.chromium.org//11469036

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15920 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-10 18:24:34 +00:00
regis@google.com dd6a0ec349 Rename GET_NATIVE_ARGUMENT macro to GET_NON_NULL_NATIVE_ARGUMENT.
Introduce new GET_NATIVE_ARGUMENT macro accepting null.
Add test.
Review URL: https://codereview.chromium.org//11468016

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15919 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-10 17:59:40 +00:00
kmillikin@google.com c4726371fc Fix compilation on Windows.
Visual Studio reports that only static integral constants are allowed to be
initialized in the class.

R=vegorov@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15890 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-10 10:03:35 +00:00
kmillikin@google.com a119414b2f Cache lookups at megamorphic call sites in optimized code.
The function name and argument descriptor are mapped to a lookup cache
at compile time.  The cache maps class id to target function.  It is
resizable.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15889 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-10 09:48:52 +00:00
srdjan@google.com 3a28c6ec9c Add code comments to slow paths.
Review URL: https://codereview.chromium.org//11475042

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15868 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-07 21:45:37 +00:00
srdjan@google.com d6772016eb Cleanups based on Kevin's and Florian's suggestions.
Review URL: https://codereview.chromium.org//11481002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15850 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-07 17:59:53 +00:00
iposva@google.com 19a89a947e - Do not read past the end of the utf32_array.
Review URL: https://codereview.chromium.org//11447009

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15847 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-07 17:18:22 +00:00
kmillikin@google.com 3dabe31e91 Reapply "Do not call ResolveCompileInstanceFunction from the lookup stub."
With a fix for a crash bug on x64.  The near jump encoding could fail on
some platforms due to platform-specific code.

BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15845 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-07 13:00:38 +00:00
kmillikin@google.com 1ddeb10349 Revert "Do not call ResolveCompileInstanceFunction from the lookup stub."
This reverts svn revision 15842 due to a snapshot build failure on Mac.

TBR=fschneider@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15843 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-07 11:21:13 +00:00
kmillikin@google.com c9bab9efaa Do not call ResolveCompileInstanceFunction from the lookup stub.
The InstanceFunctionLookup stub is only called after the inline cache miss
handler.  The miss handler ensures that ResolveCompileInstanceCallTarget is
called.

BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15842 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-07 11:13:51 +00:00
asiva@google.com 1a76ed33c4 Return an unhandled exception error on an OOM or other errors while
reading a message. This ensures that we never call FindExceptionHelper
with no dart invocation frames.
Review URL: https://codereview.chromium.org//11475012

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15833 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-07 01:41:53 +00:00
srdjan@google.com a9a187ce7a Fix failures in byte array tests, reenabled test.
Review URL: https://codereview.chromium.org//11471014

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15821 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-06 23:27:01 +00:00
srdjan@google.com 76fe027314 Windows complains:
'dart::RawUint8Array' : base classes cannot contain zero-sized arrays

Replicate code for now instead of subclassing.
Review URL: https://codereview.chromium.org//11464011

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15814 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-06 22:30:08 +00:00
cshapiro@google.com f5c4d7a381 Unify specification of file open, close, and write callbacks.
Review URL: https://codereview.chromium.org//11442024

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15807 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-06 21:56:31 +00:00
srdjan@google.com 93dd217564 Added Uint8ClampedList. COmpielr optimziations to follow in next CL.
Review URL: https://codereview.chromium.org//11437028

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15806 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-06 21:53:51 +00:00
fschneider@google.com 63f6bbee77 Save a handle allocation in two accessor functions of class Type.
The ASSERT already makes sure, that we have the correct type at hand.
Review URL: https://codereview.chromium.org//11444008

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15775 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-06 09:32:49 +00:00
vsm@google.com b5e5fcd160 Refactored Android samples / embedder.
- Started moving generic embedder code from sample into runtime/embedders/android.  I'd like to move more in a later CL.
- Removed dependence on vm/bin in sample.

Ivan or Siva: can one of you review the changes under runtime?

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15766 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-06 00:27:04 +00:00
hausner@google.com 5e47a858f3 Set BP in closurized function if necessary
If a function has been closurized, and both the regular function as well as
the closurized function are already compiled when the user sets a breakpoint,
then two code breakpoints have to be installed.

Fixed issue 2318.
 
Review URL: https://codereview.chromium.org//11446020

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15764 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-06 00:09:36 +00:00
asiva@google.com 4d26d87a3a Issue - 7123
Rename
 String::New(const uint8_t latin1_array......) to String::FromLatin1
 String::New(const uint16_t utf16_array......) to String::FromUTF16
 String::New(const int32_t utf32_array.......) to String::FromUTF32
Review URL: https://codereview.chromium.org//11443005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15763 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-05 23:37:37 +00:00
srdjan@google.com c0315644f3 Pass handles not raw objects into methods.
Review URL: https://codereview.chromium.org//11441021

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15748 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-05 19:50:50 +00:00
kmillikin@google.com 8c4e214722 Pass IC data and arguments descriptor to IC miss runtime functions.
Before, we obtained them by pattern matching backwards on the machine
instructions at the call site.  This previous approach becomes unwieldy when
we need to use to use multiple instance call patterns.

R=vegorov@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15737 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-05 15:35:18 +00:00
vegorov@google.com 361af1463a Remove unused field AstNode::ic_data.
R=fschneider@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15733 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-05 14:29:41 +00:00
fschneider@google.com d6a35f1983 Avoid unneccary handle allocation in OptimizeTypeArguments.
Review URL: https://codereview.chromium.org//11453008

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15732 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-05 13:59:41 +00:00
vegorov@google.com f9f587d6fe Kill unused CodeGenInfo field in AstNode.
R=fschneider@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15731 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-05 13:46:58 +00:00
kmillikin@google.com 275c8d928f Introduce a class encapsulating arguments descriptor arrays.
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15727 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-05 12:05:57 +00:00
kustermann@google.com 7519562eac Part of fix for http://dartbug.com/6528
Committed: https://code.google.com/p/dart/source/detail?r=15690

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15724 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-05 09:04:55 +00:00
asiva@google.com 02049c689e Fix for issue 7089 (Symbols::New was not quite working correctly
when there are non ASCII Latin-1 characters in the string).
Review URL: https://codereview.chromium.org//11411341

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15711 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-04 22:18:12 +00:00
srdjan@google.com e3863daaba Improve C++ code for string splittig (Dromaeo benchmark).
Review URL: https://codereview.chromium.org//11308337

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15710 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-04 21:52:02 +00:00
fschneider@google.com 7b15fb759d Improve and fix constant propagation for type arguments.
Corretly match the constant propagator's analysis code for
InstantiateTypeArguments with the code generator template for it and handle
the case of NULL-type arguments.  This improves code like

new List()

in checked mode. The old code would only improve code with type arguments like

new List<type>();
Review URL: https://codereview.chromium.org//11416340

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15695 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-04 17:07:50 +00:00
kustermann@google.com 9dfbcee90d Part of fix for http://dartbug.com/6528
Review URL: https://codereview.chromium.org//11434106

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15690 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-04 15:24:16 +00:00
fschneider@google.com 3c81141f1c Instantiate uninstantiated types with known constant type-arguments.
The enables eliminating more type-checks.

For type-checks that have a uninstantiated target type and a constant
instantiator type arguments as input, we can instantiate the type
at compile-time.
Review URL: https://codereview.chromium.org//11280230

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15689 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-04 14:51:43 +00:00
johnmccutchan@google.com 1120befff4 s/transferrable/transferable
Review URL: https://codereview.chromium.org//11434077

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15636 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-03 15:25:07 +00:00
asiva@google.com 311e4c8c19 Partial cleanup towards fixing Issue 6726
(try to add all constants strings in the VM to the symbols list).
Review URL: https://codereview.chromium.org//11419261

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15618 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-01 00:34:19 +00:00