Commit Graph

3307 Commits

Author SHA1 Message Date
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
sgjesse@google.com 92d5bffe00 Remove Windows line breaks accidentially committed in r18172
TBR=ager@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18174 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-06 15:24:12 +00:00
fschneider@google.com 7fc8f72c25 Inline getters of byte array view in the optimized flow graph.
This CL provides inline IL code for the getters _getInt8, _getInt16, etc.
to speed up [] and byte array views.

The code uses the existing LoadIndexed instructions by passing a index
scale factor explicitly: For normal arrays loads, the scale factor is equal
to the element size. For byte array access, the scale factor is always 1.

I'm adding inlined setters in a separate CL.
Review URL: https://codereview.chromium.org//12218008

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18173 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-06 15:18:57 +00:00
floitsch@google.com e1efa71761 Hide collection-dev library.
Committed: https://code.google.com/p/dart/source/detail?r=18167
Reverted: https://code.google.com/p/dart/source/detail?r=18169

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18172 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-06 15:11:47 +00:00
sgjesse@google.com 79e6b3849f Fix socket error reporting on Windows
An error which happened during writing could be reported as error code 0 (which indicate success). This has been fixed so that the original error is reported.

R=ager@google.com

BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18171 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-06 14:39:29 +00:00
floitsch@google.com 8762c41590 Revert "Hide collection-dev library."
This reverts commit 18167.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18169 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-06 13:08:29 +00:00
floitsch@google.com 2a56791380 Hide collection-dev library.
Review URL: https://codereview.chromium.org//11938036

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18167 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-06 12:43:07 +00:00
asiva@google.com 109cbae3dd Minor cleanup of activation frame creation code. Get the code object while iterating the frames as that is way faster than doing a code lookup later.
Review URL: https://codereview.chromium.org//12225031

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18162 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-06 01:45:56 +00:00
iposva@google.com fe95f789c8 - Add handling of private dart:_ libraries.
- Make dart:collection-dev a private library by renaming it to dart:_collection-dev.
- Predefine the URIs of dart: libraries as VM symbols.
Review URL: https://codereview.chromium.org//12220027

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18159 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-06 00:29:48 +00:00
hausner@google.com 9d42f829f2 Save 0.00001% memory
Release the functions and fields array after patching classes.
Review URL: https://codereview.chromium.org//12207028

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18158 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-05 22:43:57 +00:00
asiva@google.com cd7b9395b6 Rename the accessor functions saved_context_var and set_saved_context_var to saved_entry_context_var and set_saved_entry_context_var so that it matches the local variable name used. This avoids confusing this with the saved_context_var variable which is used by try statements.
Review URL: https://codereview.chromium.org//12207023

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18157 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-05 20:42:33 +00:00
hausner@google.com e56a1fc324 Remember owner class of patch code
This is a step towards using PatchClass for mixins
Review URL: https://codereview.chromium.org//12213020

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18155 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-05 20:19:32 +00:00
srdjan@google.com 8a4e4cbadc Fix Issue 8259: dart:math pow broken for large integers.
Review URL: https://codereview.chromium.org//12180022

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18150 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-05 18:09:12 +00:00
lrn@google.com 2a7fb1c733 Added expand method to iterables.
Review URL: https://codereview.chromium.org//12188011

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18123 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-05 09:48:05 +00:00
sra@google.com b82378e3e4 Revert "Fresh try at "Use browsers JSON.parse for parsing JSON.""
Review URL: https://codereview.chromium.org//12220009

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18117 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-05 07:11:12 +00:00
sra@google.com 2a3de27007 Fresh try at "Use browsers JSON.parse for parsing JSON."
Review URL: https://codereview.chromium.org//12221009

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18116 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-05 07:00:47 +00:00
gram@google.com dc451b374f Canvas API. There are still a number of things to do:
- off-screen canvases/contexts
- image APIs
- clips need to be tested
- text baseline and direction
- image smoothing
- global composite op testing
Review URL: https://codereview.chromium.org//12186002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18084 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-04 22:49:02 +00:00
srdjan@google.com eaa1c974a3 Use SAR for divident by a power-of two constant divisor.
Review URL: https://codereview.chromium.org//12091100

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18075 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-04 20:29:58 +00:00
floitsch@google.com 724029179f Adapt String interface for Utf16.
Committed: https://code.google.com/p/dart/source/detail?r=18069
Reverted: https://code.google.com/p/dart/source/detail?r=18070

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18072 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-04 20:17:38 +00:00
floitsch@google.com 596c245bbb Revert "Adapt String interface for Utf16."
This reverts commit 18069.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18070 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-04 19:57:59 +00:00
floitsch@google.com 659d4adf60 Adapt String interface for Utf16.
Review URL: https://codereview.chromium.org//12088086

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18069 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-04 19:45:33 +00:00
kmillikin@google.com a518a0a36f Add a use list iterator that allows mutation of current.
Add Value::Iterator that supports removing the current use from the
underlying use list, including deleting it or moving it to another use
list.  Use it in range analysis and representation selection.

