Commit Graph

11 Commits

Author SHA1 Message Date
rmacnak@google.com 08cbcf480e Did you mean const?
R=srdjan@google.com, turnidge@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39569 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-26 21:43:55 +00:00
fschneider@google.com 54a7410866 Fix bug with CHA dependencies by recording a set of classes for registering code.
CHA is not only used with the receiver class, but also with other classes
when doing type propagation. The optimized code has to be registered with
all classes that are affected by CHA so that deoptimization occurs whenever
the set of subclasses changes for these classes.

R=vegorov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39194 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-13 12:43:03 +00:00
fschneider@google.com a908179df8 VM: Fix bug in CHA for signature classes.
The subclasses for the _FunctionImpl class were not tracked in the VM.

As a result, CHA would incorrectly assume that _FunctionImpl does not have
any subclasses.

This may cause incorrect optimization and caused unnecessary deoptimizations.

R=vegorov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38981 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-07 12:46:18 +00:00
zra@google.com 8796a5c32e More stubs and instructions for arm64.
Also, more tests enabled.

R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35554 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-29 23:18:37 +00:00
zra@google.com 2fe51715e5 Begins work on ARM64, first assembler test.
Most new code is in constants_arm64.h and
{assembler,disassembler,simulator}_arm64.{h,cc}

The rest of the CL just #def's out tests, modifies status files,
and adds UNIMPLEMENTED functions, etc.

R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@34654 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-02 17:39:32 +00:00
srdjan@google.com 3274f92827 Rename FinalizeTypeHierarchy to ProcessPendingClasses.
R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30688 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-27 00:11:32 +00:00
srdjan@google.com 3485989ae7 Do not eagerly finalize classes in CHA, instead regard unfinalized classes as ’non-existent’ and only invalidate optimized code at finalization of the class.
Rename FinalizePendingClasses to FinalizePendingClassInterfaces as the class finalization occurs lazily.
TODO: add dependency information to deoptimize/remove only relevant optimized code.

R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30582 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-22 17:59:23 +00:00
hausner@google.com fd57843900 Update handling of ambiguous name references
Update VM to latest spec. Referencing a name that is imported
from more than one library is no longer a compile-time error.
If one of the sources of an ambiguous reference is a dart library,
the dart library declaration is automatically hidden.

Also fixes a bug where looking up a getter name in a library
found the getter even though the name is filtered out in the
'hide' combinator.

Long-term we should fix the need for repeatedly convert between
the mangled getter and setter names and the untangled name.

Fixes 12915, 12913, 12724.

R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27312 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-09 21:52:40 +00:00
regis@google.com 9581071936 Refactor resolution code in the vm to properly handle ambiguity errors.
Add test.

R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25324 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-23 00:19:39 +00:00
asiva@google.com 596a5f1af9 Use kInstanceCid instead of object_store()->object_class() when checking to see if the class is object class.
Review URL: https://chromiumcodereview.appspot.com//10873004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11190 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-22 22:21:44 +00:00
regis@google.com 3790edb5e1 Move class hierarchy analysis to its own source.
Review URL: https://chromiumcodereview.appspot.com//10827450

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11097 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-21 21:09:28 +00:00