Commit Graph

564 Commits

Author SHA1 Message Date
asiva@google.com fbc931e6a6 Report OOM errors instead of asserting on allocation failures when sending
messages to other isolates.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21980 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-24 20:52:22 +00:00
vegorov@google.com c34810fd26 Preserve aggregate count when creating unary checks ICData.
We were reseting it to 1 which leads to worse inlining decisions for example for user defined binary operators. Inliner considered them all cold.

R=srdjan@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21964 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-24 17:51:10 +00:00
ager@google.com 431954b584 Rename dart:typeddata to dart:typed_data.
R=asiva@google.com, floitsch@google.com, srdjan@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21871 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-23 11:54:54 +00:00
kustermann@google.com e2216f61bf Fast copy between TypedData and ExternalTypedData
Until now, copying data from TypedData to TypedData and from ExternalTypedData
to ExternalTypedData was fast. But copying between TypedData and
ExternalTypedData was not handled in a fast way.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21791 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-22 08:27:15 +00:00
zra@google.com dae5068650 Enables cross-compilation of the VM for ARM.
Uses the "toolset" feature of gyp to build the dart VM
for ARM, but restricts building of snapshot generation
to the host machine.

For generated source files, it also changes to using
LIB_DIR instead of SHARED_INTERMEDIATE_DIR to avoid
generation of duplicate Makefile rules (gyp doesn't
know that generated source files from toolchains it
thinks are different will be the same.)

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21757 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-19 18:05:44 +00:00
srdjan@google.com 9b53a42536 Add flag --check-function-fingerprints, it checks all function fingerprints of the intrinsifier and method recognizer. Added flag to a test so that the fingerprints will be tested during a regular test.
Review URL: https://codereview.chromium.org//14247005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21711 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-18 23:18:13 +00:00
asiva@google.com 70ef44f1c2 Fix for issue 9871 - Object::empty_array() returns a broken handle.
Review URL: https://codereview.chromium.org//14298012

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21587 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-16 22:51:24 +00:00
iposva@google.com 9ac0c8d7c9 - Allow for experimentation with different header sizes.
Review URL: https://codereview.chromium.org//13951019

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21505 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-15 19:46:21 +00:00
ahe@google.com 45ad548837 Update dart:mirrors to use Symbol.
Review URL: https://codereview.chromium.org//14173005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21460 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-15 15:00:45 +00:00
hausner@google.com 54dde7ce89 Implement rethrow statement
Or: how to turn a 5 minute task into a 2 hour ordeal.

The actual business of the change is one line in token.h and one line in parser.cc.
Review URL: https://codereview.chromium.org//14012005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21371 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-12 16:32:37 +00:00
vegorov@google.com 9f3783186f Ensure that all goto instructions have deoptimization target.
R=kmillikin@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21351 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-12 11:19:34 +00:00
johnmccutchan@google.com 968e805cfc Unboxed load/store indexed of Float32x4
Review URL: https://codereview.chromium.org//13818006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21274 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-11 12:50:46 +00:00
hausner@google.com 226b3f4ce4 Fix issue 9744
Allow for debugger stack frames that have no corresponding pc descriptor
entry, i.e. the PC is not at a known safe point. In that case, we cannot
return a code location nor variables.

Fixes 9744
Review URL: https://codereview.chromium.org//13948009

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21175 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-09 23:36:51 +00:00
vegorov@google.com a273179ac8 Use locale insensitive method to parse double literals.
Using strtod does not work because Dart grammar does not necessary match grammar used by strtod. Some locales (e.g. Russian and Danish) use comma instead of dot for radix point.

R=iposva@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21074 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-08 14:32:46 +00:00
regis@google.com 158d90d50f Prevent expensive and unnecessary error formatting in the case a bound check is
postponed to run time (issue 9106).
Eliminate bound check at compile time in some cases.
Fix bound checking of mutually referencing bounds.
Added test.
Review URL: https://codereview.chromium.org//13653005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20938 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-04 20:24:49 +00:00
iposva@google.com 4dff6b8e2b - Remember objects (not addresses) in the old generation containing new pointers.
Review URL: https://codereview.chromium.org//13406004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20828 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-02 22:45:18 +00:00
srdjan@google.com 60e57ecfe1 Optimizes 'as' operation in similar way as 'instanceof': collect type feedback in unoptimized mode and try to convert it to a simple classcheck in optimized code.
Review URL: https://codereview.chromium.org//13190014

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20783 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-02 15:30:14 +00:00
kasperl@google.com f15b6960c0 Add a new implementation of HashMap that uses JS objects for its (multiple) hash tables.
I'll start refactoring the implementation to make it a bit more
maintainable, but I wanted to get your first impressions.

