Commit Graph

3601 Commits

Author SHA1 Message Date
rmacnak@google.com cc2e1e4bd1 Make _FileSystemWatcher.watch private.
It doesn't verify the path is a string before running native code, so when invoked via mirrors it will hit an uncatchable API error instead of a Dart exception.

R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43487 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-04 21:39:38 +00:00
kustermann@google.com 1d6231bacd Revert "Introduce optional 'bool shared' parameter to ServerSocket.bind() ..."
Review URL: https://codereview.chromium.org//896213002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43476 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-04 16:00:21 +00:00
kustermann@google.com 3c6c29fee9 Introduce optional 'bool shared' parameter to ServerSocket.bind() ...
R=sgjesse@google.com, wibling@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43467 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-04 13:41:41 +00:00
sgjesse@google.com 6ba8c7bd7f Fix another type bug in r43455
TBR=lrn@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43459 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-04 10:13:11 +00:00
sgjesse@google.com a99617c254 Fix type bug in r43455
TBR=lrn@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43456 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-04 08:45:23 +00:00
sgjesse@google.com 833e5d9aee Add support for killing a process with a given PID to dart:io
R=lrn@google.com, kustermann@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43455 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-04 08:20:33 +00:00
johnmccutchan@google.com 9d1bb3aa6b Port type arguments to new RPC protocol
R=turnidge@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43428 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-03 21:26:19 +00:00
sgjesse@google.com 9aa4805e21 Add an option for starting a detached process with stdio connected
R=lrn@google.com, kustermann@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43393 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-03 13:38:38 +00:00
turnidge@google.com e65e6fab9d Begin migrating the vm service from a rest-style interface to a json-rpc style interface.
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43370 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-02 23:15:40 +00:00
johnmccutchan@google.com 409a4527b3 Set LibraryTagHandler before attempting to load builtin libraries
BUG=
R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43317 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-29 22:09:55 +00:00
johnmccutchan@google.com 19719a1442 Add missing library dependencies for Windows
As seen here:
http://build.chromium.org/p/client.dart/builders/dartium-win-full-be/builds/2781/steps/compile/logs/stdio

R=rmacnak@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43313 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-29 20:54:04 +00:00
johnmccutchan@google.com 13f05cdb87 Fix build breaking typo on MacOS
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43308 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-29 18:39:36 +00:00
johnmccutchan@google.com 172baa03ff Service isolate rework take 2
Review URL: https://codereview.chromium.org//889443002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43306 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-29 18:31:27 +00:00
sgjesse@google.com 042462d69b Refactor the process creation code on POSIX platforms
This moved the process creation code to a class, and splits the
single function used before into several methods operation on instance
variables.

The refactor revealed at least one leaked file descriptor.

R=kustermann@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43280 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-29 13:06:40 +00:00
sgjesse@google.com f1b1e4a8db Aling process implementation and fix bugs
Aling the code for dart:io process as much as possible between Linux,
Mac OS and Android prior to refactiring the code.

On Mac OS file descriptors where not closed corrently. On Linux EINTR
was not expected for all calls.

R=kustermann@google.com, kunstemann@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43274 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-29 11:54:54 +00:00
iposva@google.com ad008bf8ba - Move timer implementation closer to the rest of message handling.
R=zra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43225 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-28 00:39:35 +00:00
johnmccutchan@google.com db271b0477 Revert r43217, r43215, r43208, r43207, and r43202.
Reverting because of some isolate spawn issues (on Windows, and pub bots).

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43219 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-27 22:56:18 +00:00
johnmccutchan@google.com 2e17119ebe Don't include platform_sources in libvmservice_io
Fixes link error on Dartium Android:

/b/build/slave/dartium-android-release-be/build/src/third_party/android_tools/ndk/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld.gold: error: obj/dart/runtime/libdart_vm.a(obj/dart/runtime/platform/libdart_vm.assert.o): multiple definition of 'dart::DynamicAssertionHelper::Fail(char const*, ...)'
/b/build/slave/dartium-android-release-be/build/src/third_party/android_tools/ndk/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.8/../../../../arm-linux-androideabi/bin/ld.gold: obj/dart/runtime/libvmservice_io.a(obj/dart/runtime/platform/libvmservice_io.assert.o): previous definition here

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43217 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-27 22:31:20 +00:00
johnmccutchan@google.com dde8645f9d Use MacOS helper to get address of environ variable
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43215 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-27 22:18:47 +00:00
johnmccutchan@google.com 900e4e5bd0 Fix ARM cross compile
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43208 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-27 21:27:02 +00:00
johnmccutchan@google.com 6909a377ef Fix Windows build
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43207 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-27 21:08:51 +00:00
johnmccutchan@google.com 66aa470fc6 * Create vm-service isolate at Dart_Initialize time.
* Remove Service create callback.
* Simplify creation of service isolate.
* Creation is done on thread pool.
* Use vm-service isolate for loading in standalone embedder.
* Remove import of dart:io from builtin library.

