54 Commits

Author SHA1 Message Date
Adam Barth
0140555b54 Remove integration between tonic and WTFString
We used to share memory between Dart strings and WTF::String objects by
way of the Dart externalized strings. That used to be important when the
DOM shared many strings between C++ and Dart. However, now that we don't
retain strings in C++ much anymore, we don't need this complexity.

This patch removes DartStringCache and the integration. It also unwinds
several cases where we were converting back and forth between
WTF::String and std::string for no reason. Now we use std::string more
consistently.

For the case of ParagraphBuilder::addText, we now take a raw const
char*, which more closely matches the API the DartVM exposes. That means
we do a single copy out of the VM and into the render tree at that
point.
2016-01-18 20:47:46 -08:00
Adam Barth
1f4416f87b Move microtask queue into tonic
Moving the microtask queue into tonic solves three problems:

1) Removes three levels of indirection when invoking microtask
callbacks.
2) Removes the sky/engine/dom directory entirely.
3) Removes the last client of the (inefficient) DartValue class.
2016-01-18 16:59:52 -08:00
Jason Simmons
fd672e4196 JNI/Dart: support for more data types
* Conversion of all primitive types, wrapped Java objects, and nulls between Dart and Java
* A way to distinguish float arguments from doubles when calling Java methods
* Construction of a Dart JniClass from a Java class object
2016-01-14 13:32:07 -08:00
Adam Barth
3cce3f0d7e Add some more trace events to the compositor 2016-01-09 00:48:42 -08:00
Jason Simmons
10ce8a1928 Move the JNI bridge out of dart:ui and into a separate dart:jni library
This also extends DartClassLibrary to support multiple DartClassProviders
for different libraries
2016-01-08 11:04:22 -08:00
Chinmay Garde
a59456d63c Initialize the global dart library natives separately and outside the isolate create callback 2016-01-04 16:53:19 -08:00
Adam Barth
b4377c93dd Remove RuntimeEnabledFeatures
This complex machinery made sense for Blink, which has hundreds of
developers. In our case, we're just moving around two bools. We can do
that in a much simpler way.
2015-12-29 22:27:18 -08:00
Chinmay Garde
8638005427 Update Dart dependency to include fixes in x64 Dart precompilation 2015-12-09 13:23:03 -08:00
Chinmay Garde
33961a5d4d Instrument dart_init.cc and remove the idle wait on the service load port 2015-12-03 12:43:37 -08:00
Adam Barth
ad63ba0fb3 Update to the new C++ HandleWatcher 2015-12-03 10:59:40 -08:00
Eric Seidel
a92597ee07 Add various trace events for tracing startup
@abarth
2015-12-02 12:18:20 -08:00
Chinmay Garde
34696334a4 Allow capturing unified (Dart and base) traces from observatory
* Start capturing via <obs_host>:<obs_port>/flutter_startTracing
* Stop capturing via <obs_host>:<obs_port>/flutter_stopTracing
2015-12-01 13:26:53 -08:00
Adam Barth
def06cc72b SkyShell on Mac shows a blank window
When I run SkyShell on Mac from the command line, I get a blank screen unless I
make the change in this patch.
2015-11-27 23:17:33 -08:00
Todd Turnidge
df3977e38d Add stdout/stderr streaming for Dart debuggers. 2015-11-23 12:53:30 -08:00
Collin Jackson
0904164fd6 Fix https://github.com/flutter/flutter/issues/371 renaming "sky" and "chromium" to "flutter" in logs and Mac Shell UI 2015-11-16 14:54:18 -08:00
John McCutchan
b89f2b3f47 Update service isolate server script 2015-11-13 10:22:31 -08:00
John McCutchan
dd328c3293 Switch to using callback to get observatory data (working) 2015-11-11 07:25:44 -08:00
Chinmay Garde
ed7b829678 Dart isolate symbols are no longer in the blink namespace. Fix the snapshotter to account for the same. 2015-11-05 20:01:22 -08:00
Chinmay Garde
4a0ef22f30 Rename: DART_ALLOW_DYNAMIC_LOADING to DART_ALLOW_DYNAMIC_RESOLUTION 2015-11-05 16:54:44 -08:00
Chinmay Garde
f5aae58dc3 Only attempt dynamic resolution of Dart VM assets on iOS and Mac 2015-11-05 16:47:49 -08:00
Chinmay Garde
eb4326331d Allow dynamic resolution of Dart isolate and instructions snapshot 2015-11-05 15:40:36 -08:00
Chinmay Garde
8fd1ce7738 Disable Dart profiling on iOS and MacOS 2015-11-05 12:25:13 -08:00
Chinmay Garde
e63d438ac6 Enable service isolate under precompilation
Update dart revision to include changes required to enable profiling
during precompilation
2015-10-29 16:16:03 -07:00
Chinmay Garde
028e21dc5d Bump the Dart profile period to usable levels and enable CPU profiling in release builds on iOS 2015-10-29 14:39:44 -07:00
Jason Simmons
ce38faca74 Remove obsolete Dart GC controller code 2015-10-29 13:28:30 -07:00
Adam Barth
5968c60e48 Re-host View on Window
After this patch View is just a shim on top of Window and can be removed
easily.
2015-10-27 17:55:07 -07:00
Adam Barth
02d75552c9 Start booting up the new binding system for window
Currently this code isn't completely wired up, but this patch is an incremental
step in that direction.
2015-10-27 16:53:52 -07:00
Chinmay Garde
1c19bdbd36 Merge pull request #1790 from chinmaygarde/master
Update Dart revision
2015-10-26 11:19:05 -07:00
Chinmay Garde
ae7f980d31 Update Dart revision 2015-10-26 11:12:03 -07:00
Adam Barth
0c03d1c560 Rework how we lookup native functions from Dart
This patch changes how we lookup native functions from Dart to be more
extensible. This patch paves the way for removing the dart:ui_internals
library.
2015-10-25 00:41:45 -07:00
Adam Barth
01c14ff74b Remove a bunch of dead code
I left this code along in my uber patch to remove the DOM and CSS, but it's
just as dead. Also, move lone files out of dead directories into more sensible
places.
2015-10-24 16:09:21 -07:00
Adam Barth
a5768f2718 Remove the DOM and CSS
We don't use the DOM or CSS anymore. Instead, we work directly with the render
tree.
2015-10-24 00:26:24 -07:00
Adam Barth
a066323bd6 Fix Android build
RTLD_SELF doesn't appear to be defined on Android.
2015-10-23 08:54:05 -07:00
Chinmay Garde
d6ff8e90b0 Switch to using precompiled snapshots on iOS 2015-10-22 17:27:40 -07:00
Adam Barth
9422e0a427 Don't use a \0 to separate base and Dart trace events
Instead, we can just concatenate the records together, which means you can view
the generated trace file without post-processing. Also, I've made the trace
file world-readable, so that you can trace a device without needing root
access.
2015-10-21 15:14:19 -07:00
John McCutchan
c8d790b900 Roll Dart runtime forward to 6aab1cecb25f8e04087320f2082336073628afb4
Roll Dart runtime forward to:

