Commit Graph

2925 Commits

Author SHA1 Message Date
srdjan@google.com e47ecf48c0 Eagerly create local var descriptors for artificially created methods (they cannot be regularly parsed).
R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45606 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-07 19:04:28 +00:00
regis@google.com 52b19e2b14 Make sure the bound of a mixin type parameter is finalized before instantiating
it during finalization (fix issue 23385).
Print more info in ToCString() for an unresolved type.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45598 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-07 16:08:11 +00:00
srdjan@google.com ace53da9b7 FIxed 'typo', enabled lazy var descriptors generation again.
Review URL: https://codereview.chromium.org//1130963002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45583 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-07 05:34:44 +00: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
hausner@google.com ddd1db9bd2 Fix FieldAccess test
Removing an overly strict assertion I added today.

TBR=asiva

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45548 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-06 05:03:52 +00:00
hausner@google.com ad130e2b0f Minor cleanup for getter/setter lookup
Prevent a few getter/setter name mangling calls and random cleanup I came across while doing some experiments.

R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45544 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-05 23:42:53 +00:00
johnmccutchan@google.com a19cd071e5 Add 'dart:debugger' library
- Add the 'dart:debugger' library.
- Add the 'Debugger' class.
- Add explicit Dart breakpoint triggered by a call to: Debugger.breakHere();
- Add Debugger.breakHereIf(bool expr)

R=hausner@google.com, turnidge@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45529 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-05 17:05:37 +00:00
fschneider@google.com ca629181d0 VM: Use canonical empty-array for empty inlining meta-data.
When inlining meta-information is not used, use Object::empty_array()
instead of Array::New(0), thus saving those allocations.

Guard places for length 0 - before all code objects had an inlining
interval array of length at least 1.

This saves 2 old-space array allocations per unoptimized code object.

R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45435 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-27 22:50:02 +00:00
johnmccutchan@google.com e23be8563a Fixes to enable building dart:io implementation cleanly in mojo tree
+ make Observatory respect script line offsets (which Sky uses).

R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45427 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-27 14:46:32 +00:00
iposva@google.com a1854d45ac Fix http://dartbug.com/23290
- Ensure that we do have unoptimized code available when generating
  coverage information.

R=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45419 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-24 23:31:15 +00:00
hausner@google.com 21ca62f8bc Properly resolve top-level setters
Fixes issue 4386.

When converting a getter to a setter (converting a right-hand
side expression to a left-hand side, assignable entity),
we need to know where to look for the setter function.
Top-level setters need to be resolved in the library or prefix
scope in which the getter was found.

R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45316 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-21 17:36:34 +00:00
turnidge@google.com ca5de9eac9 Kill service_test.cc tests in favor of dart tests for the service protocol.
Associated cleanups and fixes that I noticed as I rewrote the tests.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45257 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-17 21:08:02 +00:00
iposva@google.com 2028a4ee7e - Avoid inconsistency of for example IterateObjects vs VisitObjects.
The majority of the sites uses VisitXYZ.
- Removed IterateNew* and IterateOld* as they are not needed any longer.

R=rmacnak@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45221 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-16 23:16:25 +00:00
rmacnak@google.com 899490d306 Add annotation for function declarations. Mark functions with performance problems in red.
Reduce the saturation of the coverage markers.

Creating service-refs is horribly expensive: build the details for call sites and function declarations lazily.

Report is_inlinable instead of CanBeInlined because the latter depends whether the function currently has code or breakpoints.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45217 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-16 19:06:35 +00:00
koda@google.com 95bdd07cfb Never mark free list elements.
Avoid confusion between heap premarking and verification by introducing the
invariant that FreeListElement is never marked.

Also fix incorrect statement about instruction objects being allocated premarked.

R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45185 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-15 22:18:07 +00:00
rmacnak@google.com 26548a2f3d Remove some duplication in code that extracts the source for a function.
R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45145 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-14 19:41:38 +00:00
fschneider@google.com 4aa1febbe6 Eliminate object table and use regular object pool for deoptimization infos.
On platforms that already use an object pool, we had a separate object table
used only for deoptimization infos. With this CL we don't have separate
tables, but only use the common object pool for both purposes.

R=vegorov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45108 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-13 15:43:58 +00:00
fschneider@google.com c2fad4230c VM: Enable collection of unoptimized code for optimized functions.
Until now, code GC was limited to function that have not been optimized.
With lazy generation of unoptimized code on deoptimization we can now
collect unoptimized code for optimized functions as well.

R=vegorov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45062 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-10 12:02:30 +00:00
iposva@google.com 320b0e5541 - Remove JSCRE from the runtime.
R=vegorov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44987 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-08 23:59:23 +00:00
vegorov@google.com 3062d3bae0 Compress deopt instructions in memory using variable length encoding.
Remove DeoptInfo type entirely and store compressed instructions in the TypedData.

