cshapiro@google.com
661488717d
Avoid integer overflow when computing the size of new space in bytes.
...
Review URL: https://codereview.chromium.org//11276022
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14118 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-26 01:26:56 +00:00
iposva@google.com
dc2c8b3707
- Consolidate code into the old generation.
...
- Record pointers between code objects.
- Collect unreferenced code objects.
Review URL: https://codereview.chromium.org//11265026
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14113 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-25 23:46:01 +00:00
tball@google.com
5f320829e7
Updated GetTimeZoneName() to return "" if localtime_r fails or has a NULL for its tm_zone value, like V8 does. Also updated GetTimeZoneOffsetInSeconds() to return 0 on localtime_r failure, like V8.
...
BUG=5943
Review URL: https://codereview.chromium.org//11267051
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14112 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-25 23:38:45 +00:00
srdjan@google.com
e632c8e383
Check class instruction supports Smi check. This fixes missed inlining of isOdd/isEven
...
Fixed a nasty bug in equality optimization. Make sure that we emit CheckSmiInstr instead of CheckClassInstr if we are only checking for smi.
Review URL: https://codereview.chromium.org//11262025
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14098 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-25 20:18:54 +00:00
fschneider@google.com
058f8105d6
Small IL cleanup.
...
1. Remove manual inlining and intrinsification of Double.toDouble
and Integer.toInt. The flow graph inliner can handle these since
they are not native library functions.
2. Remove unused member instance_call_ from UnarySmiOp.
R=kmillikin@google.com
Review URL: https://codereview.chromium.org//11267043
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14079 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-25 14:31:44 +00:00
vegorov@google.com
8b4d018b36
Simplify range analysis algorithm.
...
Replace generic fix point range analysis algorithm based on widening and narrowing operators with an ad hoc single dominator tree pass.
To improve precision discover initial value and direction of the growth for simple induction variables.
R=fschneider@google.com
BUG=
Review URL: https://codereview.chromium.org//11283002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14068 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-25 11:38:31 +00:00
ager@google.com
d378a0fd4f
Revert change that was based on a local change that was not
...
part of the test script change.
R=sgjesse@google.com
BUG=
Review URL: https://codereview.chromium.org//11274042
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14065 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-25 09:57:06 +00:00
ager@google.com
01e373bef0
Fix CCTestSuite in test.dart.
...
R=sgjesse@google.com
BUG=
Review URL: https://codereview.chromium.org//11270032
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14064 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-25 09:38:51 +00:00
srdjan@google.com
e63391f16e
Hopefully fix warnings of uninitialized variables.
...
Review URL: https://codereview.chromium.org//11264024
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14053 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-25 00:33:11 +00:00
srdjan@google.com
cdd5477f91
Intrinsify Mint/Smi combined comparisons by extending a Smi to a 64 bit integer and doing a 64-bit integer compare (ia32 only).
...
Review URL: https://codereview.chromium.org//11262019
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14051 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-25 00:24:17 +00:00
iposva@google.com
3b3998d62f
- Do not pre-resolve static calls. This makes it easier to
...
record the out-going edges to other generated code.
Review URL: https://codereview.chromium.org//11266022
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14046 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-24 22:29:34 +00:00
srdjan@google.com
9c4cb91442
Trace when disabling optimized code (--trace-disabling-optimized-code)
...
Review URL: https://codereview.chromium.org//11282003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14036 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-24 20:38:53 +00:00
fschneider@google.com
ed643e35ae
Fix deoptimzation bug in hoisting smi operation out of loops.
...
The hoisted operations used an incorrect deoptimization target
so that the program continued with an incorrect environment
after deoptimization.
TEST=tests/language/deopt_smi_op.dart
Review URL: https://codereview.chromium.org//11270013
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14033 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-24 18:18:11 +00:00
floitsch@google.com
09f6d09d88
Make isEmpty a getter.
...
Review URL: https://codereview.chromium.org//11238035
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14022 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-24 15:04:32 +00:00
floitsch@google.com
0e47b363ae
Make hasNext a getter instead of a method.
...
Review URL: https://codereview.chromium.org//11230011
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14015 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-24 13:05:11 +00:00
fschneider@google.com
113e753734
Enable merging of comparisons into branches in checked mode.
...
Instead of inserting an explicit type check at branches, the
branch instruction checks the input for boolean itself:
"if (a < b)" will be translated by the flowgraph builder
like this:
CheckedBranch(a < b)
before it would look like this:
t1 <- (a < b)
t2 <- AssertBool(t1)
Branch(t2 === true)
Also in this change:
flow_graph_optimizer.cc contains a small fix of an assert triggered when running with --trace-optimization.
Review URL: https://codereview.chromium.org//11232063
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14006 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-24 10:44:00 +00:00
zerny@google.com
79ddbd6638
Set previous pointer to graph entry for initial definitions.
...
This should be replace with direct pointers to the containing block on all
instructions.
R=kmillikin@google.com
Review URL: https://codereview.chromium.org//11265005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14001 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-24 09:46:24 +00:00
zerny@google.com
8459bad004
Inlining of calls with optional parameters.
...
R=kmillikin@google.com
Review URL: https://codereview.chromium.org//11028140
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13999 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-24 08:22:11 +00:00
lrn@google.com
bc7f07ae86
Move ObjectNotClosureException and ClosureArgumentMismatchException to patch file.
...
They are no longer available in the core library, and are only used by the VM.
Review URL: https://codereview.chromium.org//11233063
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13992 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-24 06:17:21 +00:00
regis@google.com
d00ed7fbc6
Ambiguous references do not necessarily cause compilation errors (issue 5736).
...
Triage related co19 test failures.
Review URL: https://codereview.chromium.org//11232071
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13987 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-23 22:29:44 +00:00
srdjan@google.com
b794eea01a
Print time when tracing compiler.
...
Review URL: https://codereview.chromium.org//11251002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13985 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-23 20:56:51 +00:00
hausner@google.com
aad056b3f3
Fix resolution of super getters and setters
...
Issue 2243
Review URL: https://codereview.chromium.org//11230061
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13981 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-23 18:02:25 +00:00
floitsch@google.com
27cadf2b66
isEven, isOdd, isNegative, isMaxValue, isMinValue, isInfinite, isPositive, isSingleValue.
...
Review URL: https://codereview.chromium.org//11227042
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13974 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-23 16:15:36 +00:00
srdjan@google.com
9eea0fc253
Convert 'identical' to strict equal.
...
Review URL: https://codereview.chromium.org//11234047
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13973 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-23 16:13:33 +00:00
srdjan@google.com
f6bea97c8c
Cleanups in the inliner.
...
Review URL: https://codereview.chromium.org//11231065
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13972 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-23 16:03:56 +00:00
fschneider@google.com
17a4e32364
Propagate class-id through checked mode type checks.
...
Review URL: https://codereview.chromium.org//11230053
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13969 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-23 15:46:28 +00:00
zerny@google.com
0bc2e84cb3
Restructure code generation timers and add sub-timers for inlining phases.
...
R=kmillikin@google.com
Review URL: https://codereview.chromium.org//11236063
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13927 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-23 08:14:59 +00:00
zerny@google.com
500e301a13
Avoid rediscovering blocks on each call to FlowGraph::InlineCall.
...
R=kmillikin@google.com
Review URL: https://codereview.chromium.org//11092102
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13922 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-23 06:11:31 +00:00
hausner@google.com
76ef223e2d
Make super accessible in closures.
...
Fix issue 3197.
Review URL: https://codereview.chromium.org//11225050
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13917 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-23 00:13:39 +00:00
hausner@google.com
08bc0fb331
Add == method name to symbol table
...
Review URL: https://codereview.chromium.org//11236050
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13915 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-22 23:23:57 +00:00
srdjan@google.com
d9bd043867
Fix a typo in super ==.
...
Review URL: https://codereview.chromium.org//11232050
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13909 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-22 20:59:41 +00:00
srdjan@google.com
90967baab9
Fix super ==: Test first for null before call inf super ==.
...
Review URL: https://codereview.chromium.org//11230034
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13907 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-22 20:33:12 +00:00
hausner@google.com
2f93dfb15d
Fix inheritance of certain static members in VM
...
Fixes bug 3778
Review URL: https://codereview.chromium.org//11225033
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13901 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-22 18:54:58 +00:00
johnmccutchan@google.com
d90ad834d5
Inline load and store index on Float32Arrays.
...
Review URL: https://codereview.chromium.org//11198072
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13893 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-22 17:04:50 +00:00
regis@google.com
3f0b894dbe
Enforce new optional parameter rules.
...
Review URL: https://codereview.chromium.org//11186064
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13891 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-22 16:46:26 +00:00
zerny@google.com
8e36c2f3cc
Cache parsed functions when inlining.
...
R=kmillikin@google.com
Review URL: https://codereview.chromium.org//11228022
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13882 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-22 15:13:32 +00:00
zerny@google.com
4ba428f441
Enable recursive inlining.
...
Reverts r13842.
R=kmillikin@google.com
Review URL: https://codereview.chromium.org//11233036
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13877 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-22 14:19:08 +00:00
vegorov@google.com
0df78cb708
Allow splitting at lifetime holes.
...
If the allocation finger is moved past lifetime hole unwind pending interval to the start of the range before attempting to split.
R=fschneider@google.com
BUG=dart:6094
Review URL: https://codereview.chromium.org//11228025
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13874 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-22 13:36:35 +00:00
fschneider@google.com
9797d9caa2
Avoid creating unnecessary environments during SSA renaming.
...
Only instructions that can deoptimize and Goto-instructions
ever need an environment.
Review URL: https://codereview.chromium.org//11225028
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13871 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-22 13:31:31 +00:00
floitsch@google.com
9074fd0178
Make hashCode a getter and not a method.
...
Review URL: https://codereview.chromium.org//11191078
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13866 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-22 12:41:04 +00:00
lrn@google.com
aa78cf0c87
Remove unused WrongArgumentCountException.
...
Review URL: https://codereview.chromium.org//11236020
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13863 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-22 11:52:48 +00:00
fschneider@google.com
89cab1577b
Enable redundancy elimination for array loads.
...
This CL also adds a second round of CSE if necessary to make use
of secondary effects for more optimization opportunities.
Review URL: https://codereview.chromium.org//11234002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13859 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-22 10:40:19 +00:00
lrn@google.com
e0527ef304
Change StackOverflowException to be an Error.
...
Also change OutOfMemoryError to actually extend Error.
Review URL: https://codereview.chromium.org//11227021
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13857 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-22 09:51:14 +00:00
tball@google.com
e0db231c1a
Fixed failing 4_External_Functions_A01_t01 test, updated co19-runtime.status with triaged test bug numbers.
...
BUG=5430
Review URL: https://codereview.chromium.org//11231015
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13843 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-19 22:15:11 +00:00
srdjan@google.com
6d6f514a20
Temporary change inlining-depth-threshold to 1 until crash in optimizing compiler is fixed (apdoc.dart)
...
Review URL: https://codereview.chromium.org//11232018
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13842 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-19 21:39:13 +00:00
srdjan@google.com
65a6a39cc4
Tuned inlining parameters:
...
inlining_size_threshold: 250 -> 50
inlining_depth_threshold: 1 -> 3
All measurements on my Linux box:
dart2js: 2% slower, 9% increased code size.
The following benchmarks got approx. 20% faster: DeltaBlueClosures, Richards, BinaryTrees, Sum, Towers, RayTrace.
Review URL: https://codereview.chromium.org//11231014
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13840 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-19 21:07:21 +00:00
hausner@google.com
63cf1b15d2
Handle super != and ?
...
Fix two bugs regarding != and argument definition test.
issue 2554
issue 6050
Review URL: https://codereview.chromium.org//11225006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13837 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-19 20:06:03 +00:00
asiva@google.com
753b46a887
Put the GDB symbols stuff under conditional compile.
...
Review URL: https://codereview.chromium.org//11231009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13829 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-19 17:41:00 +00:00
srdjan@google.com
1cc23f0907
Fix bigint modulo operation. Fixes bug 6056
...
Review URL: https://codereview.chromium.org//11192074
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13823 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-19 15:01:18 +00:00
lrn@google.com
89f5daea9e
Rename OutOfMemoryException to OutOfMemoryError.
...
This is a reapply with missing status file changes.
TBR=kasperl@google.com
Review URL: https://codereview.chromium.org//11233004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13822 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-19 14:01:24 +00:00