performance changes:

no service isolate:

$ ./tools/test.py -m release
Test configuration: none_vm_release_ia32
[01:27 | 100% | +12363 | -    0]

$ ./tools/test.py -m release
Test configuration: none_vm_release_ia32
[01:27 | 100% | +12363 | -    0]

always start service isolate (as a thread pool task):

$ ./tools/test.py -m release
Test configuration: none_vm_release_ia32
[01:45 | 100% | +12363 | -    0]

$ ./tools/test.py -m release
Test configuration: none_vm_release_ia32
[01:44 | 100% | +12363 | -    0]

service does I/O (calls to Dart_LoadScript block until service is running):

$ ./tools/test.py -m release
Test configuration: none_vm_release_ia32
[01:55 | 100% | +12363 | -    0]

$ ./tools/test.py -m release
Test configuration: none_vm_release_ia32
[01:55 | 100% | +12363 | -    0]

R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43202 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-27 19:45:48 +00:00
sgjesse@google.com 417ee299b3 Port the support for starting a detached process to Android.
This is the Android part of r43070.

TBR=kustermann@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43072 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-22 13:16:07 +00:00
sgjesse@google.com f6a10fbdf1 Add support for starting a detached process
BUG=http://dartbug.com/20970
R=kustermann@google.com, lrn@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43070 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-22 11:49:39 +00:00
ricow@google.com 5160c6564b Fix mac build, missing ;
TBR=sgjesse@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43069 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-22 11:33:47 +00:00
sgjesse@google.com 3f939748cb Fix issue with Link.target and Link.targetSync failing on some file systems
Don't rely on information from lstat64 for the size of the link target. Get
the actual length from just reading the link target.

BUG=http://dartbug.com/21987
R=kustermann@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43066 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-22 10:27:11 +00:00
sgjesse@google.com 67badc8d74 Fix incorrect handling of closing stderr on Windows
BUG=http://dartbug.com/22088
R=kustermann@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43060 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-22 09:25:17 +00:00
rmacnak@google.com 2fb0bb020b Reapply "Mark all private functions in dart: libraries as invisible (*sniff*). Previously these functions were only marked invisible if they were also native, a constructor, or on a black list."
Broken assumption in Dartium fixed in blink r188698.

R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43053 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-21 20:44:04 +00:00
rmacnak@google.com ed88ac7f0c Revert "Mark all private functions in dart: libraries as invisible (*sniff*). Previously these functions were only marked invisible if they were also native, a constructor, or on a black list."
Broke Dartium.

TBR=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43026 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-20 20:56:59 +00:00
rmacnak@google.com 045bd762d7 Mark all private functions in dart: libraries as invisible (*sniff*). Previously these functions were only marked invisible if they were also native, a constructor, or on a black list.
An invisible function is hidden from stack traces, will not be enumerated
by mirrors, and cannot be directly invoked by mirrors. Note that private
classes remain accessible.

Fix a few internal dart:io functions that should be private.

Fix bug where mirrors would enumerate top-level invisible functions.

Mark observatory test that was using such private functions through
mirrors as failing.

BUG=http://dartbug.com/15274
R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43019 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-20 18:32:19 +00:00
sgjesse@google.com 810055ece1 Fix Android build
Changes in r42953 did not include update to the Android implementation.

R=ricow@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42978 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-19 09:24:48 +00:00
sgjesse@google.com 30ae29f4f2 Reapply revert of "Make stdout/stderr async"
This re-applies r42909 which was reverted in r42910 with a few fixes.

TBR=ajohnsen@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42953 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-16 13:35:37 +00:00
sgjesse@google.com c831cdf97f Revert "Revert "Make stdout/stderr async""
This reverts commit r42909

TBR=ricow@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42910 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-15 14:33:35 +00:00
sgjesse@google.com bc1be9c45f Revert "Make stdout/stderr async"
This makes writes to the stdout and stderr IOSinks in dart:io blocking again.

