Commit graph

5314 commits

Author SHA1 Message Date
johnmccutchan@google.com
97ac18aee9 Sampling profiler
BUG=4350
R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30419 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-19 18:26:10 +00:00
ajohnsen@google.com
545455cccb Undo some of the large-file changes on Android, as only some of them are implemented.
BUG=
R=zra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30415 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-19 16:24:10 +00:00
fschneider@google.com
b562230228 Move and clean up some class declarations in intermediate_language.h.
This way definitions of inline methods in BranchInstr can reside inside
the class declarations.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30414 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-19 13:50:55 +00:00
ajohnsen@google.com
b76897eb00 Fix File truncate on Windows.
BUG=
R=sgjesse@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30406 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-19 12:32:29 +00:00
ajohnsen@google.com
8f99537455 Fix large-file support for mac os x.
BUG=
R=sgjesse@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30404 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-19 12:17:57 +00:00
sgjesse@google.com
09ef9104e0 Don't supply host names for the fixed internet addresses
The hard-coded host names "localhost" and "localhost-ip6" where taken
from the default Ubuntu hosts file. But other machines (e.g the
default on Mac OS) might be configured different. To avoid actual
lookup of "localhost" and "localhost-ip6" returning a different
address than the provided fixed loopback addresses don't add an actual
host name.

R=ajohnsen@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30403 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-19 12:17:41 +00:00
ajohnsen@google.com
7fef1ff77a Add support for working with large files on unix systems, in dart:io.
BUG=
R=sgjesse@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30399 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-19 11:38:20 +00:00
kmillikin@google.com
a56dba2628 Use the VM's graph builder nesting stack for loop depth and context level.
Use the code's nesting to maintain the context level rather than explicitly
tracking it in the graph builder.  Nested blocks know their scope and the
nesting stack can be searched to find the current context level.

Nested loops now increment and decrement the graph builder's loop depth
while they are on the nesting stack, though the loop depth state is still
kept in the graph builder itself.

R=fschneider@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30397 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-19 11:37:11 +00:00
fschneider@google.com
05b8012333 Remove dead code from IfThenElse and StrictCompare in the compiler.
The code for these cases is either completely unused or can only be hit with
canonicalization and constant propagation turned off. Since this is not tested,
and does not bring any performance benefit for the default configuration it is
best to just remove it.

R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30393 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-19 10:38:37 +00:00
rmacnak@google.com
f76f7f7ecf Handle undefined field/getter access from arguments to const constructors in metadata, and related problematic cases.
BUG=http://dartbug.com/13817
R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30385 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-19 01:02:26 +00:00
rmacnak@google.com
caa3e25e0a Move non-caching fields to the top of mirror classes.
R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30384 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-19 00:46:01 +00:00
regis@google.com
db2cec593d Distinguish between malformed and malbounded types more efficiently using the
recently introduced LanguageError 'kind' field.

R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30383 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-18 23:31:12 +00:00
srdjan@google.com
a3ceecb4e3 Remove intrinsified version of fsin, fcos. The optimized code calls into runtime, which may use different way to compute sin/cos.
R=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30367 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-18 18:56:23 +00:00
fschneider@google.com
07e814fd4c Add another internal function to the list of invisible functions.
R=kmillikin@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30339 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-18 12:30:03 +00:00
kmillikin@google.com
98b5d17d9d Introduce a nesting stack to the flow graph builder.
Statically track nested blocks, loops, and switches while constructing
the flow graph.  Use the nesting stack as a mapping from source labels
(class SourceLabel) to their flow-graph targets (class JoinEntryInstr).

This removes the indirect dependence of the AST on the intermediate
language and the mutable compiler state from the AST.

R=fschneider@google.com, srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30336 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-18 11:39:14 +00:00
iposva@google.com
8b51ded2fb - Convert heap sizes to words from bytes.
R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30325 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-16 00:17:52 +00:00
rmacnak@google.com
af3f18fa84 Add an API function to get a debugger stack trace from an error handle.
BUG=http://dartbug.com/14322
R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30323 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-15 23:42:23 +00:00
rmacnak@google.com
2e89f4f4d6 Drop "Impl" suffix from local mirror class names.
R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30321 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-15 22:44:44 +00:00
hausner@google.com
e5cd233fd9 Fix json message in debugger wire protocol
Removed faulty comma in message. This hopefully solves issue 13792.

R=devoncarew@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30311 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-15 19:14:47 +00:00
regis@google.com
2a355a7bb6 Lazily format LanguageError messages (fix issue 15069).
R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30308 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-15 18:54:24 +00:00
lrn@google.com
a43c644f63 Make SendPortImpl_internalSend not take a reply port as argument.
The reply port is still there in the internal Message structure,
where it is used by control messages.

BUG= http://dartbug.com/14731
R=fschneider@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30302 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-15 11:28:23 +00:00
lrn@google.com
ab18829ae4 Revert "Fix VM not accepting static methods for Isolate.spawn."
Comitted by mistake.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30301 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-15 11:23:47 +00:00
lrn@google.com
b0e40ddc70 Fix VM not accepting static methods for Isolate.spawn.
BUG= http://dartbug.com/3011

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30300 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-15 10:28:32 +00:00
hausner@google.com
b87043d2e9 Address comment from vm-based keyword symbols CL
Review URL: https://codereview.chromium.org//64273012

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30293 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-14 22:19:23 +00:00
rmacnak@google.com
bc39a8afe8 When ClassMirrors are created by enumerating members of a LibraryMirror, have the ClassMirror use that LibraryMirror as its owner.
BUG=http://dartbug.com/14449
R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30291 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-14 20:35:59 +00:00
rmacnak@google.com
5e310f4e31 Update mirror tests for removed API and other analyzer warnings.
BUG=http://dartbug.com/14695
R=gbracha@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30290 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-14 19:55:05 +00:00
hausner@google.com
0673063f57 Add closure object type to debugger wire protocol
R=devoncarew@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30289 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-14 19:42:14 +00:00
hausner@google.com
5e90c211c7 Add Dart keyword symbols to the VM isolate
Remove the keyword symbol table from object store, and remove
keyword table initialization from Scanner constructor.

