Siva Annamalai
af550c9b6c
Revert "Revert "1. Remove unused dart debugger API entrypoints which are not used anymore""
...
This reverts commit e76ea5b604 .
1. Remove unused dart debugger API entrypoints which are not used anymore
as this API has been deprecated and dartium was the last user.
2. Some unit tests are using some of these API entrypoints, so moved them
over to a test file which will be linked into run_vm_tests
Change-Id: I5a486b98e4b97eb4df2e58d9cc0ba603e96c2e32
Reviewed-on: https://dart-review.googlesource.com/11180
Reviewed-by: Siva Annamalai <asiva@google.com >
2017-10-04 20:19:22 +00:00
Siva Annamalai
e76ea5b604
Revert "1. Remove unused dart debugger API entrypoints which are not used anymore"
...
This reverts commit c30918f11e .
Bug:
Change-Id: I6d5f037868a967a9f4fcabc1ecb20f34e957036a
Reviewed-on: https://dart-review.googlesource.com/8403
Reviewed-by: Siva Annamalai <asiva@google.com >
2017-09-26 02:20:55 +00:00
Siva Annamalai
c30918f11e
1. Remove unused dart debugger API entrypoints which are not used anymore
...
as this API has been deprecated and dartium was the last user.
2. Some unit tests are using some of these API entrypoints, so moved them
over to a test file which will be linked into run_vm_tests
Change-Id: I3343b23d082400da3c803cf81ea80dfaa5e426cf
Reviewed-on: https://dart-review.googlesource.com/7942
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Commit-Queue: Siva Annamalai <asiva@google.com >
2017-09-26 01:00:01 +00:00
Zachary Anderson
6cd8a79078
VM: Re-format to use at most one newline between functions
...
R=asiva@google.com
Review-Url: https://codereview.chromium.org/2974233002 .
2017-07-13 08:08:37 -07:00
Ryan Macnak
2109cc53bf
Remember deopt-id -> context-level mappings in var descriptors.
...
- Add deopt ids to DebugStepInstr and StrictCompareInstr since the debugger can stop there.
- Add missing pc descriptor in DBC's StringInterpolateInstr.
Re-enable async_debugger, which had been crashing flakily from context mismatches.
R=vegorov@google.com
Review-Url: https://codereview.chromium.org/2903993002 .
2017-06-01 12:33:33 -07:00
Matthias Hausner
90b937a4ce
Support covariant keyword in the VM parser
...
For Dart 1.5, the VM ignores the annotation. It is just consumed by the parser, but has otherwise no effect. Errors are reported on illegal covariant declarations.
BUG=#28166
R=regis@google.com
Review-Url: https://codereview.chromium.org/2625823004 .
2017-01-12 14:03:26 -08:00
Ryan Macnak
f12527455d
Fix leaks in some parsers tests and triage remaining cc tests.
...
Issue #28342
Issue #28345
Issue #28347
Issue #28348
Issue #28349
R=zra@google.com
Review-Url: https://codereview.chromium.org/2627713005 .
2017-01-11 13:12:32 -08:00
Zachary Anderson
a1bcf051d8
clang-format runtime/vm
...
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org/2481873005 .
2016-11-08 13:54:47 -08:00
Siva Annamalai
12f86594ec
Add --parse-all option in order to benchmark and measure the scanner/parser performance.
...
R=hausner@google.com
Review URL: https://codereview.chromium.org/2327693002 .
2016-09-23 15:20:39 -07:00
Todd Turnidge
6b28b4f7ef
Remove DebuggerEvent. Refactor remaining code.
...
BUG=
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org/1978603002 .
2016-05-13 09:49:31 -07:00
Ivan Posva
5be5d54529
- Refactor Symbol allocation to expect a thread parameter.
...
- Preallocate all tokens as symbols to avoid repeated lookups.
- Pass thread/zone where useful while doing this change.
- Avoid allocating symbols for error messages.
BUG=
R=fschneider@google.com
Review URL: https://codereview.chromium.org/1870343002 .
2016-04-11 16:28:29 -07:00
Matthias Hausner
425b9a36b9
Use symbols when looking up fields in a class
...
The slow string comparison is only necessary when looking up
non-symbols or untangled private names.
Compiling all of dart2js seems to be about 1% faster, but it's really in the noise.
BUG=
R=asiva@google.com
Review URL: https://codereview.chromium.org/1868803002 .
2016-04-07 16:36:35 -07:00
John McCutchan
e2e7af1229
Remove more feature in product mode
...
- Remove Timeline.
- Remove more vmservice code.
- Remove AST printing.
- Remove IL printing.
- Remove profiler.
- Remove thread interrupter.
- Remove disassembler.
- Remove Library::CheckFunctionFingerprints.
- Update test status files for product mode.
Size of dart_bootstrap before: 5287631
Size of dart_bootstrap after: 5112783
Reduction in size: 174848 bytes.
Total reduction in size (382734 + 174848): 557582 bytes.
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/1678203002 .
2016-02-09 08:45:32 -08:00
John McCutchan
d295b9c311
Remove many features when building product mode
...
Move all JSON printing code from object.cc to object_service.cc.
Not compiled in:
- Service protocol
- Debugger
- Debugger API
- JSONStream
- ObjectIdRing
- Profiler service
- Object JSON printing
Size of dart_bootstrap before: 5670365 bytes
Size of dart_bootstrap after: 5287631 bytes
Reduction in size: 382734 bytes.
R=rmacnak@google.com
Review URL: https://codereview.chromium.org/1660063002 .
2016-02-05 09:55:51 -08:00
Regis Crelier
7f57ebcfa1
Remove signature classes from the VM.
...
They were used as the class of closure instances and as the type class of
function types.
All closure instances now have class _Closure and function types are represented
by a new class FunctionType extending AbstractType.
Fix issue 24567 and add regression test.
R=asiva@google.com , rmacnak@google.com
Review URL: https://codereview.chromium.org/1584223006 .
2016-01-19 16:32:59 -08:00
Matthias Hausner
bdf8124301
Add 3 new tokens and fix all the fallout from changing token values.
...
R=rmacnak@google.com
Review URL: https://codereview.chromium.org//1142423003
2015-05-21 09:06:11 -07:00
srdjan@google.com
3744661bc4
Lazily generate local var descriptors.
...
R=hausner@google.com
Review URL: https://codereview.chromium.org//1128803002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45581 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-07 04:16:50 +00:00
regis@google.com
3783f349dc
Be less aggressive in sharing contexts between scopes so that sibling contexts
...
cannot appear in nested node sequences (issue 22858), since this case cannot
be handled by the graph builder.
Add assert to graph builder to detect such occurences (uncovered async* bug).
Fix an async* issue where a scope was mistakenly reused.
Improve ast printing for node sequences.
Add regression test.
R=hausner@google.com , srdjan@google.com
Review URL: https://codereview.chromium.org//1020893004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44592 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-19 22:39:46 +00:00
fschneider@google.com
aefdc04fa8
VM: Fix issue with local variable values reported by the debugger.
...
I added a function to test if a variable is visible or not to the
debugger tests.
BUG=dartbug.com/22353
TEST=standalone/debugger/local_variables_test
R=hausner@google.com
Review URL: https://codereview.chromium.org//933253003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43850 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-18 18:48:00 +00:00
fschneider@google.com
d9be656941
VM: Share closure-call dispatchers.
...
Instead of caching these in each signature class,
cache them in the common super-class of all closures (_FunctionImpl)
This avoid unecessary polymorphism when invoking.
R=vegorov@google.com
Review URL: https://codereview.chromium.org//882323004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43336 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-30 13:06:11 +00:00
koda@google.com
99127744c6
Add Zone-based handle allocation interface and reduce use of Isolate-based interfaces.
...
Remove deprecated Isolate-based BitVector constructor.
R=asiva@google.com
Review URL: https://codereview.chromium.org//868913002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43136 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-26 14:54:02 +00:00
fschneider@google.com
7bec3edaef
Remove saving/restoring of the context at function entry.
...
This is not needed anymore after I changed the current context
to always reside in a local variable.
Further simplifications and cleanup in the debugger.
This also fixes a bad memory retention problem with
non-capturing closures.
BUG=dartbug.com/18886
TEST=tests/language/vm/closure_memory_retention_test.dart
R=hausner@google.com
Review URL: https://codereview.chromium.org//695483003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41433 260f80e4-7a28-3924-810f-c04153c831b5
2014-10-31 07:35:51 +00:00
fschneider@google.com
876193b31a
Make CTX allocatable by the register allocator.
...
This change makes CTX available by not caching the current
context while in Dart code. Instead the current context
is held in a local variable (:saved_current_context_var) and
is passed as argument in CTX at calls.
This also simplifies a lot of code in the debugger: As a result,
Isolate::top_context is not needed anymore since the current context
can always be extracted from a Dart frame.
R=vegorov@google.com
Review URL: https://codereview.chromium.org//678763004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41422 260f80e4-7a28-3924-810f-c04153c831b5
2014-10-30 15:42:38 +00:00
zra@google.com
30fd05f7c3
Fixes compilation error with gcc-4.9
...
Issue: https://code.google.com/p/dart/issues/detail?id=20925
R=hausner@google.com
Review URL: https://codereview.chromium.org//591543002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40515 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-19 19:24:16 +00:00
srdjan@google.com
ce2d52f111
Pass isolates explicitly.
...
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//306643002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36740 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-28 14:24:53 +00:00
zra@google.com
ea99b1e6f8
Adds debugger patching to arm64.
...
Also other small fixes.
R=regis@google.com
Review URL: https://codereview.chromium.org//274043003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36003 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-09 23:20:14 +00:00
turnidge@google.com
f8fcc45e3d
Save the entry context for a function that has captured loop variables.
...
BUG=18561
R=vegorov@google.com
Review URL: https://codereview.chromium.org//266783002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35692 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-02 16:14:05 +00:00
zra@google.com
5be8150a3a
Begins work on arm64 floating point instructions.
...
R=regis@google.com
Review URL: https://codereview.chromium.org//261783005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35661 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-01 21:50:17 +00:00
turnidge@google.com
939471292c
$-indexed printf params don't work on all of our architectures, turns out.
...
Also, cleanup last fix a bit.
Review URL: https://codereview.chromium.org//265853003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35655 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-01 20:03:17 +00:00
turnidge@google.com
9c6d9f5e5b
Fix buildbot test breakage.
...
Variable indices are architecture dependent, turns out.
BUG=
Review URL: https://codereview.chromium.org//265773006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35649 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-01 18:35:38 +00:00
turnidge@google.com
9f20c4b0c1
Add some testing for the variable allocation code in the Parser.
...
This cl includes a test which documents the current incorrect behavior
when capturing loop variables.
BUG=18561
R=hausner@google.com
Review URL: https://codereview.chromium.org//267583002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35643 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-01 17:36:24 +00:00
zra@google.com
fdeff1ba17
Replaces LongJump with LongJumpScope.
...
LongJump required explicitly restoring the old
long jump base before function return. This was
sometimes forgotten, leading to crashes. This
change puts the base restoration into the
destructor so that it happens automatically on
return.
R=iposva@google.com
Review URL: https://codereview.chromium.org//108383007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31463 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-04 01:23:43 +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
hausner@google.com
8e29370a1b
BREAKING CHANGE: enforce part of directive
...
For historical reasons, the VM is currently too lenient when parsing library parts. Files that get loaded through a 'part' directive must start with a 'part of libraryname;' clause. The VM so far has not reported an error if the clause is missing.
This change enforces the grammar as the Spec mandates it. Library parts that do not start with 'part of' will no longer compile.
R=srdjan@google.com
Review URL: https://codereview.chromium.org//14791005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22278 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-01 20:46:48 +00:00
srdjan@google.com
2fdbeb2153
Make sure that ParsedFunction holds onto zone handles.
...
Review URL: https://codereview.chromium.org//11364166
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14718 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-09 00:58:21 +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
iposva@google.com
327ff5d70e
- Change "static final" to "static const" in the runtime/ directory.
...
- Fixed parsing of top-level static const.
Review URL: https://chromiumcodereview.appspot.com//10883071
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11425 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-27 23:51:37 +00:00
hausner@google.com
b3917271aa
Optimize away most implicit const getter functions
...
If a static field has a very simple initializer expression
(a literal number or string for example) we initialize the field
directly while compiling instead of generating an implicit
getter. We only do this if the type of the expression is
assignment compatible with the field. If the expression is not
compatible, we let the implicit getter do the error checking.
This eliminates about 330 implicit getters in the core libraries
and saves 35k in the snapshot (830k, down from 865k).
Review URL: https://chromiumcodereview.appspot.com//10826090
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10098 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-31 23:33:48 +00:00
asiva@google.com
ec7f44f025
Create frequently used symbols in the vm isolate
...
- Avoids the need for doing a NewSymbol on these everytime
- saves space as they get shared by isolates
Review URL: https://chromiumcodereview.appspot.com//10783035
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9834 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-24 00:01:50 +00:00
asiva@google.com
ef67b96777
Rename some of the enum definitions inside classes to avoid conflict with the ObjectKind enum.
...
Review URL: https://chromiumcodereview.appspot.com//10808064
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9792 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-20 22:24:49 +00:00
regis@google.com
a6282231eb
Revert r1380 that is breaking frog.
...
Review URL: http://codereview.chromium.org//8509031
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1382 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-10 01:39:06 +00:00
regis@google.com
8dd26ba9f6
Finalize all classes (fix issue 364).
...
Review URL: http://codereview.chromium.org//8506001
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1380 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-09 23:33:48 +00:00
kasperl@google.com
de889ee719
Get rid of the support for the old parameter syntax.
...
I've CC'ed Matthias too and I wouldn't be surprised if he can
find a nicer way of dealing with this, but this is pretty
simple and allows me to make progress on getting rid of the
old syntax.
R=iposva@google.com
BUG=
TEST=
Review URL: https://chromereviews.googleplex.com/3569013
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@199 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-07 08:03:04 +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