Commit Graph

10399 Commits

Author SHA1 Message Date
Carlo Bernaschina 1196cf5276 Fixed Observatory class-view crash
TBR=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2237383004 .
2016-08-12 17:48:44 -07:00
Ryan Macnak 6b5f29fb70 Reload: Don't free the saved class table while another thread may be reading it.
Fixes #27016.

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

Review URL: https://codereview.chromium.org/2240283002 .
2016-08-12 16:12:25 -07:00
Siva Annamalai cb36467568 - Fix for issue 27054 (leak when removing element from _GrowableList)
- _GrowableList.removeLast was not shrinking the backing array

BUG=27054
R=johnmccutchan@google.com, rmacnak@google.com

Review URL: https://codereview.chromium.org/2240313002 .
2016-08-12 16:06:12 -07:00
Ryan Macnak d98ddbfcca Fix unsimulated ARM/ARM64/MIPS builds.
Review URL: https://codereview.chromium.org/2238363002 .
2016-08-12 15:46:25 -07:00
Carlo Bernaschina 8860a60af4 Removing warnings from tests
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2243833003 .
2016-08-12 15:08:55 -07:00
John McCutchan 3aba8355f3 Dump information when we hit a FATAL in become
BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2240663004 .
2016-08-12 13:48:21 -07:00
Carlo Bernaschina a58c34254d Compacting _GetRetainingPath result avoiding some internal structures.
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2231313002 .
2016-08-12 13:42:04 -07:00
Ryan Macnak e09f2f940e Reload: Don't crash when a tearoff adds arguments and is called with too few.
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2241603004 .
2016-08-12 13:06:35 -07:00
Ryan Macnak 7ff2dd4117 Optimize AOT's switchable calls for the monomorphic case.
The call sequence is very similar to a classic IC call, except the guarded class and the target are loaded indirectly from the constant pool instead of as immediates. In the monomorphic case, we call directly to the expected target with a class check in the callee. In the unlinked, polymorphic and megamorphic cases, we call a stub; these case are now call-through instead of call-and-return.

Every code, except stubs involved in switchable calls, includes the class check sequence at the beginning. So we now distinguish between a checked and an unchecked entry point. Generated code except the switchable call continues to use the unchecked entry point.

PC offsets are calculated relative to the beginning of the instruction stream, rather than either entry point.

BUG=
R=fschneider@google.com

Review URL: https://codereview.chromium.org/2226893002 .
2016-08-12 11:18:35 -07:00
Ryan Macnak 87360dc375 Revert asserting only 1 arg ICs are generated in precompilation.
Review URL: https://codereview.chromium.org/2244743002 .
2016-08-12 10:09:02 -07:00
Martin Kustermann 4a88439e34 Reduce generated ARM code size for ReturnInstr by one instruction
Savings on flutter seem to be ~0.9%

R=vegorov@google.com

Review URL: https://codereview.chromium.org/2238233002 .
2016-08-12 12:58:39 +02:00
Ryan Macnak acf68a7126 Don't mark closurized natives as natives.
We used to implement implicit closures by duplicating the body, but now they perform a call to the parent function.

R=fschneider@google.com

Review URL: https://codereview.chromium.org/2237113003 .
2016-08-11 16:05:54 -07:00
Florian Schneider f26b130de9 VM: Fix math intrinsic code.
The functions where we have intrinsics were always inlined, so the intrinsic
code was actually not used. Move these functions to the inline black list instead to
ensure the intrinsic code is used instead. Inlining these in the generic inliner would
 not help anyway since they are inlined as recognized methods by the optimizer.

BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2239903002 .
2016-08-11 15:48:57 -07:00
Ryan Macnak 7244b5de0e Fail gracefully when attempting to evaluate against a VM internal class such a Field.
We can't evaluate against these classes because they don't have Dart source, belong to a library, etc.

Fixes #27052.

R=cbernaschina@google.com

Review URL: https://codereview.chromium.org/2237953002 .
2016-08-11 15:08:59 -07:00
Ryan Macnak 0ad1b4e923 Guard against re-entrant requests for stack traces.
R=zra@google.com

Review URL: https://codereview.chromium.org/2230713005 .
2016-08-11 09:46:20 -07:00
James Robinson cfdd6ee5cc [fuchsia] Update run_vm_tests_fuchsia for fuchsia launchpad API change
R=zra@google.com