R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30285 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-14 19:14:16 +00:00
rmacnak@google.com
45c7c58273 Filter frames from debugger stack based on visibility rather than "debuggability" (steppability).
R=asiva@google.com, hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30280 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-14 18:37:50 +00:00
regis@google.com
694401d38e Rename mixin typedef to mixin application alias in VM.
R=hausner@google.com, rmacnak@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30277 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-14 17:42:39 +00:00
regis@google.com
2964e53333 Do not skip unfinalized interfaces while checking type bounds at finalization
time (fix issue 14721).
Fix BoundedType::ToCString() to handle a null type parameter.

R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30250 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-13 20:58:17 +00:00
fschneider@google.com
88726f7f70 Streamline code generator for branches and comparisons.
This is another refactoring step. It turn all comparisons
 to be generated after the same pattern and removes duplicated
 code from each of the different comparisons (smi, mint, double, etc.)

A comparison as an expression now follows the same patterns as a comparison
inside a branch. It just adds a common epilogue to materialize the boolean
result.

In another CL this common epilogue will be generated by reusing the IfThenElse
IL instruction.

R=kmillikin@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30243 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-13 18:21:27 +00:00
johnmccutchan@google.com
70483ee91e Add ability for Function to generate source
BUG=
R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30239 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-13 18:09:41 +00:00
johnmccutchan@google.com
6f3b8e6493 TraceBuffer implementation with tests
R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30237 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-13 17:49:50 +00:00
fschneider@google.com
7286df6f68 Fix bug with deoptimization targets.
In the second pass of inserting representation conversions (SelectRepresentations)
we may insert sequences of Unbox/Box instructions that are eliminated
by canonicalization later. However, inserting conversions requires a deoptimization id as
deoptimization target. Return kNoDeoptId for Box-instructions since they don't need a real
deoptimization target.

BUG=dartbug.com/14808
R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30234 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-13 16:22:58 +00:00
srdjan@google.com
5cd22e2dd3 Fixes issue 14742. Dart API may allocate objects without calling the constructor, this messes up the nullability tracking in the VM. Simple fix for now: initialize fields nullability, type, length if allocated via Dart API.
R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30233 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-13 16:01:41 +00:00
fschneider@google.com
35225e5888 Constant propagation support for type asserts.
R=kmillikin@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30232 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-13 15:57:26 +00:00
kmillikin@google.com
2a87b7eb94 Simplify the desugaring of catch clauses.
Rather than if/then/continue (where the continue does not match the
semantics of Dart's continue), use if/then/else.  This removes the
unnecessary goto and label as a step toward streamlining support for
jumping in the compiler backend.

R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30227 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-13 14:08:11 +00:00
lrn@google.com
207f0e6a3f Update and fix isolate documentation.
Review URL: https://codereview.chromium.org//66303012

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30221 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-13 09:34:58 +00:00
iposva@google.com
25b81b3e8b - Fix string conversion warnings.
R=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30204 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-12 19:43:44 +00:00
rmacnak@google.com
1dcc9ea681 Ensure constructorName symbols include private manglings.
R=asiva@google.com, gbracha@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30178 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-11 23:08:38 +00:00
regis@google.com
e3da5e16e4 Check type bounds of redirecting factories (issue 14699).
Add tests for malbounded redirecting factories.
Clean up bound checking code and type error reporting code.

R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30177 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-11 22:59:48 +00:00
hausner@google.com
14489dd0f0 Add Dart_GetClosureInfo
Will be used by debugger wire protocol.

R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30162 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-11 18:22:05 +00:00
rmacnak@google.com
cc3e05ea99 Implement VariableMirror.isConst in the VM and ParameterMirror.isConst in dart2js.
BUG=http://dartbug.com/14671
R=ahe@google.com, asiva@google.com, gbracha@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30161 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-11 17:54:58 +00:00
fschneider@google.com
ee554e199d Cleanup of code generation for StrictCompare.
The case of two constant operands does not occur unless certain optimizations
are turned off. It is not necessary to have a special handling in the code
generator for this case.

R=kmillikin@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30153 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-11 13:01:54 +00:00
sgjesse@google.com
7dca3fa966 Provide better error message when the VM tries to load a script using HTTP
R=whesse@google.com
BUG=http://dartbug.com/14924

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30150 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-11 11:22:10 +00:00
asiva@google.com
c0ddb83c3b ARM and MIPS changes which correspond to the initial change submitted in
https://codereview.chromium.org/63093003/

R=regis@google.com, zra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30124 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-08 19:40:07 +00:00
rmacnak@google.com
93d342b42e Use the runtime for generic subsitution of variable types, return types, parameter types.
BUG=http://dartbug.com/14613
BUG=http://dartbug.com/14156
R=gbracha@google.com, regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30120 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-08 17:54:59 +00:00
srdjan@google.com
16f4e5c690 Constant fold strict comparison based on incoming types: different (exact) types means that the result is false. LoadStaticField computes type for final fields. Make a temporary buffer final.
R=kmillikin@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30119 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-08 17:42:45 +00:00
asiva@google.com
f1fb425901 Fix build break.
Review URL: https://codereview.chromium.org//63753003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30098 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-08 04:23:08 +00:00