Commit Graph

27 Commits

Author SHA1 Message Date
regis@google.com 42ac60faf3 null is an instance of Dynamic (fix issue 443).
Review URL: http://codereview.chromium.org//8592004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1715 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-21 19:35:53 +00:00
srdjan@google.com abbe12ab38 Print uninstantiated type with --trace_type_checks for instanceof (easier to identify what caused calls to runtime).
Review URL: http://codereview.chromium.org//8598023

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1676 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-18 22:49:52 +00:00
srdjan@google.com 7397762688 Better tracing of deoptimization (added a reason id and printing of source). Fix a bug with excessive deoptimization for null receiver -- caused by (null).toString().
Review URL: http://codereview.chromium.org//8588002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1593 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-16 23:38:05 +00:00
srdjan@google.com 92f177896b Fix throwing ObjectNotClosure instead of null exception if closure is null.
Fix integer compareTo if other is a double NaN.
Fix Expect.stringEqual to accept null as arguments.
Update co19 status file.
Review URL: http://codereview.chromium.org//8528050

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1539 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-15 18:02:12 +00:00
asiva@google.com 5cf3ad018a Changes to pass the current isolate to all runtime and native calls.
Review URL: http://codereview.chromium.org//8528010

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1499 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-12 05:55:22 +00:00
regis@google.com 8b9ebb3528 Second attempt at finalizing all classes in the VM (fix issue 364).
Review URL: http://codereview.chromium.org//8491055

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1475 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-11 21:38:49 +00:00
srdjan@google.com af451865ed For instanceof inline check against right hand class id possible and interface String for OneByteString (positive checks only). Improves frog runtime by about 20%. Future work will be based on collecting types and using that data in optimized code. Add tracing of instance of type checks.
Review URL: http://codereview.chromium.org//8508035

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1408 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-10 17:28:11 +00:00
hausner@google.com f59e679860 Capturing for loop variables correctly
Re-introduce a "fresh copy" of the for loop variable(s) in each iteration. Adding a minimal test to check that closures capture the value of the particular loop iteration. 
Review URL: http://codereview.chromium.org//8490019

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1273 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-07 22:36:28 +00:00
srdjan@google.com 1d4dffcaf2 Emit node id at every call to runtime.
Review URL: http://codereview.chromium.org//8475013

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1226 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-04 22:51:19 +00:00
srdjan@google.com 002bb47821 Special code for equality comparison for Smi, allowing null on left or right without calling deoptimization. The full solution is to implement two arguments type feedback collection (maybe also collect null classes for
equality comparison?)
Review URL: http://codereview.chromium.org//8413047

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@923 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-28 22:25:05 +00:00
asiva@google.com b245c234f0 Report NullPointerException when we try to construct a regular expression
using a NULL pointer.
Report NullPointerException instead of ObjectNotClosureException when the
closure object is Null.
Review URL: http://codereview.chromium.org//8363034

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@901 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-28 17:32:29 +00:00
srdjan@google.com 8966841501 bool != int (Windows has the best C compiler).
Review URL: http://codereview.chromium.org//8400030

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@845 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-27 18:06:17 +00:00
srdjan@google.com e3d3c552bb Fix excessive reoptimization (guard test lost somehow). Fixes problems in Dart.
Review URL: http://codereview.chromium.org//8412004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@844 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-27 17:43:04 +00:00
regis@google.com ee7aca7f5b Fix type tests involving an implicit closure of a non-parameterized class
extending a parameterized class.
Add corresponding test.
Disable new test for dartc (filed new issue 5516001).
Review URL: http://codereview.chromium.org//8393033

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@771 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-26 19:03:29 +00:00
regis@google.com 0b98430a58 Cleanups.
Review URL: http://codereview.chromium.org//8390021

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@726 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-25 23:16:16 +00:00
srdjan@google.com 5f43c05de7 Implement new inline cache. Delete a lot of unused code (most of change).
Review URL: http://codereview.chromium.org//8379013

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@706 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-25 18:35:49 +00:00
srdjan@google.com a120ff3caa Transitioning to new IC structure: change IC data to include function name; pass IC data instead of function name when calling instance function.
New IC doc: http://goo.gl/fS2Hk
Review URL: http://codereview.chromium.org//8357034

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@636 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-24 17:04:12 +00:00
srdjan@google.com bb6a85d69c Wrong condition caused repeated deoptimizations and performance degradation especially on Meteor.
Review URL: http://codereview.chromium.org//8343024

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@546 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-19 08:27:39 +00:00
regis@google.com 715f9a9700 Address review comments of previously submitted cl 8329005.
Review URL: http://codereview.chromium.org//8347008

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@531 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-18 21:07:44 +00:00
regis@google.com ee3fdf27e4 Replace calls to Class::IsParameterized() by either
Class::NumTypeParameters() > 0
or by
  Class::NumTypeArguments() > 0.
Review URL: http://codereview.chromium.org//8329005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@503 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-18 00:59:54 +00:00
srdjan@google.com 934409878a Fix for bug 5442338 (crash in deoptimization): when optimized code calls deoptimization stub, check if the function was already deoptimized previously before attempting to restore unoptimized code.
Add test case when optimized code of a deoptimized function is several time on stack, and deoptimization occurs after the function was already deoptimized.
Review URL: http://codereview.chromium.org//8311017

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@465 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-17 11:27:22 +00:00
regis@google.com c09dfa132e Set type argument vector at run time in instantiated closure objects.
Set type argument vector at compile time in type of closure variables.
TODO: Set type argument vector at compile time in type of closure parameters.
Review URL: http://codereview.chromium.org//8271008

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@416 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-13 21:34:48 +00:00
srdjan@google.com 4aa5564622 Handle bug 5442338: PCDescriptors generated wrongly, disallowing optimizations, causing assert failures in debug. Fixed also assembly code generation in optimized code (a jumbo could be far). The test code from bug 5442338 can run now successfully.
Review URL: http://codereview.chromium.org//8240005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@376 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-12 20:04:19 +00:00
regis@google.com 19208574f0 Inline allocation of implicit closures.
Consolidate generation of closure allocation stubs into one function.
Fix type name printing when printing ast.
Review URL: http://codereview.chromium.org//8234016

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@357 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-11 23:42:20 +00:00
regis@google.com db3a736c33 Support optional named arguments at the dart_entry level in the VM.
Fix bug 5422033: Const expressions don't work with named arguments.
Review URL: https://chromereviews.googleplex.com/3552015

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@168 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-06 22:40:45 +00:00
srdjan@google.com 44392fdb03 Fix resolving of implicit closures: treat null objects same as instances of Object.
Review URL: https://chromereviews.googleplex.com/3551013

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@138 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-06 16:31:31 +00:00
dgrove@google.com 4c0f559d23 Initial checkin.
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-05 05:20:07 +00:00