BUG=
R=fschneider@google.com, iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44966 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-08 13:08:36 +00:00
rmacnak@google.com 766df03b1b Fix MethodMirror.source when the method is on the first line in a script.
R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44957 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-08 01:02:48 +00:00
fschneider@google.com 9709db7f76 VM: Add infrastructure to support deferred generation of unoptimized code.
Add deferred deoptimization instructions for return address, pc marker and
object pool pointer. This enables generating unoptimized code lazily
on deoptimization.

This CL does not change the way unoptimized code is generated or collected
yet, but just provides the mechanisms needed. This can be used to allow
code GC for the unoptimized code of optimized functions.

R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44934 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-07 12:32:22 +00:00
turnidge@google.com 03fbeff0bf Go back to old naming for implicit functions to fix the build.
Investigate offline.

BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44926 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-06 20:04:45 +00:00
turnidge@google.com fb591fc36a Continue improving the documentation for the vm service protocol.
Clean up the protocol a bit as I go.

---

Addendum:

Clean up inconsistencies between field and function ownership in the protocol.

Change the names of implicit closure functions (!)

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44923 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-06 19:24:47 +00:00
johnmccutchan@google.com 5c7d4bd9d3 Fix crash when posting a message to a send port with port id 0.
BUG=
R=zra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44906 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-05 19:06:29 +00:00
rmacnak@google.com 0f06986f55 Use evaluate:source as the uri of eval scripts instead of the empty string, so e.g., package:stack_trace will tolerate them.
BUG=http://dartbug.com/23006
R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44884 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-03 18:38:01 +00:00
turnidge@google.com 52538c5315 Tidy up the service protocol. Begin improving the documentation.
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44865 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-02 19:16:35 +00:00
turnidge@google.com e10de2de1a Fix the build.
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44719 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-26 19:23:14 +00:00
turnidge@google.com 140a071acb Allow Observatory debugger to switch isolates.
- Add the "isolate" command which allows the user to switch isolate by name or number.  Supports completion.

- Add the "isolate name" command which allows the user to rename an isolate.  Add the "setName" method to the service protocol to support this.  Isolates now have a debugger_name() in the vm.

- The new IsolateUpdate event notifies the client when an isolate name changes.

- When an isolate is updated, update the page's isolate too, so the navbar is accurate.

- Update isolate summary to display isolate number.

- Rework how the isolate's name is computed because we were getting garbagey names in the IsolateStart event (SpawnState was not yet set).

- Make sure that the debugger doesn't subscribe to events multiple times.

- "info isolates" is now "isolate list".

- Rework reporting of vm and isolate startTime in the service protocol and in Observatory.

- Fix bug in command completion when subcommands and other completions share common prefixes.

- Rework isolate accounting in the VM object in Observatory.  We now create Isolates in getFromMap rather than from IsolateStart events, per se.  Rewrite the isolate updating code.

- IsolateStart and IsolateExit events are now owned by the Isolate itself, rather than the vm.

- Return the actual result in pause/resume/etc.

- Add assertion in JSONStream::PrintProperty64 that the result fits in a javascript double.  Sigh.

- Stop sending GC events for the service isolate.  Add assertions to guard against this happening in the future.

- Misc improvements in error reporting.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44718 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-26 19:06:18 +00:00
hausner@google.com f138b4a849 Allow metadata on local functions
Fis issue 22126.

R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44717 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-26 18:28:38 +00:00
fschneider@google.com 76f5627abd Compile implicit closures as dispatchers instead of duplicating the original method's code.
This saves space in unoptimized code for implicit closures. In optimized code the
original method's code will often be inlined into the implicit closure dispatcher so that
there won't be a performance impact.

The static case just calls the original method. For implicit instance closures, the
this-parameter is loaded from the context and passed to the original method.


The coverage test is affected since the dispatcher has the original method's token position
associated with it. This means that the line with the method declaration is considered to
have executable code. Setting the token position to 0 (Scanner::kNoSourcePos) does not work
because it coincides with the first line (and first token) in the script.

R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44655 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-24 09:33:36 +00:00
rmacnak@google.com ecdee95907 Separate is_debuggable and is_visible again. The outer async functions (that produce the Futures or Streams) should be visible but not debuggable. Visible so their frames are included in stacktraces for return type errors during checked mode. Not debuggable so breakpoints are resolved to the function that implements the async body.
BUG=http://dartbug.com/22891
R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44646 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-23 20:26:05 +00:00
koda@google.com e3a345a84b Rename NoGCScope -> NoSafepointScope.
The old name makes less sense in the context of concurrent GC (and multiple threads in general).

Document the intended semantics of this (DEBUG-only) guard scope.

R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44616 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-20 22:08:25 +00:00
koda@google.com 92a8c39d3c Keep zone cached in SnapshotReader to allow removing ZoneHandle(Isolate*) interface.
Add a StackZone around API snapshot reading call.
Also remove CheckedHandle(Isolate*) interface by migrating its users to Zone*.