R=erikcorry@google.com,lrn@google.com,srdjan@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20770 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-02 11:51:36 +00:00
asiva@google.com 2f7ca6843f Remove support for 'dart:scalarlist' in the Dart VM.
Review URL: https://codereview.chromium.org//13139002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20680 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-29 18:33:54 +00:00
regis@google.com 3e4d359fce Fix an F-bounded quantification bug (issue 9291).
Add regression test.
Review URL: https://codereview.chromium.org//13119022

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20576 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-27 20:42:02 +00:00
johnmccutchan@google.com 5b140f8452 Really remove SIMD types from dart:scalarlist. Fixes build.
Review URL: https://codereview.chromium.org//12907023

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20563 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-27 17:06:41 +00:00
johnmccutchan@google.com d516a7acde Review changes
Review URL: https://codereview.chromium.org//12982010

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20559 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-27 14:44:15 +00:00
asiva@google.com 8dde962f6d More cleanup in preparation for removing support for dart:scalarlist in the VM.
Review URL: https://codereview.chromium.org//13093012

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20547 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-26 22:01:31 +00:00
asiva@google.com 29cea159bf Fix some of the scalarlist tests to use TypedData VM classes.
This is in preparation for removing dart:scalarlist support from the VM.
Review URL: https://codereview.chromium.org//12907010

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20532 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-26 18:46:44 +00:00
johnmccutchan@google.com e07063f389 Revert 12534006
Review URL: https://codereview.chromium.org//13093005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20526 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-26 17:40:25 +00:00
johnmccutchan@google.com 7b1d3b9134 Port SIMD types from dart:scalarlist to dart:typeddata.
Review URL: https://codereview.chromium.org//12534006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20522 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-26 16:50:26 +00:00
regis@google.com 5eeaba1d98 Update function subtyping rules to latest spec (issue 9057).
Update language tests and status files (and filed co19 issue 392).
Review URL: https://codereview.chromium.org//12940010

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20493 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-25 22:14:17 +00:00
regis@google.com b8bf4159b5 Do not use object pool for VM heap objects on ARM.
Update decoding of call pattern accordingly.
Add missing store barrier when storing object pool in instructions object.
Work with GrowableObjectArray in old heap space when assembling object pool.
Review URL: https://codereview.chromium.org//13070003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20483 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-25 20:29:47 +00:00
asiva@google.com 5642025044 Handle TypedDataView objects in Dart_TypedDataAcquireData and
Dart_TypedDataReleaseData
Review URL: https://codereview.chromium.org//12937010

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20482 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-25 20:18:44 +00:00
asiva@google.com 01cc7d3cd2 - Canonicalize types, type_arguments only when the object is marked as being from the core libraries.
- adjust the snapshot write buffer growth policy
- turn off the heap growth rate adjustments when reading from a snapshot.
Review URL: https://codereview.chromium.org//12578009

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20423 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-22 22:43:46 +00:00
regis@google.com 0c27ffc6a4 Implement optional parameter handling in ARM vm.
Enable FindCodeObject test on ARM (production mode only for now).
Make sure the object pool is allocated in the old space.
Some more code cleanup on IA32 and X64 (use named constants).
Review URL: https://codereview.chromium.org//12663024

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20399 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-22 18:30:35 +00:00
hausner@google.com d4872a1499 Support initialized mixin fields across scripts
Add capability to set parser to read tokens from different
scripts and token positions. This is used when the initializer
expression of a field resides in a different script.
Review URL: https://codereview.chromium.org//12827007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20388 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-22 17:06:42 +00:00
johnmccutchan@google.com 3d4778e2c2 SIMD plumbing
Review URL: https://codereview.chromium.org//12871015

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20287 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-20 20:29:00 +00:00
asiva@google.com 68d1955b88 Translate raw strings to regular strings during source code generation. This should hopefully avoid issues with deciding when to escape special characters and when not to.
Review URL: https://codereview.chromium.org//12568007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20248 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-19 21:32:35 +00:00
vegorov@google.com 1c9d22d75c Collect type feedback for fields.
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20235 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-19 20:15:10 +00:00
hausner@google.com ed2e198b99 Mixins with Generics
This change adds support for generics to mixins. It's not a particularly elegant
implementation, so I expect to change how it works internally in later checkins.

Also, there is still one aspect of the implementation that is incorrect. In the
case of typedef, the newly introduced name is not yet an alias for  the
mixin application. Instead, the MA is a superclass of the typedef name. That
will need to be fixed in a later checkin. I don't want to make this change
bigger.
 
