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
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
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
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
regis@google.com
0220e41d72
New bigint implementation in the vm.
...
R=srdjan@google.com
Review URL: https://codereview.chromium.org//509153003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40061 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-09 21:47:44 +00:00
ajohnsen@google.com
b01818d7be
Don't use async loading in gen_snapshot.
...
This fixes the dartium builds.
BUG=
Review URL: https://codereview.chromium.org//543623003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39855 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-04 09:42:22 +00:00
ajohnsen@google.com
8c633a390e
Cleanup resource loading of the VM.
...
There is not only one path for loading resources, and it's async.
BUG=
Review URL: https://codereview.chromium.org//529203004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39847 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-04 06:42:01 +00:00
johnmccutchan@google.com
b3f2fb14d0
Reduce CPU usage when no isolates need to be profiled (e.g. when an isolate calls readLineSync or sleep the isolate owns the thread but is blocked).
...
This CL does the following:
- Introduces two new API entry points: Dart_IsolateBlocked and Dart_IsolateUnblocked.
- The thread interrupter thread goes into a deep sleep if no isolates need to be profiled (not scheduled on a thread or are in a blocking call).
- When an isolate unblocks, the thread interrupter thread resumes regular interrupts.
- dart:io readLineSync and sleep mark that they are making a blocking call.
This fixes https://code.google.com/p/dart/issues/detail?id=18126 reducing CPU usage to 0% when waiting for stdin or sleeping.
R=ajohnsen@google.com , iposva@google.com
Review URL: https://codereview.chromium.org//297183003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36632 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-26 11:53:49 +00:00
hausner@google.com
c6101ca4b5
First step towards asynchronous loading of sources. With this change, sources are read asynchronously in dart code (builtin.dart) and when the i/o future completes, a callback in the VM loads and compiles the script or library code.
...
In a next step, the i/o will be moved to the service isolate so that not all isolates have to import dart:io.
Fallout from this change:
1) Loading has become a tad slower. Will have to investigate why.
2) Errors that happen during loading (file not found, compilation error in an imported library) are no longer reported at the offending import clause. This can be fixed later if necessary by passing the import clause source location to the library tag handler.
Review URL: https://codereview.chromium.org//290713004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@36575 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-23 17:43:14 +00:00
hausner@google.com
12c56b29c7
Eliminate unused url mapping parameter in dartutils
...
Change the LibraryTagHandler used in unit tests to match
the real tag handler better, eliminating special treatment
of url canonicalization. This required changing the library
url of tests so tests don’t get loaded using dart scheme urls,
since builtin.dart doesn’t handle dart: urls.
R=iposva@google.com
Review URL: https://codereview.chromium.org//270503007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35987 260f80e4-7a28-3924-810f-c04153c831b5
2014-05-09 18:25:41 +00:00
iposva@google.com
fd8565b071
- Add a minimal implementation of Capability.
...
- Make RawReceivePort and SendPort VM internal objects.
- Rationalize the creation of ports and their handling within the VM.
R=asiva@google.com
Review URL: https://codereview.chromium.org//243973002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@35325 260f80e4-7a28-3924-810f-c04153c831b5
2014-04-23 19:44:03 +00:00
whesse@google.com
1ab4461654
Refactor native extension shared library lookup.
...
BUG=
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//186473003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@33275 260f80e4-7a28-3924-810f-c04153c831b5
2014-03-04 14:39:12 +00:00
ajohnsen@google.com
140fddd06e
Make event-handlers edge-triggered and move socket-state to Dart.
...
This eliminates to pause/resume calls made in the previous one-shot based model.
BUG=
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//169383003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32780 260f80e4-7a28-3924-810f-c04153c831b5
2014-02-19 09:44:26 +00:00
lrn@google.com
3b3e87cabc
Revert "Rename internal library dart:_collection-dev to dart:_internal."
...
Dartium needs updating too.
Committed: https://code.google.com/p/dart/source/detail?r=31827
R=floitsch@google.com
Review URL: https://codereview.chromium.org//133273011
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31877 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-16 12:06:38 +00:00
iposva@google.com
781f737c6a
First round of http://dartbug.com/15922 :
...
- Address warnings about 64-bit to 32-bit conversions.
- Remove heap profiler.
R=asiva@google.com
Review URL: https://codereview.chromium.org//139043003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31867 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-16 05:05:35 +00:00
lrn@google.com
ead87f47e9
Revert "Rename internal library dart:_collection-dev to dart:_internal."
...
Dartium needs updating too.
Review URL: https://codereview.chromium.org//133273011
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31827 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-15 12:27:44 +00:00
lrn@google.com
0098710559
Rename internal library dart:_collection-dev to dart:_internal.
...
BUG= http://dartbug.com/14140
R=floitsch@google.com
Review URL: https://codereview.chromium.org//133893007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31823 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-15 09:24:46 +00:00
johnmccutchan@google.com
c76b6eb1c2
Split service into VM and embedder specific bits.
...
Move most service sources into the VM.
R=asiva@google.com
Review URL: https://codereview.chromium.org//125103004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31809 260f80e4-7a28-3924-810f-c04153c831b5
2014-01-14 22:34:43 +00:00
floitsch@google.com
4b316431fa
Implement scheduleImmediate for the VM.
...
BUG= http://dartbug.com/9001
R=iposva@google.com
Review URL: https://codereview.chromium.org//79243002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30797 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-02 16:27:07 +00:00
sgjesse@google.com
b99d27ec86
Simplify some argument checking for socket calls
...
Ensure valid range in the C++ code. Leave any argument checking with
"user-friendly" error messaged to the Dart code.
R=ajohnsen@google.com
BUG=
Review URL: https://codereview.chromium.org//91043003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30713 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-27 12:12:08 +00:00
sgjesse@google.com
c97dc6f9fb
Propagate errors from DartUtils helper functions
...
Instead of asserting in debug mode just propagate any errors.
R=ajohnsen@google.com
BUG=
Review URL: https://codereview.chromium.org//91293002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30709 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-27 11:46:20 +00:00
iposva@google.com
14696031b3
- Do not use size_t.
...
Review URL: https://codereview.chromium.org//59083012
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29952 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-06 01:08:22 +00:00
iposva@google.com
070d3dedf7
- Add a per-isolate pseudo random number generator to the
...
VM internals. This PRNG is not used to generate random
numbers in Dart code.
- Use the PRNG to generate JIT cookies for large constants
if needed during assembly.
- Add the possibility to set an external entropy source
for the PRNG through the C API.
R=asiva@google.com
Review URL: https://codereview.chromium.org//59773007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29950 260f80e4-7a28-3924-810f-c04153c831b5
2013-11-06 00:59:46 +00:00
whesse@google.com
3b54950144
Remove dart:platform library.
...
This reverts commits r29154, r29244, r29251, r29268, and r29272.
The dart:io Platform class will not be moved to a dart:platform library.
R=ajohnsen@google.com
Review URL: https://codereview.chromium.org//50573002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29435 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-29 11:33:34 +00:00
sgjesse@google.com
2f27215203
Remove the reply port form the native isolate handler
...
The handler function for a native isolate no longer gets an explicit
reply port. Instead the reply port must be sent as part of the message
if required.
The Dart_CObject structure now exposes the send ports in a message to
a native isolate.
R=asiva@google.com , floitsch@google.com , whesse@google.com
BUG=
Review URL: https://codereview.chromium.org//43483004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29418 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-29 08:45:32 +00:00
whesse@google.com
265c25a4a2
Add fields to platform library, implement them on runtime dart.
...
BUG=
R=ahe@google.com , ajohnsen@google.com , floitsch@google.com , sgjesse@google.com
Review URL: https://codereview.chromium.org//36883005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@29244 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-25 11:48:28 +00:00
asiva@google.com
1a2f236fab
Fix issue 13942 - Dart_Error function invokes OS::VSNPrint with the "format" string containing data derived from the string
...
R=iposva@google.com
Review URL: https://codereview.chromium.org//27694005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28809 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-17 17:49:45 +00:00
srdjan@google.com
3a8252f90d
Cleanups: int -> intptr_t for "array" lengths, memory sizes.
...
R=asiva@google.com
Review URL: https://codereview.chromium.org//26294002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28324 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-07 20:19:37 +00:00
iposva@google.com
35a8e25648
Fix http://dartbug.com/13297
...
- Error out early if the current working directory cannot be determined.
R=asiva@google.com
Review URL: https://codereview.chromium.org//23875023
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27486 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-13 16:40:36 +00:00
mlippautz@google.com
94502c10ea
Checks CObject lengths in native API.
...
Also converts the API to use intptr_t instead of a mixture of int64_t and int. Internally all variable length objects have lengths and maximum values represented as intptr_t (actually Smi ranges). In order to check for these maximum lengths we need to have a common type for 32 and 64 bit platforms.
Helping constructs like IOBuffer can still use 64bit lengths, but have to check that there values are actually in the domain of intptr_t as soon as internal objects are created.
Addresses issue 4314.
BUG=
R=asiva@google.com , sgjesse@google.com
Review URL: https://codereview.chromium.org//23532048
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27395 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-11 16:56:12 +00:00
whesse@google.com
7db2572902
dart:io | Change names for SecureSocket exceptions.
...
BUG=
R=ajohnsen@google.com , sgjesse@google.com
Review URL: https://codereview.chromium.org//17589007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24405 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-25 13:54:42 +00:00
asiva@google.com
45445820da
Replace uses of Dart_GetClass with Dart_GetType and Dart_InstanceGetClass with Dart_InstanceGetType (The idea is to deprecate Dart_GetClass and Dart_InstanceGetClass from the API)
...
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//17261011
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24244 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-20 18:11:47 +00:00
johnmccutchan@google.com
2cf19138e3
HTTP loading cleanups
...
BUG=
Review URL: https://codereview.chromium.org//17183008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24165 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-19 00:02:38 +00:00
johnmccutchan@google.com
e93ba804c4
Revert 24099
...
Review URL: https://codereview.chromium.org//17284004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24100 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-17 16:38:17 +00:00
johnmccutchan@google.com
5103b96715
Make implicit things explicit when loading scripts.
...
Explicitly:
Set current working directory
Set windows flag
Previously these were side effects of calling other functions.
Also use ' strings consistently.
R=iposva@google.com
Review URL: https://codereview.chromium.org//16368002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24099 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-17 15:59:13 +00:00
asiva@google.com
51651ee00b
Split dart_api.h into multiple parts:
...
dart_api.h - Has the core API functions
dart_mirrors_api.h - Has API functions to support Mirrors or reflection
dart_native_api.h - Has parts which support the native message handling,
profilling and other internal tools
R=sgjesse@google.com , vsm@google.com
Review URL: https://codereview.chromium.org//16973003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24062 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-14 23:47:40 +00:00
ajohnsen@google.com
5ce3b9ddea
Clean up dart:io exceptions.
...
- Introduce IOException.
- Remove HttpParserException.
- Merge RedirectLimitExceededException and RedirectLoopException into
RedirectException.
- Remove 'IO' from FileIOException, DirectoryIOException, LinkIOException
and SocketIOException.
BUG=https://code.google.com/p/dart/issues/detail?id=9955
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//16123036
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23848 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-11 13:15:46 +00:00
johnmccutchan@google.com
43425cc7c7
Remove hack http client and use the one in dart:io
...
R=asiva@google.com
Review URL: https://codereview.chromium.org//15736023
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23496 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-31 22:04:59 +00:00
iposva@google.com
1836035266
- Modify dart_api.h to be a proper C API.
...
- Verify that dart_api.h can be used from C
by changing the test_extension to be a pure C file.
R=asiva@google.com
Review URL: https://codereview.chromium.org//15689013
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23476 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-31 16:36:27 +00:00
johnmccutchan@google.com
9d264aaee5
Add support for loading scripts from http
...
R=iposva@google.com
Review URL: https://codereview.chromium.org//15966002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23351 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-29 14:34:15 +00:00
whesse@google.com
fb8471244f
dart:io | Add FileSystemEntity.stat() and FileStat class.
...
BUG=
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//15018011
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22685 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-14 16:26:13 +00:00
asiva@google.com
89ef11e004
Final step towards loading core library scripts directly from the sources
...
- Modify bin.gypi to ensure that the io library and patch files are read
directly from the sources. Remove the source buffer generation step in
the gypi files for all the io library and patch files.
- Restructure the code a bit to eliminate some code duplication.
- Delete runtime/tools/concat_library.py
R=ager@google.com , sgjesse@google.com
Review URL: https://codereview.chromium.org//14752008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22514 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-08 16:42:46 +00:00
asiva@google.com
ea5a3919c5
Resubmit 22380 after fixing the windows build.
...
R=hausner@google.com
Review URL: https://codereview.chromium.org//14645025
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22396 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-03 22:50:26 +00:00
asiva@google.com
dab8758e7a
Revert 22380 to investigate windows build break.
...
Review URL: https://codereview.chromium.org//14927003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22382 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-03 18:26:34 +00:00
asiva@google.com
27e78fb6f8
Second step towards loading core library scripts directly from the sources
...
- Modify the library source generator to generate a source mapping array
The generated array is of the following format:
const char* dart::Bootstrap::corelib_source_paths_[] = {
"dart:core", "/workspace1/dart-all/dart/sdk/lib/core/core.dart",
"bool.dart", "/workspace1/dart-all/dart/sdk/lib/core/bool.dart",
...
...
};
- Read the source file using the source mapping array instead of relying on
a generated buffer containing the sources
- Modify the gyp files to ensure that all libraries are read directly
from the sources. This CL does not change the patch part yet.
Remove the source concatentation step in the gypi files for all the core
libraries.
R=hausner@google.com , iposva@google.com
Review URL: https://codereview.chromium.org//14786012
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22380 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-03 18:12:24 +00:00
smok@google.com
ebbc2020a2
Put everything in runtime/bin into '::dart::bin' namespace.
...
Review URL: https://codereview.chromium.org//14341015
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22032 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-25 14:22:30 +00:00
sgjesse@google.com
640e6a9e63
Fix wrong ASSERT
...
TBR=ager@google.com
Fix building of extension sample
TBR=ager@google.com
BUG=
Review URL: https://codereview.chromium.org//14046011
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21427 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-15 09:56:41 +00:00
sgjesse@google.com
6507357ca0
Add support for more typed data types on native ports
...
Renamed the kUint8Array type for a Dart_CObject structure to
kByteArray to support all typed data types. The specific type is
stored in a separate type field. No matter what the specific type is,
the length of the byte array is always in bytes.
R=ager@google.com
BUG=
Review URL: https://codereview.chromium.org//14142008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21423 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-15 09:01:56 +00:00
asiva@google.com
a192f216f0
Fix build break in dart2js. The snapshot length was not accounting for the magic number.
...
Review URL: https://codereview.chromium.org//12419009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20342 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-21 19:49:50 +00:00
asiva@google.com
5858afd74a
Write the magic number 0xf5f5dcdc into a script snapshot file and use this to distinguish whether a script snapshot or a regular script file is being passed on the command line (removed the --use-script-snapshot option).
...
Review URL: https://codereview.chromium.org//12438033
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20339 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-21 18:47:49 +00:00