Review URL: https://codereview.chromium.org/2235033002 .
2016-08-10 15:41:03 -07:00
Zach Anderson 581939d8b6 Retry: Fixes memory leaks in the eventhandler
Crashes were caused by removing from a std::map while iterating over it.

R=asiva@google.com

Review URL: https://codereview.chromium.org/2231123002 .
2016-08-10 15:20:30 -07:00
Florian Schneider cc08ecce13 Fix ARM intrinsic code for integer <<.
The argument smi-check would always fail because of the pushed code register, thus triggering the slow path.

Use a different register to avoid pushing completely.

BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2230123004 .
2016-08-10 14:06:03 -07:00
Matthias Hausner 1a6d1eca32 Implement @patch annotation for patch class members
Allow members of patch classes to be annotated with @patch. The VM
ignores the annotation. I simply replaces the original method
if the name matches, or reports an error if field names match.

Adding a bit is_patched to members to do more checking remains a
TODO. There are currently no unused bits available, and I don’t want
to increase the size of Function objects for this.

BUG=
R=asiva@google.com

Review URL: https://codereview.chromium.org/2230383003 .
2016-08-10 12:54:57 -07:00
Carlo Bernaschina 9bfb529042 Disable observatory_ui/isolate/* tests on dartium
TBR=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2234873003 .
2016-08-10 09:40:18 -07:00
Florian Schneider eb600a9af6 VM: Add more array intrinsics.
Make building array intrinsics a little easier for future additions.

For now I added a few that are frequently used in Flutter.

BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2235433002 .
2016-08-09 17:38:53 -07:00
Zachary Anderson bf085120f6 Revert: Fixes leak of duplicate command line environment strings
For bot crashes on Mac

Review URL: https://codereview.chromium.org/2229973002 .
2016-08-09 15:36:57 -07:00
Zachary Anderson 92abe83b26 Fixes memory leaks in the eventhandler
These probably only happen when the VM is going down after an unhandled
exception, but I want to fix them anyway.

R=asiva@google.com

Review URL: https://codereview.chromium.org/2228503007 .
2016-08-09 15:20:50 -07:00
Carlo Bernaschina 9ce171ac33 Converted Observatory cpu-profile element
Fixes https://github.com/dart-lang/sdk/issues/26043

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

Review URL: https://codereview.chromium.org/2204563003 .
2016-08-09 14:34:00 -07:00
Ryan Macnak a0df7275d6 Use log prints for simulation tracing and fix --disassemble-stubs.
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2229553005 .
2016-08-09 14:03:29 -07:00
Carlo Bernaschina a5443086a0 Converted Observatory isolate-summary element
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2217723004 .
2016-08-09 13:15:21 -07:00
Matthias Hausner f56654e882 Put patch syntax warning behind a flag
Fixes Dartium tests, which choke on the additional output introduced
by the warning.

TBR=vegorov

Review URL: https://codereview.chromium.org/2233493002 .
2016-08-09 13:01:12 -07:00
Adam Barth fac99f35b3 Switch Dart_Initialize to use a struct
The number of NULL parameters was getting out of hand.

R=zra@google.com

Review URL: https://codereview.chromium.org/2223463003
2016-08-09 12:25:39 -07:00
Adam Barth bd41127c7f Revert "Switch Dart_Initialize to use a struct"
I landed the wrong version of my patch.

This reverts commit bdc25d5695.
2016-08-09 12:24:13 -07:00
Adam Barth bdc25d5695 Switch Dart_Initialize to use a struct
The number of NULL parameters was getting out of hand.

R=zra@google.com

Review URL: https://codereview.chromium.org/2223463003 .
2016-08-09 12:20:16 -07:00
Matthias Hausner e11ca24053 Use metadata annotation @patch for patch classes
Annotate patch classes and top-level patch functions with @patch
instead of the pseudo-keyword patch. This allows the analyzer
to read patch files, and matches the syntax that dart2js uses.

The deprecated syntax is still supported, but a warning is printed when detected.

BUG=

Review URL: https://codereview.chromium.org/2220883004 .
2016-08-09 09:48:03 -07:00
Lasse R.H. Nielsen 3502fd5fd7 Revert "Reapply fast-URI patch."
Seems to trigger VM bug.

Review URL: https://codereview.chromium.org/2225243003 .
2016-08-09 12:51:58 +02:00
Lasse R.H. Nielsen 99e94db85b Reapply fast-URI patch.
R=whesse@google.com

Review URL: https://codereview.chromium.org/2220373002 .
2016-08-09 09:38:47 +02:00
Carlo Bernaschina 4329f962b2 Converted Observatory isolate-reconnect element
R=johnmccutchan@google.com, rmacnak@google.com

Review URL: https://codereview.chromium.org/2202973002 .
2016-08-08 13:07:08 -07:00
Zachary Anderson 82cb63e70f Fixes leak of duplicate command line environment strings
R=asiva@google.com

Review URL: https://codereview.chromium.org/2222013002 .
2016-08-08 12:53:26 -07:00
Zachary Anderson 1c6d8fd4ec Fuchsia: Fix arm64 build
R=asiva@google.com

Review URL: https://codereview.chromium.org/2226843002 .
2016-08-08 12:43:13 -07:00
John McCutchan 5a2193ecc4 Fix Windows build
BUG=

Review URL: https://codereview.chromium.org/2223863003 .
2016-08-08 12:30:37 -07:00
John McCutchan 800b1352ce Add an API for setting the sticky error
BUG=
R=asiva@google.com

Review URL: https://codereview.chromium.org/2223913002 .
2016-08-08 12:14:33 -07:00
John McCutchan a67b9c82ee Support devFS writes via HTTP PUT
- [x] Allow DevFS writes over HTTP PUT with a gzip compressed payload.
- [x] Add service test for http put writes.

BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2225583002 .
2016-08-08 10:35:29 -07:00
Florian Loitsch 596723f0c3 Fix return type for JoinMulticast.
Fixes #27032.

BUG= http://dartbug.com/27032
R=sgjesse@google.com

Review URL: https://codereview.chromium.org/2220983002 .
2016-08-08 12:22:30 +02:00
Zachary Anderson a83edeee95 Add missing files to sources list
Review URL: https://codereview.chromium.org/2220683002 .
2016-08-05 14:19:04 -07:00
Zachary Anderson 2e3d56a9d6 Remove duplicate entry from source list
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2218173003 .
2016-08-05 14:11:29 -07:00
Carlo Bernaschina 3c786269cb Converted Observatory class-tree element
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2212253002 .
2016-08-05 12:48:07 -07:00
Carlo Bernaschina 1d0ec7b74c Always send typeClass field, if it is resolved
R=johnmccutchan@google.com, regis@google.com, rmacnak@google.com

Review URL: https://codereview.chromium.org/2223543002 .
2016-08-05 12:44:55 -07:00
Terry Lucas c811e3c26e Currently breaks Dartium. Will investigate with John.
Revert "Clear isolate callback data before running shutdowncallback"

This reverts commit aed6dd844d.

TBR=jacobr@google.com,johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2224543002 .
2016-08-05 11:01:51 -07:00
Ryan Macnak 7a12b0cb60 Fix IA32 build.
Review URL: https://codereview.chromium.org/2214313002 .
2016-08-04 17:52:52 -07:00
Ryan Macnak 19716b351a Reset most ICs by returning to the canonical empty data arrays.
We can't do this for the binary operators because they must be writable and not shared for the fast Smi op stubs to record invocation counts.

Suspected to help avoid races, see Issue #26946.

Also remove some dead code and avoid TLS.

R=fschneider@google.com

Review URL: https://codereview.chromium.org/2217733002 .
2016-08-04 17:41:03 -07:00
Carlo Bernaschina ba0f803fbe Centralized event streams
R=turnidge@google.com

Review URL: https://codereview.chromium.org/2211603002 .
2016-08-04 17:11:16 -07:00
Todd Turnidge f8ff7bd5c4 Delete NativeMessageHandler once a native port closes.
Closes #27002

R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2217693002 .
2016-08-04 15:34:24 -07:00
Regis Crelier fbbedf4f18 Introduce getter p on double in the VM to control fractional precision.
Add test.

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

Review URL: https://codereview.chromium.org/2208473006 .
2016-08-04 15:18:00 -07:00