floitsch@google.com
0672317bec
Remove deprecated mappedBy.
...
Committed: https://code.google.com/p/dart/source/detail?r=18575
Reverted: http://code.google.com/p/dart/source/detail?r=18576
Review URL: https://codereview.chromium.org//12212213
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18579 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-15 13:57:18 +00:00
floitsch@google.com
ad839e6957
Revert "Remove deprecated mappedBy."
...
This reverts commit 18575.
Review URL: https://codereview.chromium.org//12207205
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18576 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-15 13:23:22 +00:00
floitsch@google.com
b37100770b
Remove deprecated mappedBy.
...
Review URL: https://codereview.chromium.org//12212213
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18575 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-15 13:18:17 +00:00
lrn@google.com
b7f36d0d11
Make List.skip, List.take and List.reversed return Iterables, not Lists.
...
Removes ListView. It was premature optimization to have classes that combined any sequence of reverse, skip and take instead of just wrapping iterables.
Review URL: https://codereview.chromium.org//12262037
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18570 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-15 10:43:21 +00:00
srdjan@google.com
5d42e63bd1
Optimize left shift of a constant: compute max value of right that does not overflow into Mint/Bigint.
...
Review URL: https://codereview.chromium.org//12212175
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18525 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-14 18:10:21 +00:00
fschneider@google.com
0a1d6d15f9
Fix bug in optimizing string .length loads.
...
We're not allowed to hoist a .length load if the corresponding
class-check is not also hoisted out of a loop.
TEST=tests/language/optimized_string_charcodeat_test.dart
Review URL: https://codereview.chromium.org//12256037
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18519 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-14 15:59:18 +00:00
fschneider@google.com
e2a0c8f7ca
Optimize stores to ExternalUint8Array and ExternalUint8ClampedArray in the optimizer.
...
This CL adds support for these two array types to the StoreIndexed instruction.
Review URL: https://codereview.chromium.org//12263010
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18517 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-14 12:59:51 +00:00
fschneider@google.com
352cb5bd78
Use writable register policy to avoid explicit restoring input register after untagging.
...
This CL produces more compact code if the writable input
register is the last use by avoiding unnecessary re-tagging.
In that case no extra temp generated by the register allocator.
Review URL: https://codereview.chromium.org//12114008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18515 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-14 11:41:08 +00:00
lrn@google.com
dd31afbeca
Added implementation of String.codeUnits.
...
Based on ListIterable implementation that should be reusable for a lot
of our existing length/indexing-based iterables too.
Review URL: https://codereview.chromium.org//12261009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18506 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-14 09:51:43 +00:00
hausner@google.com
d3a1050ebc
Minor improvement in mixin application
...
Build list of functions and attach it to mixing application
class on one call. Takes care of a review comment by Siva.
TBR=asiva
Review URL: https://codereview.chromium.org//12261029
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18495 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-13 23:48:18 +00:00
johnmccutchan@google.com
9fb0984c9d
SSE Assembler + Linux build fixes
...
Review URL: https://codereview.chromium.org//12223115
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18493 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-13 23:05:17 +00:00
srdjan@google.com
39713f0efc
The code size does not scale with architecture word size, set code size cutoff limit to 200,000 bytes for all architectures
...
Review URL: https://codereview.chromium.org//12256028
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18492 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-13 23:00:09 +00:00
srdjan@google.com
4f285ac0a8
Add flag to block optimizations of large implicit getters. Implicit getters have a 0 size in tokens, therefore also check the size of unoptimized code to decide if a function is optimizable. Print more data with --trace-compiler.
...
Review URL: https://codereview.chromium.org//12263017
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18485 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-13 21:52:02 +00:00
hausner@google.com
b4527a7465
First stab at mixins in VM compiler
...
Things not yet supported:
- Type parameters for super class and mixin class
- super call limitation check
Review URL: https://codereview.chromium.org//12210127
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18479 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-13 21:08:15 +00:00
srdjan@google.com
5694a140e3
Fix allocation of array tables (use store barrier if needed, store values directly instead of via stack).
...
Review URL: https://codereview.chromium.org//12212050
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18464 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-13 18:44:27 +00:00
vegorov@google.com
baa0347253
Reapply r18377 it was reverted due to the unrelated bug it surfaced.
...
Remove SminessPropagator and FlowGraphTypePropagator and all associated infrastructure and fields.
Replace multiple fields (result_cid_, propagated_cid_, propagated_type_, reaching_cid_) with a single field of type CompileType which represents an element of type analysis lattice and incorporates information about: value's nullability, concrete class id and abstract super type. This ensures that propagated cid and type are always in sync and complement each other
Implement a new FlowGraphPropagator that propagates types over the CompileType-lattice.
R=fschneider@google.com
Review URL: https://codereview.chromium.org//12260008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18456 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-13 17:16:35 +00:00
whesse@google.com
acd03abf83
dart:io: Use PathBuffer class for Directory.list on Windows platform.
...
BUG=https://code.google.com/p/dart/issues/detail?id=7505
Review URL: https://codereview.chromium.org//12252006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18448 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-13 15:00:55 +00:00
vegorov@google.com
b1a343033e
When canonicalizing branch on StrictCompare don't fuse comparisons that can deoptimize or serve as pending deoptimization target for representation changes.
...
R=fschneider@google.com
BUG=
Review URL: https://codereview.chromium.org//12220150
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18443 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-13 14:14:05 +00:00
iposva@google.com
c64bb206ec
- Make size of the stack red zone depend on word size.
...
Review URL: https://codereview.chromium.org//12207142
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18426 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-13 01:13:02 +00:00
srdjan@google.com
f0b56ef792
Reduce allocation of ArrayNode-s where a GrowableArray could be used instead.
...
Review URL: https://codereview.chromium.org//12207137
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18412 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-12 23:34:12 +00:00
johnmccutchan@google.com
dd140c2958
Revert SSE assembler changes
...
Review URL: https://codereview.chromium.org//12212151
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18410 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-12 23:14:12 +00:00
johnmccutchan@google.com
06eb49d537
SSE Assembler and Disassembler support
...
Review URL: https://codereview.chromium.org//12207117
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18406 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-12 22:43:48 +00:00
asiva@google.com
97c6554061
Minor cleanup
...
- added a field parsed_function to the parser
- remove fields expression_temp_ and saved_current_context_
Review URL: https://codereview.chromium.org//12225141
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18402 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-12 21:14:05 +00:00
lrn@google.com
3520e88c04
Bi-directional iterator for runes of a string.
...
Review URL: https://codereview.chromium.org//12094056
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18382 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-12 15:22:31 +00:00
vegorov@google.com
487c73e01f
Revert "Remove SminessPropagator and FlowGraphTypePropagator and all associated infrastructure and fields."
...
This reverts commit r12365.
Reason: failure on vm-mac-debug (debug_ia32 standalone/io/file_fuzz_test).
TBR=fschneider@google.com
Review URL: https://codereview.chromium.org//12221139
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18378 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-12 12:36:21 +00:00
vegorov@google.com
f8d9a90b2c
Remove SminessPropagator and FlowGraphTypePropagator and all associated infrastructure and fields.
...
Replace multiple fields (result_cid_, propagated_cid_, propagated_type_, reaching_cid_) with a single field of type CompileType which represents an element of type analysis lattice and incorporates information about: value's nullability, concrete class id and abstract super type. This ensures that propagated cid and type are always in sync and complement each other
Implement a new FlowGraphPropagator that propagates types over the CompileType-lattice.
BUG=
Review URL: https://codereview.chromium.org//12221119
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18377 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-12 12:06:47 +00:00
asiva@google.com
067b8ba92c
Add snapshot size to the VM benchmarks suite.
...
Review URL: https://codereview.chromium.org//12226068
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18367 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-12 02:39:00 +00:00
asiva@google.com
a7b617c5d4
Provide implementations for
...
Dart_ScalarListAcquireData & Dart_ScalarListReleaseData
Review URL: https://codereview.chromium.org//12209075
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18330 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-11 19:48:32 +00:00
floitsch@google.com
3b0c2885b7
Revert "Add StringSink and update StringBuffer."
...
This reverts commit 18313.
Review URL: https://codereview.chromium.org//12217115
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18327 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-11 19:29:54 +00:00
floitsch@google.com
3f7146707d
Rework Timer interface.
...
Review URL: https://codereview.chromium.org//12213092
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18326 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-11 19:22:16 +00:00
floitsch@google.com
bbbe0c382d
Allow ambiguous Expect and ExpectException imports.
...
This patch temporarily allows Expect to come from core and from any other library without (I wanted to make the CL public reporting an error (or warning).
Once everyone (including co19) has migrated I will revert this CL.
Review URL: https://codereview.chromium.org//12211045
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18318 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-11 17:59:52 +00:00
floitsch@google.com
7c194d0d06
Add StringSink and update StringBuffer.
...
Review URL: https://codereview.chromium.org//12218086
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18313 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-11 17:11:56 +00:00
whesse@google.com
a0461f958d
Remove erroneous assert from Windows implementation of dart:io File.fullPath.
...
BUG=
Review URL: https://codereview.chromium.org//12208109
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18307 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-11 13:44:00 +00:00
iposva@google.com
d421507d55
- Remove redundant type parameters for internal data.
...
Review URL: https://codereview.chromium.org//12218082
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18287 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-08 23:27:50 +00:00
gram@google.com
686e35e638
Support for non-DOM canvases/contexts (backed by bitmaps).
...
Also updated to work with recent Skia CL 7640.
Review URL: https://codereview.chromium.org//12212074
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18279 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-08 22:23:08 +00:00
vsm@google.com
e6e4ae45b3
Use bash on linux for skia script
...
TBR=gram
Review URL: https://codereview.chromium.org//12224077
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18263 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-08 17:47:06 +00:00
whesse@google.com
1a4082724c
Revert changes to directory listing on Windows, to diagnose pub problems.
...
TBR=nweiz@google.com
BUG=
Review URL: https://codereview.chromium.org//12210086
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18260 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-08 16:47:33 +00:00
fschneider@google.com
f29d1c7aa2
Optimize branches in polymorphic equality operations.
...
Review URL: https://codereview.chromium.org//12209057
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18256 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-08 15:47:09 +00:00
whesse@google.com
fa78161fbf
Remove use of strnlen on Mac OS, because pre-Lion versions don't have it.
...
BUG=
Review URL: https://codereview.chromium.org//12212090
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18251 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-08 12:55:32 +00:00
whesse@google.com
45e351e689
Add string.h header file to directory listing implementations.
...
BUG=
Review URL: https://codereview.chromium.org//12221086
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18248 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-08 12:21:56 +00:00
whesse@google.com
58e8b94008
Use a PathBuffer class in dart:io directory lister.
...
This simplifies the code, and avoids buffer overflow errors
by encapsulating snprintf.
BUG=
Review URL: https://codereview.chromium.org//12220034
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18247 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-08 11:58:12 +00:00
floitsch@google.com
4e12cd56ea
Remove Stopwatch interface and make it a class.
...
Review URL: https://codereview.chromium.org//12210065
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18242 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-08 10:46:14 +00:00
asiva@google.com
80e281a078
Fix for issues 6080 -
...
- Read the saved context from the entry frame when straddling across C++ frames while iterating over a stack trace in the debugger. This ensures that the correct context is setup in the ActivationFrame structure in these scenarios (instead of the empty context).
- Read the saved context from the caller's frame when iterating over a stack trace in the debugger. The compiler saves the context in the caller frame before invoking closures, we read this saved context when iterating the stack trace.
Review URL: https://codereview.chromium.org//12179020
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18235 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-07 22:43:16 +00:00
asiva@google.com
d6c8e4f892
Add unit tests which reliabily reproduces the error condition reported in Issue 6080 without the need for a specialized and inconsistent private environment.
...
Review URL: https://codereview.chromium.org//12218046
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18232 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-07 20:55:21 +00:00
ager@google.com
dd917e2498
Remove freeing of zone allocate strings.
...
R=vegorov@google.com
BUG=dartbug.com/4270
Review URL: https://codereview.chromium.org//12226060
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18223 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-07 15:49:30 +00:00
kmillikin@google.com
ab3cbf5796
Change CSE, LICM, and range analysis to preserve use lists.
...
Change the common subexpression elimination, loop-invariant code
motion, and range analysis passes to maintain use lists.
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18209 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-07 09:42:36 +00:00
regis@google.com
5675b85979
Generate first ARM assembler test and execute (simulate) it.
...
RFC: First draft showing how generated ARM code accesses GC'ed objects and
accesses patched call targets.
Review URL: https://codereview.chromium.org//12224024
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18200 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-07 00:55:47 +00:00
tball@google.com
898ec7731f
Added Socket::Close() function.
...
Review URL: https://codereview.chromium.org//12209047
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18199 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-07 00:44:55 +00:00
fschneider@google.com
f0caa40576
Add optimized loads from ExternalUint8ClampedArrays.
...
The generated code is exactly the same as for ExternalUint8Array.
TEST=tests/standalone/byte_array_test.dart
Review URL: https://codereview.chromium.org//12225049
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18183 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-06 19:00:50 +00:00
fschneider@google.com
8200c55ed9
Flip test condition when testing for fixed-length array length load.
...
This addresses additional comments to my previous CL:
https://codereview.chromium.org/12088108/
Review URL: https://codereview.chromium.org//12208046
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18175 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-06 16:21:51 +00:00