6aab1cecb25f8e04087320f2082336073628afb4

Roll Observatory pub packages to:

5c199c5954146747f75ed127871207718dc87786

---

Update to new isolate create callback signature.
2015-10-14 13:27:05 -07:00
Adam Barth
5fc5d3e0f0 Remove dart:ui_builtin_natives
Now this code is just in dart:ui.
2015-10-12 16:33:15 -07:00
Adam Barth
72c103cefa Rename dart:sky to dart:ui 2015-10-09 19:27:13 -07:00
Adam Barth
1946924b16 Introduce IO thread for background tasks
Currently we run some tasks on the UI thread that shouldn't block the frame,
such as decoding images. This patch introduces a background thread on which we
can run these tasks.
2015-10-09 06:37:57 -07:00
Adam Barth
1151cfb75c Merge pull request #1512 from abarth/no_stacks
Don't dump stacks when app fails to start
2015-10-08 10:00:35 -07:00
John McCutchan
abf922cb44 Roll Dart runtime forward to c9334ed61f11df2d9aecc6311a5981eba0e55c01 2015-10-07 13:52:51 -07:00
Adam Barth
5aa983d5a7 Don't dump stacks when app fails to start
Instead of producing a C++ stack dump when the Dart app fails to start, we just
exit with an error code.
2015-10-06 15:47:23 -07:00
John McCutchan
2f453bb582 Roll the Dart runtime forward 2015-09-30 15:22:04 -07:00
Matt Perry
81b2b81b1d Replace C++ UpdateTask with an empty dart version, loaded as a snapshot.
This adds a new placeholder dart package updater in sky/packages. This is built
into a snapshot and compiled into the Sky engine binary using the same
mechanism as the Dart isolate.

I also added a SkyHeadless class, similar to SkyView, used for running Dart
code without a view.
2015-09-23 14:09:38 -04:00
Adam Barth
9a2411eeac Crash when we can't run main()
Also, in testing, crash when we can't load a library off disk.
2015-09-16 16:42:37 -07:00
James Robinson
c8eff5e44f Update to mojo d259eb58aa59e14a13d5e0dc3984b855b475ba09
This updates to mojo commit d259eb58aa59 and limits the roll script to
only pull in the parts of //mojo that are currently being used. More
stuff will be dropped in the future.
2015-08-25 14:56:25 -07:00
Adam Barth
7f0a28952a Uncaught exceptions get two stack traces
Now we print Dart_GetError only when we don't have a stack trace. Also, improve
the usability of the sky_shell command line tool by defaulting to "packages"
for the package-root and not crashing when we don't have a package-root until
we actually try to load a package. Finally, remove console spam when we fail to
bind the observatory port.

Fixes #689
2015-08-20 12:09:53 -07:00
Chinmay Garde
c6d67998cc Revert "Temporarily roll back dart dependency to work around build errors"
This reverts commit 2042a0f0adbde9a16ccd9ff9a414e70bc7871386.
2015-08-17 17:01:27 -07:00
Chinmay Garde
2042a0f0ad Temporarily roll back dart dependency to work around build errors
Tracking issue https://github.com/domokit/sky_engine/issues/654
2015-08-17 13:51:13 -07:00
Chinmay Garde
cfec10d80d Make |TracingController| platform agnostic and enable collecting
traces from base and the shell view dart isolate simultaneously.
Trace files contain samples from multiple sources and must be merged
separately
2015-08-13 12:51:24 -07:00