To get the non-blocking behaviour the getter "nonBlocking" will return an
IOSink with real non-blocking behaviour.

Updated the class exposed for stderr to also support checking for whether it
is connected to a terminal and checking the terminal size.

R=ajohnsen@google.com, iposva@google.com

BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42909 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-15 14:18:16 +00:00
asiva@google.com ca1c3241c4 Fix for issue 21398.
Accept only 'literal-like' objects when sending messages to isolates
spawned using spawnURI. Allow all objects for isolates spawned using
spawnFunction.

R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42793 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-12 23:14:30 +00:00
sgjesse@google.com 218e366f89 Add support for file locking
This adds support for file locking in dart:io.

BUG=http://dartbug.com/17045
R=kustermann@google.com, lrn@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42733 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-09 13:06:37 +00:00
iposva@google.com 8609239930 - Move VM specific helpers to the common dart:io patch file.
Review URL: https://codereview.chromium.org//812673009

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42675 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-07 23:02:06 +00:00
johnmccutchan@google.com 93e840e859 Fix compilation warnings in Windows event handler
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42649 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-06 22:51:00 +00:00
johnmccutchan@google.com 261200c587 Build Observatory as part of runtime
Relanding https://codereview.chromium.org/810623005/

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42645 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-06 21:59:42 +00:00
whesse@google.com aa5a986d5d Revert "Build Observatory with runtime"
This reverts commit 76df7b3c1bf83c08d3994d61df4c9c530fadb4e5.
This commit breaks dartium compilation.

BUG=
R=ricow@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42619 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-06 10:07:58 +00:00
johnmccutchan@google.com 9d6ac72b46 1) Remove prebuilt Observatory sources
2) Move observatory from runtime/bin/vmservice/observatory to runtime/observatory

3) Add two tools scripts:
- tools/run_pub.py (runs pub before SDK is built)
- tools/obs_tool.py (helper for get, build, and deploy stages)

4) Build Observatory with runtime:
- pub get --offline
- pub build
- deploy

5) Build artifacts are now in standard output directory, for example, out/DebugIA32/observatory.

6) Add a new 'dart_boostrap' host target (no snapshot, no observatory) that can be used as the Dart executable to run pub when building Observatory. This is behind a build.py flag --use-bootstrap-for-observatory because:

- It is only necessary on older Linux distributions that are incompatible with the prebuilt Dart testing executable.
- running pub build with the boostrap Debug build is significantly slower.

7) Detect if the prebuilt executable doesn't work and automatically switch to the 'dart_bootstrap' executable. Also, warn the user and provide a Wiki link with more information.

R=turnidge@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42614 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-05 21:26:52 +00:00
lrn@google.com 8524d656af Omit variables beginning with "=" from Windows environment.
BUG= http://dartbug.com/21961
R=sgjesse@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42591 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-05 13:08:42 +00:00
koda@google.com 60831f3e26 Fix leak from new/free mismatch in main.
Found using AddressSanitizer.

R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42563 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-23 18:06:31 +00:00
koda@google.com be90946c6b observatory: optionally auto-refresh allocation profile page at each GC.
Activated by checkbox in navbar; defaults to off.

R=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42338 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-12 18:16:26 +00:00
turnidge@google.com b2288eeeb6 Fix resume from breakpoint in the vm service.
Resume requests from the vm service were getting ignored.

BUG=
R=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42331 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-12 17:41:25 +00:00
koda@google.com b3998f8598 Try compiling JS again.
R=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42194 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-08 22:50:07 +00:00
koda@google.com c0d362226d Fix build and compile to JS.
Initialize vmCid also for class references.

TBR=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42174 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-08 19:11:20 +00:00
koda@google.com 8422f331ec Fix bugs in heapmap, binary payloads, 'address' request.
- Remove forbidden extra slash.
- Update binary payload parsing after type changes.
- 'address' should return a full object, not a ref.

R=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42169 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-08 18:45:57 +00:00
koda@google.com 09a6b1ea65 Compute retained size for every object, using dominator trees.
Uses the Lenguaer-Tarjan algorithm.

Next step is to provide interface for "get top N most retaining objects (of class C)".

R=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42116 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-04 20:56:02 +00:00
koda@google.com 951fa0ab22 observatory: populate 'architecture' in VM, and add numerical vmId in Class.
Knowing the word size and having an efficient (non-String) representation for class ids is important for the upcoming heap serialization features.

R=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42115 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-04 19:07:32 +00:00