kasperl@google.com
f7a56d3f70
Revert "Rename OutOfMemoryException to OutOfMemoryError."
...
This reverts r13818.
TBR'ed.
R=lrn@google.com
BUG=
Review URL: https://codereview.chromium.org//11229003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13820 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-19 13:11:15 +00:00
lrn@google.com
58f3453267
Rename OutOfMemoryException to OutOfMemoryError.
...
Also move ExceptionImplementation to core.
Review URL: https://codereview.chromium.org//11228002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13818 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-19 12:20:52 +00:00
iposva@google.com
5473080454
- Remove a couple static_cast and make them safe, by checking
...
the handle types.
- Ensure that the obj handle does not survive past the zone unwind.
Review URL: https://codereview.chromium.org//11188070
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13803 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-18 22:33:45 +00:00
srdjan@google.com
03a61f332c
Apply optimization after class-id propagation: instance calls without ICData are optimized by using input argument class-ids to create fake ICData. This reduces the number of deoptimizations.
...
Review URL: https://codereview.chromium.org//11187046
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13798 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-18 20:41:58 +00:00
fschneider@google.com
66ad689447
Inline indexed store ([]=) array operations in checked mode.
...
Review URL: https://codereview.chromium.org//11186047
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13794 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-18 18:23:00 +00:00
iposva@google.com
5e9f303d5d
- Do not bump allocate in old-space pages. Always use
...
the freelist in preparation for chunked allocation.
Review URL: https://codereview.chromium.org//11186013
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13792 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-18 17:40:12 +00:00
fschneider@google.com
bb295716fc
Disable hoisting of checked-mode assertions out of loops.
...
They can only be safely hoisted if the loop is always executed at least
once. For now, I added a TODO to add an analysis for safely hoisting these
asserts.
TEST=tests/language/optimized_hoisting_checked_mode_assert.dart
Review URL: https://codereview.chromium.org//11195042
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13791 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-18 17:37:04 +00:00
hausner@google.com
ddcca5bc14
Check illegal reference to 'this' in factory redirection
...
Fixes bug 2103.
Review URL: https://codereview.chromium.org//11190033
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13790 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-18 17:20:59 +00:00
srdjan@google.com
ac562c09b8
Fix optimization of %: replace IC call even if not optimizable.
...
Review URL: https://codereview.chromium.org//11190036
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13762 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-17 22:57:55 +00:00
hausner@google.com
77614b7263
Fix Ping Pong snapshot test
...
More illegal constructor names.
Review URL: https://codereview.chromium.org//11194037
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13757 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-17 20:39:42 +00:00
hausner@google.com
506ae29b8a
Enable constructor name check by default
...
Remove the runtime flag that turns on the name check
for named constructors.
Eliminate obsolete test and test case.
Review URL: https://codereview.chromium.org//11194033
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13755 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-17 20:02:07 +00:00
hausner@google.com
533b525b7a
Add warning flag for legacy getter syntax
...
Review URL: https://codereview.chromium.org//11190009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13753 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-17 18:36:37 +00:00
tball@google.com
058a5a10ba
Removed StackZone allocation from DARTSCOPE macro, added StackZones in the few places they were still needed.
...
BUG=
Review URL: https://codereview.chromium.org//11185015
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13751 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-17 18:06:26 +00:00
fschneider@google.com
da85f59f04
Enable more redundancy elimination for checked mode asserts.
...
This CL enables CSE for AssertBoolean and AssertAssignable.
In additions it allows removing redundant assignable-checks
by using static class-id information from the optimized IL.
Review URL: https://codereview.chromium.org//11186023
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13743 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-17 14:34:37 +00:00
srdjan@google.com
64a5b5f609
In optimized code always deoptimize if we encounter an instance call without type feedback (ICData has no checks).
...
Fix a bug in inliner: do not inline methods that have no compiled code as we can not deoptimize into them. This is the simplest fix, more complex fixes can be implemented if we see a need for them.
This improves the speed of Meteor by 15% and NavierStokes by 40% (Mac OS X).
Review URL: https://codereview.chromium.org//11186007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13712 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-16 23:46:27 +00:00
tball@google.com
2cd8436c5a
Changed StackZone and ApiZone to be containers for Zone.
...
BUG=
Review URL: https://codereview.chromium.org//11028145
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13707 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-16 22:05:40 +00:00
srdjan@google.com
5f2287b55b
Add value tests to intrinisics GrowableArray _setData and setLength. Thos are private native methods that could be invoked via mirrors with incorrect values.
...
Review URL: https://codereview.chromium.org//11195007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13704 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-16 21:55:36 +00:00
johnmccutchan@google.com
64da247024
Intrinsify writing to Uint8 and Int8 arrays on IA32.
...
Review URL: https://codereview.chromium.org//11074016
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13703 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-16 21:39:18 +00:00
hausner@google.com
384115d235
Remove built-in identifier 'negate' from VM
...
Keep the token kNEGATE for the backend to distinguish between
unary and binary - operator.
Review URL: https://codereview.chromium.org//11199002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13700 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-16 20:19:06 +00:00
johnmccutchan@google.com
180917268a
Intrinsify natural world typed array getters
...
Review URL: https://codereview.chromium.org//11139004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13696 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-16 18:52:14 +00:00
srdjan@google.com
427cbb2b84
Fix receiver's type for constructors.
...
Review URL: https://codereview.chromium.org//11187003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13685 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-16 16:36:46 +00:00
regis@google.com
adb534674c
Change core lib, dart2js, and more for new optional parameters syntax and semantics (new semantics is not enforced yet).
...
Review URL: https://codereview.chromium.org//11090016
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13684 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-16 16:03:47 +00:00
fschneider@google.com
6b501e5d8b
Optimize type checks for boolean expressions using class-id information.
...
This CL adds a canonicalization pass for AssertBoolean instructions.
If the input class id is guaranteed to be bool, the check can be
eliminated.
Review URL: https://codereview.chromium.org//11191002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13683 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-16 15:59:48 +00:00
srdjan@google.com
fc6afec8de
Inline indexed load and store of typed array float64.
...
NavierStokes time improves from 34,775us to 12,000us (v8 runs NavierStokes in 16000 us).
Review URL: https://codereview.chromium.org//11092090
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13682 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-16 15:40:54 +00:00
srdjan@google.com
f2f42283fa
Fix crashes in intrinsified float32/float64 array setters when attempting to store a Smi. Added tests.
...
Review URL: https://codereview.chromium.org//11144021
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13664 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-15 20:04:13 +00:00
hausner@google.com
1811a6b913
Support for type dynamic in VM
...
Old name Dynamic is supported, and automatically converted to
lower-case dynamic when parsed.
VM flag --warn_legacy_dynamic prints warnings when Dynamic
is found.
Review URL: https://codereview.chromium.org//11125005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13637 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-12 22:40:24 +00:00
kmillikin@google.com
f49dcf37e9
Guard against buffer overflow in the x64 disassembler.
...
BUG=
Review URL: https://codereview.chromium.org//11092099
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13598 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-12 08:12:24 +00:00
asiva@google.com
1bf642129d
- Get rid of RawClosure class and use RawInstance for closures.
...
- Simplify SetRaw to not require an access to the Current Isolate.
Review URL: https://codereview.chromium.org//11087070
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13581 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-11 20:34:08 +00:00
srdjan@google.com
4d16e710a5
Apply John's change (Issue 11077007: Intrinsify Float64 array access on ia32 and x64.).
...
Review URL: https://codereview.chromium.org//11087087
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13576 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-11 19:44:47 +00:00
regis@google.com
3969668ab8
Resolve interfaces before starting finalizing classes (issue 5586).
...
Review URL: https://codereview.chromium.org//11088079
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13563 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-11 17:28:33 +00:00
asiva@google.com
6b07453dd6
- Remove deprecated Dart API calls Dart_ClosureSmrck and DartClosureSetSmrck
...
- Remove the smrck field from RawClosure object.
Review URL: https://codereview.chromium.org//11017069
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13559 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-11 17:08:30 +00:00
fschneider@google.com
54ea76dc6b
Remove support for optimized dart leaf functions.
...
This optimization does not bring any benefit since all functions
have at least a call in the slow-path of the stack-overflow check.
I'm suggesting to remove support for this optimization since it
does not get triggered currently, therefore is also not tested.
Plus we have inlining now, which already makes calls to (small
enough) leaf functions fast.
Review URL: https://codereview.chromium.org//11086044
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13555 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-11 16:35:47 +00:00
fschneider@google.com
667b0d5185
Mark optimized functions with a * in the perf event symbol output.
...
This allows to distinguish time spent in optimized code vs unoptimized code
in our profile information.
Review URL: https://codereview.chromium.org//11028143
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13547 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-11 15:07:49 +00:00
fschneider@google.com
f52b2fb960
Fix bug in the sminess propagation that limited optimization opportunities.
...
The existing code did not add phi-uses of phis to the worklist properly and
as a result the sminess was not propagated across phis.
Review URL: https://codereview.chromium.org//11087079
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13544 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-11 14:19:41 +00:00
fschneider@google.com
5113b2411a
Remove support for generating visualizer format file for the flowgraph.
...
Review URL: https://codereview.chromium.org//11099061
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13536 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-11 12:25:55 +00:00
iposva@google.com
bc26800a4f
- Generate a version string based on the VERSION file.
...
- Add a Dart_VersionString to the API.
- Print version string when passing --version to the standalone binary.
Review URL: https://codereview.chromium.org//11086065
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13514 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-11 07:17:09 +00:00
cshapiro@google.com
5e5049047e
Add missing scope initializations.
...
Review URL: https://codereview.chromium.org//11017064
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13506 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-10 23:36:13 +00:00
srdjan@google.com
e01b80da2c
Report error in APIs if type is malformed instead of crashing. Example:
...
Dart_FunctionReturnType: malformed type encountered: 'file:///sources/dartall/dart/pkg/intl/lib/intl.dart': Error: line 235 pos 10: cannot resolve class name 'dynamic' from 'Intl'
Review URL: https://codereview.chromium.org//11099049
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13500 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-10 20:54:49 +00:00
srdjan@google.com
cd3a59cbdc
Fix a crash in compiler.
...
Review URL: https://codereview.chromium.org//11087062
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13496 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-10 20:27:33 +00:00
zerny@google.com
22e619ff31
Recursive inlining.
...
Due to large performance regressions on dart2js the default depth is set to 1, i.e., we only inline the first level of calls by default. The depth can be changed with the inlining_depth_threshold flag.
R=kmillikin@google.com
Review URL: https://codereview.chromium.org//11029027
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13471 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-10 13:18:40 +00:00
fschneider@google.com
483f813769
Slightly improved register constraints for mint add and sub.
...
Review URL: https://codereview.chromium.org//11099034
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13462 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-10 10:49:06 +00:00
zerny@google.com
5200dfb8b1
Remove slow assert from VM.
...
Replaced slow-asserts with verify-compiler and removed vm/assert.h
R=srdjan@google.com
BUG=5720
Review URL: https://codereview.chromium.org//11017027
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13456 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-10 08:03:28 +00:00
srdjan@google.com
4ad647121f
Fix build breakage, removed arguments twice instead of once.
...
Review URL: https://codereview.chromium.org//11092038
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13448 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-09 22:40:54 +00:00
srdjan@google.com
c83fd716e4
Implement SmiToInt and DoubleToInt. All necessary tests are in tests/language/arithmetic_test.dart
...
Review URL: https://codereview.chromium.org//11098009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13443 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-09 21:43:10 +00:00
asiva@google.com
517ff06459
Instead of aborting with an assert, exit with an error when we get an OOM
...
while handling messages. This is a temporary solution until we have the
isolate error handling mechanism in place (for issue 1403).
Review URL: https://codereview.chromium.org//10915295
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13433 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-09 19:49:11 +00:00
srdjan@google.com
8e7aee9048
Address Florian's comments.
...
Review URL: https://codereview.chromium.org//11090027
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13427 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-09 18:46:25 +00:00
fschneider@google.com
b38daebd36
Faster 64-bit left-shift for ia32.
...
This CL adds a fast left-shift that operates on unboxed mints.
(64-bit integers) to the ia32 optimizing compiler.
Review URL: https://codereview.chromium.org//11085004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13408 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-09 11:59:44 +00:00
iposva@google.com
78c30b0775
- Update status files for failing tests.
...
Review URL: https://codereview.chromium.org//11093013
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13387 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-09 00:47:42 +00:00
iposva@google.com
5f2f50f960
Land http://codereview.chromium.org/11047027/ for Matthias:
...
Implement export clause in VM
Implement export namespace support in VM compiler.
Missing functionality: ensuring that a name is only re-exported once.
Review URL: https://codereview.chromium.org//11028084
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13384 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-09 00:14:42 +00:00
regis@google.com
6c7a1f30fd
Look up getter in super call (issue 3621).
...
Review URL: https://codereview.chromium.org//11088014
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13376 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-08 21:37:34 +00:00