mirror of
https://github.com/dart-lang/sdk
synced 2024-09-18 22:11:19 +00:00
13b7b7242a
Until now there was a large discrepancy between x.f() and (x.f)() This CL makes x.f() as fast as (x.f)() by automatically generating a intermediate dispatcher function that loads the field and invokes the result as a closure. The approach resembles the one taken for fast noSuchMethod invocation and reuses the same per-class cache of dispatcher functions. It also fixes a bug in the debugger so that VM-generated implicit dispatcher functions (like for noSuchMethod, or field-as-method invocation) don't show up the debuggers stack trace. BUG=https://code.google.com/p/dart/issues/detail?id=11041 R=srdjan@google.com Review URL: https://codereview.chromium.org//18750004 git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25001 260f80e4-7a28-3924-810f-c04153c831b5 |
||
---|---|---|
.. | ||
basic_debugger_test.dart | ||
breakpoint_resolved_test.dart | ||
closure_debugger_test.dart | ||
debug_lib.dart | ||
nosuchmethod_debugger_test.dart | ||
step_inout_test.dart | ||
stepping_test.dart | ||
tostring_throws_test.dart |