Review URL: https://codereview.chromium.org//12779008

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20084 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-15 15:59:24 +00:00
asiva@google.com 453e8fe924 Add the native intrinsic TypedData_setRange to optimize the setRange call when the destination and source of setRange are of the same typeddata type.
Review URL: https://codereview.chromium.org//12881006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20078 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-15 13:33:11 +00:00
asiva@google.com e723d17796 Fix source generation for strings that have \$ in them.
Review URL: https://codereview.chromium.org//12605009

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20025 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-14 14:12:36 +00:00
asiva@google.com 6b8987e55b Add a command line option to generate source code for a script
(apparently this would be useful for pretty printing the output of
dart2dart)
Review URL: https://codereview.chromium.org//12517005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19996 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-14 09:47:46 +00:00
asiva@google.com 3f14a14ee7 Implement 'dart:typeddata' directly in the VM instead of using 'dart:scalarlist'
Review URL: https://codereview.chromium.org//12544015

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19656 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-07 21:50:33 +00:00
regis@google.com f644ba9791 Complete implementation of bounds checking in the vm, by introducing a vm object
BoundedType that represents a type that could not be checked against an upper
bound at compile time. A BoundedType is verified at run time when used,
typically when it (and/or its bound) gets instantiated.
This fixes issues 7075 and 7625.
Added one test.
Review URL: https://codereview.chromium.org//12473002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19519 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-05 22:04:23 +00:00
asiva@google.com 97f6dee777 First step towards implementing dart:typeddata library.
Review URL: https://codereview.chromium.org//12313088

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19427 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-04 22:11:45 +00:00
fschneider@google.com 7ea9189805 Fix null-termination bug in Stacktrace::ToCString.
Under certain conditions Stacktrace::ToCString can return
a not null-terminated string.

This is the case when ToCStringInternal is invoked with a stacktrace
of length 0.

BUG=dart:8850
TEST=tests/language/stacktrace_test.dart
Review URL: https://codereview.chromium.org//12387019

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19282 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-01 09:03:45 +00:00
asiva@google.com 48418a75f7 Fix stack frame index numbers for full stack traces
It used to be:
#0      getCurrentStackTrace (file:///tmp/junk.dart:3:5)
#0      func1 (file:///tmp/junk.dart:10:29)
#1      func2 (file:///tmp/junk.dart:14:8)
#2      func3 (file:///tmp/junk.dart:18:8)
#3      func4 (file:///tmp/junk.dart:22:8)
#4      main (file:///tmp/junk.dart:26:8)
(Notice the two #0 frames on top).

Now it will print this as:
#0      getCurrentStackTrace (file:///tmp/junk.dart:3:5)
#1      func1 (file:///tmp/junk.dart:10:29)
#2      func2 (file:///tmp/junk.dart:14:8)
#3      func3 (file:///tmp/junk.dart:18:8)
#4      func4 (file:///tmp/junk.dart:22:8)
#5      main (file:///tmp/junk.dart:26:8)
Review URL: https://codereview.chromium.org//12381030

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19272 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-01 03:00:52 +00:00
tball@google.com 15f62a9361 Fixed debugger stacktrace generation that failed a VM assertion.
Added LocalVarDescriptors.ToCString(), which is just used when
debugging debugger issues, and is not referenced by any public APIs.
Review URL: https://codereview.chromium.org//12380031

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19255 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-28 20:45:37 +00:00
srdjan@google.com 59386b206c Intrinsify OnebyteString's hashcode. Next step is to inline it.
Review URL: https://codereview.chromium.org//12335138

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19182 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-27 22:58:59 +00:00
asiva@google.com 3c90369ba6 Add functionality to get full stack trace when exceptions are thrown.
This should address the issue raised in 7813.

try {
 ...
 ...
} on Object catch(e, s) {
 print(s.fullStackTrace);  // This should print the full stack trace.
}
Review URL: https://codereview.chromium.org//12316116

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19179 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-27 22:47:06 +00:00
iposva@google.com 5c71abedff - Do not use the ? operator in the List factory.
Review URL: https://codereview.chromium.org//12335146

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19178 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-27 22:36:22 +00:00
regis@google.com 7c4eec75ed Fix bad optimization prematurely marking types as instantiated (issue 8710).
Add test.
Review URL: https://codereview.chromium.org//12314132

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19101 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-27 00:32:31 +00:00
srdjan@google.com 85b8a8742b Improve performance of Onebytestring allocation and hascode computatio. About 10% improvement on a JSON benhchmark.
Review URL: https://codereview.chromium.org//12315117

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19099 260f80e4-7a28-3924-810f-c04153c831b5
2013-02-27 00:03:53 +00:00