R=fschneider@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18055 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-04 17:04:02 +00:00
kmillikin@google.com 361300cb71 Move recording of definition uses from the value to the definition.
It was weird that this method mutated an object that wasn't even
mentioned in the call.  Also, change Definition::ReplaceUsesWith so that
it appends all at once instead of consing each individual use.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18048 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-04 14:01:35 +00:00
lrn@google.com 0d91963a1c Added MappedListIterable/Iterator to implement map() on Lists.
Review URL: https://codereview.chromium.org//12094103

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18036 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-04 09:30:36 +00:00
regis@google.com ca927278dc Resubmit reverted r17962, but, for now, only report error about unfinalized
types if flag --error_on_malformed_type is specified.
Fix one more case of unfinalized signature type.
Review URL: https://codereview.chromium.org//12183014

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18033 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-04 05:51:02 +00:00
sra@google.com 42ccc2aa4a Revert "Revert "Revert "Use browsers JSON.parse for parsing JSON."""
Review URL: https://codereview.chromium.org//12192003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18024 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-02 04:01:28 +00:00
sra@google.com 75a7b7e0f6 Revert "Revert "Use browsers JSON.parse for parsing JSON.""
with missing gyp file.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18023 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-02 03:36:10 +00:00
sra@google.com e525fdb517 Revert "Use browsers JSON.parse for parsing JSON."
Review URL: https://codereview.chromium.org//12190002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18022 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-02 03:25:53 +00:00
sra@google.com cafd5ddcae Use browsers JSON.parse for parsing JSON.
This shrinks swarm by 27k (3.6%)
We can't make the error messages be the same since the native error contains only a message.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18021 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-02 03:17:41 +00:00
regis@google.com feb7329e2f Resubmitting r18013.
Review URL: https://codereview.chromium.org//12084120

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18018 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-02 00:18:37 +00:00
regis@google.com 450bf7c06c Revert r18013 failing on Windows.
Review URL: https://codereview.chromium.org//12169002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18015 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-01 23:58:53 +00:00
regis@google.com c651283897 Cleanup api for isolate state checking.
This should avoid the breakage on Windows observed by reverted r17962.
Review URL: https://codereview.chromium.org//12082126

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@18013 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-01 23:43:33 +00:00
asiva@google.com cff409db81 Restore factory names in the intrinsifier list to the way they were (is used in a special way during lookup of private corelib classes).
Review URL: https://codereview.chromium.org//12095110

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17998 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-01 20:02:30 +00:00
asiva@google.com 20f821b4cb Instead of setting up the can intrinsify state lazily setup eagerly
in Object::Init() so that the snapshot will carry it and when
running from a snapshot Intrinsifier::CanIntrinsify can be just a bit check.
Review URL: https://codereview.chromium.org//12096105

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17995 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-01 19:16:34 +00:00
srdjan@google.com ac523eceeb Fixed simarm, simmips builds.
Review URL: https://codereview.chromium.org//12161004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17992 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-01 18:44:40 +00:00
srdjan@google.com 3f126d4c12 Intrinsify external uint8 clamped array setter and getter.
Review URL: https://codereview.chromium.org//12114041

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17991 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-01 18:29:38 +00:00
fschneider@google.com 2718b54625 Separate the array/string .length load from the bounds check.
This is done in preparation to inline more array and array view
operations.

Since the length is immutable for fixed length arrays, it allows
hoisting the load out of loops.
Review URL: https://codereview.chromium.org//12088108

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17984 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-01 15:10:24 +00:00
antonm@google.com 5a9cc92093 Revert changes 17962-3 which break Dartium Debug build.
TBR=ricow@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17977 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-01 12:45:42 +00:00
regis@google.com 15495fcd94 Temporarily disabling snapshot tests failing on Windows until further
investigation.
Review URL: https://codereview.chromium.org//12082113

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17963 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-01 03:21:39 +00:00
regis@google.com 650ae359a4 Fix class patching involving type parameters: type parameters of patched classes
were not finalized.
Simplify and fix function type alias finalization (remove dummy alias owner).
Make sure no unfinalized types or unresolved classes are written to a snapshot.
Verify that all pending classes are finalized before writing a snapshot.
Make snapshot_test more resilient to finalization errors.
Add missing import to snapshot_test.dart.
Fix typo in growable_array.dart.
Review URL: https://codereview.chromium.org//12123002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17962 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-01 02:40:16 +00:00
asiva@google.com c64871d699 First set of changes towards cleaning up the bytearray access APIs
- Added unimplemented versions of Dart_ByteArrayAcquireData and
  Dart_ByteArrayReleaseData
- Added infrastructure to prevent callbacks into an API function that
  allocates a new object on the Dart heap or invokes dart code.
- Removed the old Dart_ByteArrayGet* access functions as it was felt that
  they have become redundant once we provide direct access to the internal
  data pointers.
- Removed DARTSCOPE_NOCHECKS as it seems to be redundant after the change
  to not create explicit stack zones on each Dart API call.
Review URL: https://codereview.chromium.org//12036098

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17958 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-31 23:56:48 +00:00
asiva@google.com f644dfc14e Fix for issue-7157 - set the stack marker in the top API local scope just before entering dart code. It used to be set in Dart_EnterScope and this was causing problems as the marker could potentially end up being lower than the stack pointer at the time of entering Dart code resulting in an destruction of the top scope during 'state->UnwindScopes(...)'
Review URL: https://codereview.chromium.org//12118002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17939 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-31 19:16:47 +00:00
asiva@google.com c2cafbbe33 - Change the layout of external typed array objects to avoid the extra indirection when accessing elements in the array.
- Change the Dart API which create these external arrays to account for this change
Review URL: https://codereview.chromium.org//12093071

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17937 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-31 18:53:21 +00:00
kmillikin@google.com a2436038da Make use lists into doubly-linked lists.
At the cost of a word per use, we gain constant time removal from use
lists.

BUG=
Review URL: https://codereview.chromium.org//12079096

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17924 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-31 16:10:15 +00:00
lrn@google.com 9b23dff467 Reapply "Rename mappedBy to map."
This reverts commit r17907.

TBR.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17918 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-31 15:12:56 +00:00