johnmccutchan@google.com
727d29d6b6
Refactor VM service IDs:
...
- IDs are strings which can be concatenated together like paths.
- Isolate ID is now "/isolates/XXX"
- Function, field, class, library, and script IDs are now stable.
- Introduce <type-ref> tags.
R=turnidge@google.com
Review URL: https://codereview.chromium.org//98253009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31358 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-20 22:35:55 +00:00
turnidge@google.com
383468782e
Keep track of current "pause" event in the debugger.
...
This will allow us (later) to make nice descriptions of the state of
an isolate, e.g. "isolate 7112 is paused due to breakpoint 2" or
"isolate 7112 is paused due to interrupt" or "isolate 7112 is
running".
Use a new Pause() function to call the event handler during a pause.
It does some shared checking, setup, teardown.
Minor change in isolate interrupt handling - before we were not
setting 'in_event_handler_' in this case. Now we set 'pause_event_'
here, which will guard against recursive pauses in this case.
Reviewer: not sure what I think about all the names I used here.
"pause_event_" is very similar to PausedEvent but means something
different, as it includes pauses, interrupts, and (maybe) exceptions.
Dunno.
R=hausner@google.com
Review URL: https://codereview.chromium.org//118603002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31356 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-20 22:30:23 +00:00
srdjan@google.com
cd92319223
Optimize string length one comparisons by comparing char codes only. Implemented for one byte strings only at the moment. Will add other string types/mixed compares later.
...
R=fschneider@google.com
Review URL: https://codereview.chromium.org//105143011
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31347 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-20 20:11:38 +00:00
zra@google.com
3508d336dd
Simplifies standalone VM Android build.
...
This change also avoids the need to
do another 'gclient runhooks' when switching
between Android and Linux builds, and between
IA32 and ARM Android builds.
gyp does not allow 'libraries' sections inside of
configurations. Therefore, since some architecture
specific paths, libraries, etc. must be specified
on the Android NDK's linker command line, to avoid
re-gyping when switching between Android IA32 and ARM,
this change moves the architecture specific linker
flags to a script, android_link.py.
To avoid re-gyping when swtiching between Linux and
Android, this change creates new configurations
that specify the target OS as well as the the target
architecture, e.g. ReleaseLinuxARM or ReleaseAndroidARM
instead of ReleaseARM.
This change also adds a --toolchain flag to build.py,
and removes obsoleted logic for setting up the Android
build.
R=iposva@google.com
Review URL: https://codereview.chromium.org//105223002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31340 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-20 17:51:34 +00:00
regis@google.com
3bdeaf9813
Add missing ResolveType call (fix issue 15738).
...
Remove unused parameter from ResolveType.
Review URL: https://codereview.chromium.org//113163008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31336 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-20 14:26:53 +00:00
fschneider@google.com
e994d8b697
Revert r31326.
...
TBR=johnmccutchan@google.com ,
Review URL: https://codereview.chromium.org//118133004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31332 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-20 12:21:09 +00:00
ajohnsen@google.com
3bc42be527
Block other signals while handling a signal.
...
BUG=
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//118713003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31331 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-20 12:12:17 +00:00
ajohnsen@google.com
969eaf8068
Fix watch move event when path is a not a file.
...
BUG=https://code.google.com/p/dart/issues/detail?id=15458
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//110533008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31328 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-20 11:28:53 +00:00
fschneider@google.com
fe726e1971
Use parallel move resolver for optimized try-catch.
...
This CL has no change in functionality and is purely clean up and
refactoring. Instead of manually generating the moves at throwing
instructions in try-catch, construct a parallel move and use the resolver
to emit the native code. This eliminates a lot of duplicated code
from all platforms.
It will also allow to re-use stack space that is currently allocated
separately for each individual try-catch in a function.
I added a few more unrelated minor changes in various parts of the VM
* Simpilify guard code generation
* Resolve refactoring TODO in deoptimization
* Improve names
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//119213002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31326 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-20 09:41:42 +00:00
regis@google.com
b5a2dea566
Convert InstantiatedTypeArguments to TypeArguments upon canonicalization.
...
R=iposva@google.com
Review URL: https://codereview.chromium.org//106793007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31325 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-20 09:20:55 +00:00
fschneider@google.com
21d0b251e0
Update double unboxing heuristic.
...
R=srdjan@google.com
Review URL: https://codereview.chromium.org//119103002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31324 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-20 09:18:40 +00:00
asiva@google.com
491035987f
Change Dart_GetNativeBooleanArgument to use class Ids and direct
...
pointer comparision of the singleton objects to determine value.
R=rmacnak@google.com
Review URL: https://codereview.chromium.org//113763004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31311 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-20 00:15:13 +00:00
asiva@google.com
447f4e66d9
Fix build break (true is not defined on windows for C).
...
Review URL: https://codereview.chromium.org//108493003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31291 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-19 18:42:54 +00:00
asiva@google.com
a576fec3c0
Allow the native resolver to setup whether it needs the Dart API scope to
...
be setup automatically or not when a native function is invoked.
This would allow the embedder to treat some native functions as leaf
functions whose invocation can be very light.
R=hausner@google.com , zra@google.com
Review URL: https://codereview.chromium.org//117723002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31286 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-19 17:47:56 +00:00
ajohnsen@google.com
38d0fad2c7
Signal handling, take 2.
...
BUG=
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//119093007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31276 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-19 15:07:48 +00:00
ajohnsen@google.com
f24f568571
Revert "Signal handling."
...
This reverts commit r31270.
BUG=
Review URL: https://codereview.chromium.org//105083009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31275 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-19 14:03:15 +00:00
ajohnsen@google.com
e8d9794c70
Signal handling.
...
BUG=
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//108003009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31270 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-19 13:08:26 +00:00
sgjesse@google.com
d651bf7366
Handle failures to AcceptEx calls on Windows
...
R=ajohnsen@google.com
BUG=http://dartbug.com/11165
Review URL: https://codereview.chromium.org//110223007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31265 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-19 12:41:26 +00:00
ajohnsen@google.com
7a8abc62b7
Fix Stdout in checked mode.
...
BUG=
Review URL: https://codereview.chromium.org//119183002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31263 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-19 12:26:27 +00:00
sgjesse@google.com
c23414f9df
Add missing include
...
TBR=ajohnsen@google.com
BUG=
Review URL: https://codereview.chromium.org//119113002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31257 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-19 11:35:26 +00:00
ajohnsen@google.com
5e564f370d
Add getter for hasTerminal, terminalColumns and terminalLines on stdin.
...
BUG=https://code.google.com/p/dart/issues/detail?id=15557
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//102123010
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31255 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-19 10:59:58 +00:00
ngeoffray@google.com
2015e5f204
Fix an old TODO.
...
R=floitsch@google.com
Review URL: https://codereview.chromium.org//107333003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31253 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-19 10:40:53 +00:00
johnmccutchan@google.com
50ef680923
Bucket unknown symbols by PC and demangle native symbols
...
R=iposva@google.com
Review URL: https://codereview.chromium.org//100133004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31247 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-19 00:29:51 +00:00
johnmccutchan@google.com
397a9a56e5
Add flag to control profiler rate
...
R=asiva@google.com
Review URL: https://codereview.chromium.org//118673002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31244 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-18 23:11:20 +00:00
iposva@google.com
bceaf4b1eb
- Promote objects early when a large percentage is being
...
copied during a scavenge.
R=zra@google.com
Review URL: https://codereview.chromium.org//98693010
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31238 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-18 20:52:35 +00:00
turnidge@google.com
b640712e6b
Handle vmservice messages while at breakpoint.
...
Allow rudimentary inspection of breakpoints from vmservice.
R=hausner@google.com , johnmccutchan@google.com
Review URL: https://codereview.chromium.org//113513004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31233 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-18 17:45:17 +00:00
srdjan@google.com
761d4d04cd
Constant propagation in LoadIndexed when inputs are array/string and index constants.
...
R=fschneider@google.com , johnmccutchan@google.com
Review URL: https://codereview.chromium.org//102973007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31230 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-18 16:55:12 +00:00
fschneider@google.com
f7149b05c8
Fix bug in double unboxing.
...
The state bit that record if a field is unboxed or not has to be checked
in unoptimized code as well, since that code does not change when deoptimizing.
I also compacted the kind_bits bit field in the Field class to start from bit 0.
R=srdjan@google.com
Review URL: https://codereview.chromium.org//106623006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31229 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-18 15:46:39 +00:00
fschneider@google.com
16098ce25a
Fix invalid aliasing in type propagation of AssertAssignable.
...
We have to create a copy when computing the initial type for AssertAssignable
instead of using the CompileType of the input operand. Aliasing can cause
invalid elimination of checks after strengthening of asserts.
R=srdjan@google.com
Review URL: https://codereview.chromium.org//102283004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31227 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-18 15:30:07 +00:00
ajohnsen@google.com
5558bb0d1f
Fix most UDP issues on Mac OS
...
We still do not test getting SO_BROADCAST, as it (at least on my laptop)
returns false even if it has just been turned on.
Setting SO_REUSEADDR for datagram sockets also behaves differently
compared to Linux and Windows.
IPv6 multicast as I could not test it on my laptop.
R=ajohnsen@google.com
BUG=http://dartbug.com/1975
Review URL: https://codereview.chromium.org//117723003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31223 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-18 12:23:40 +00:00
sgjesse@google.com
85fdbfb773
Add argument checking to InternetAddress constructor
...
R=ajohnsen@google.com
BUG=http://dartbug.com/15687
Review URL: https://codereview.chromium.org//101913008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31220 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-18 11:26:02 +00:00
zra@google.com
aa4c080b5c
Adds CPU message type to vm service.
...
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//98253007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31209 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-17 22:22:12 +00:00
asiva@google.com
64a261fbbd
Changes to interpret the optimizable bit based on whether the function
...
is native or not.
R=srdjan@google.com
Review URL: https://codereview.chromium.org//101753005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31207 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-17 22:07:41 +00:00
iposva@google.com
1e8061f060
- Remove the reply_port from the VM internal message object.
...
- Adjust all the uses of this API.
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//93873015
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31205 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-17 21:11:18 +00:00
rmacnak@google.com
5e3a80268a
Partially implement LibraryMirror.topLevelMembers.
...
BUG=http://dartbug.com/14632
R=asiva@google.com , gbracha@google.com
Review URL: https://codereview.chromium.org//111643012
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31202 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-17 19:20:03 +00:00
rmacnak@google.com
7809fb4276
Remove dead isLocalPort from the VM mirrors implementation.
...
Review URL: https://codereview.chromium.org//115153007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31199 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-17 18:02:14 +00:00
iposva@google.com
f39a3dc75f
- Use named constant kNullable instead of true.
...
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//105403008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31198 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-17 17:42:26 +00:00
zra@google.com
2d5603c93b
Fixes Unimplemented crasher on MIPS.
...
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//108533005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31197 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-17 17:34:09 +00:00
iposva@google.com
e100129f8e
- Use canonicalized type of non-parameterized classes when
...
available.
- Do not attempt to make types for objects of Context.
R=fschneider@google.com , regis@google.com
Review URL: https://codereview.chromium.org//102053010
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31194 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-17 16:59:14 +00:00
johnmccutchan@google.com
a961710bfa
Fix signed unsigned comparison error
...
BUG=
Review URL: https://codereview.chromium.org//98333008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31193 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-17 16:57:18 +00:00
johnmccutchan@google.com
dc217a8aa0
Fix crash walking call stack on Linux.
...
BUG=
R=asiva@google.com
Review URL: https://codereview.chromium.org//116703003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31192 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-17 16:48:55 +00:00
sgjesse@google.com
4ca4f0db07
Only store the address bytes for an internet address in Dart
...
We used to store the full C "struct sockaddr_storage" in the Dart
internet address. Changed this to be only the bytes for the
address. This removes opaque platform specific binary data from Dart
(e.g. on Mac OS the "struct sockaddr" has an initial length byte).
R=ajohnsen@google.com
BUG=
Review URL: https://codereview.chromium.org//113923004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31191 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-17 15:35:11 +00:00
johnmccutchan@google.com
4a65b869d0
Only interrupt thread don't record sample. Narrowing in on flaky crash on Linux.
...
TBR
Review URL: https://codereview.chromium.org//113133010
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31175 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-16 22:35:55 +00:00
johnmccutchan@google.com
cd10e1cc75
Remove reference to ucontext_t until other Signal related functions on Android are implemented.
...
Review URL: https://codereview.chromium.org//103403007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31173 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-16 20:54:19 +00:00
srdjan@google.com
92e7e69b46
The name of InternalError class has changed to _InternalError.
...
Review URL: https://codereview.chromium.org//102763003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31172 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-16 20:05:00 +00:00
johnmccutchan@google.com
dafc13d57f
Add missing include file for Android build
...
Review URL: https://codereview.chromium.org//116013003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31171 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-16 19:54:46 +00:00
johnmccutchan@google.com
919dc2d6eb
* Introduce ThreadInterrupter which calls a TLS set callback when thread is interrupted.
...
* Threads can only register and unregister themselves with ThreadInterrupter.
* Profiler is no longer involved in interrupting threads. It's just a callback and the buffer.
* Profiler operates lock free using an atomic operation to reserve sample in sample buffer.
* Linux, Mac, and Windows done.
R=asiva@google.com
Review URL: https://codereview.chromium.org//109803002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31170 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-16 18:52:15 +00:00
fschneider@google.com
6abd6e326e
Add mutable double boxes for fields.
...
This allows the optimizing compiler to generate unboxed loads/stores
to fields containing double values. The double value is stored
in a reusable double object.
Unboxed loads/stores are generated for optimized code. Unoptimized code
allocates a new double on loads. To avoid performance regressions
for fields that are only written few times (e.g. only in the constructor)
I put a heuristic in place that
compares the usage count of setters and getters. Unboxed operations
are only generated if the setter is invoked a significant amount of
times (threshold is 10% of getter invocations).
The CL is so big because it changes the way LocationSummmary
is allocated: We now have a bit to generate different summaries
for optimized and unoptimized code.
R=srdjan@google.com
Review URL: https://codereview.chromium.org//99573005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31164 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-16 15:11:31 +00:00
ajohnsen@google.com
69d20ad7d3
Don't make timerfd non-blocking and add errno to error-mesage.
...
BUG=
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//107143005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31162 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-16 14:48:33 +00:00
ajohnsen@google.com
7d4e2f9ac8
Alternative Timer implementation using simply list-based priority heap.
...
The current implementation is not memory-optimized yet, to make it
easier to review.
BUG=
R=fschneider@google.com , lrn@google.com , sgjesse@google.com
Committed: https://code.google.com/p/dart/source/detail?r=31132
Review URL: https://codereview.chromium.org//99203010
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31158 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-16 12:56:37 +00:00