R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44580 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-19 17:42:40 +00:00
rmacnak@google.com 3b8bed46a8 Display ICData entries at call sites, with links to the targets and guarded classes. Implement service response for call site data for the same targets as coverage. Fix JSONifying ICData for super calls.
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44564 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-18 20:28:26 +00:00
asiva@google.com 963895af0a Fix for issue 22780 - print the stack trace on OOM and Stack overflow exceptions too.
R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44528 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-16 23:32:22 +00:00
asiva@google.com 95f634df09 While creating snapshots do not write out fields of an empty context and while reading do not create different empty context objects instead use the same one.
R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44523 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-16 21:11:18 +00:00
rmacnak@google.com e1bbc90322 Display call site data for functions.
- Requested with coverage data, only in function view for now.
 - Adjust token position associated with ICData to correspond to the identifier instead of the open paren.
 - Fix JSONifying ICs for static/constructor calls.

R=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44476 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-13 20:44:41 +00:00
srdjan@google.com 4fa6953f03 Fix printing disassembly.
R=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44474 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-13 20:28:42 +00:00
regis@google.com 87790063a4 Fix finalization of cyclic mixin types (issue 22666).
Add regression test.

R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44306 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-07 00:25:25 +00:00
asiva@google.com cfb2df1020 Fix for issue 20992 - Allow sending static/top-level functions to other isolates which are spawned using the 'spawn function' functionality.
R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44297 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-06 18:50:19 +00:00
vegorov@google.com 8c89e30eb8 Emit stackmaps even in unoptimized code if slow path pushes untagged values.
These stackmaps cover only pushed registers region, the rest of the stack (copied parameters, locals and temporaries) will be scanned as tagged values.

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44173 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-03 15:43:32 +00:00
johnmccutchan@google.com 78ad7f347b Improved profiler view and inclusive profile tree
TableTree improvements:
- Row's have flex-box divs in each table cell.
- To represent depth in tree a colored vertical bar for each depth level is shown
- Expanding tree nodes is now asynchronous and animates.
- Change cursor during tree expansion.

Observatory Profiler improvements:
- Improved appearance.
- Support for inclusive (main first) call trees.
- Replace tooltip hover with info toggle.
- Visual icon attributes for code, functions and call tree nodes.
- Fetching / Load status display.
- Cleaned up Code and Function kinds.

Profiler improvements:
- When not profiling the VM (--profile-vm) only walk the stack when we are in Dart code or have exited Dart code. This removes some native stack walker noise.
- Build inclusive (main first) call trees and send across service.

Notes for analyzer team:

Analyzer command line:

./out/ReleaseIA32/dart --keep-code --trace-profiler --profile-depth=128 --observe out/ReleaseIA32/dart-sdk/bin/snapshots/dartanalyzer.dart.snapshot --dart-sdk=out/ReleaseIA32/dart-sdk pkg/compiler/lib/src/dart2js.dart

Profiler settings:

- Tags: None or VM
- Mode: Function
- Direction: Bottom up

R=asiva@google.com, rmacnak@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44152 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-02 23:01:43 +00:00
koda@google.com 010eb4c72e Fix array-out-of-bounds in TypedDataView::ElementSizeInBytes.
Also add index bounds checking for the lookup table.

R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44101 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-27 18:52:18 +00:00
johnmccutchan@google.com f2333f63a5 Add Function based profile tree
Profiler improvements:
- Track Functions in profile and build Function based trie
- Associate code objects with functions
- Created cpu_profile.dart library
- Major speed improvements for disassembly view
- Fix truncation of disassembly comments
- Ability to get code object ticks from disassembly view
- Inlining mini-map in disassembly view.
- Remove a bunch of unused data from profile service response
- In some cases a caller PC that is better than the PC marker is inserted into the stack trace
- Inlined functions are expanded
- Ability to clear profile
- New flag '--keep_code' which keeps deoptimized code around for use by the profiler.

General fixes:
- Fix caching in service library
- Remove pubspec.yaml before running pub get

R=asiva@google.com, rmacnak@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44067 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-26 18:48:55 +00:00
rmacnak@google.com 8b6a6a1e4f Add ClassMirror.isEnum.
BUG=http://dartbug.com/21718
R=asiva@google.com, gbracha@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44035 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-26 01:13:50 +00:00
koda@google.com 9dff378e6c Work around race condition in MakeArray for ASSERTs and document assumptions.
BUG=dart:22501

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43898 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-19 22:55:50 +00:00
iposva@google.com 7d1785e760 - Allow any implementation of StackTrace to participate in async/
await exception handling.

R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43880 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-19 16:17:19 +00:00
iposva@google.com db9faebe98 - Simplify collection of stack traces. If we determine that a stack
trace is needed we collect the full stack trace instead of piecing
  it together as we walk up the stack.

R=rmacnak@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43863 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-19 02:18:53 +00:00
iposva@google.com 9846e42886 - Leave abstract class StackTrace be an abstract class and
implement its interface from within the VM instead of patching.

R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43803 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-16 23:49:05 +00:00