zra@google.com
af23dfc5b2
Increases the number of ARM floating-point registers.
...
This is to be consistent with VFPv3_D32. Later, we'll detect
VFPv3_D16 at runtime.
R=regis@google.com
Review URL: https://codereview.chromium.org//19806005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25352 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-23 18:25:44 +00:00
floitsch@google.com
279849d941
Fix sublist check, add missing methods and add tests for typed data lists.
...
Somehow these lists were still missing functions (in the VM) and the sublist check was broken (in dart2js).
R=ngeoffray@google.com
Review URL: https://codereview.chromium.org//19965003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25333 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-23 09:20:05 +00:00
ajohnsen@google.com
2d43c9b0b8
Report correct socket error and use HttpServer:close future in pub.
...
BUG=
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//19494012
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25332 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-23 08:59:23 +00:00
mlippautz@google.com
9d367d788d
Local change to make the type getter lazy.
...
This change adds the last piece missing to inline functionality of CreateMethodMirror and its parameters. (Separate CL.)
BUG=
R=asiva@google.com
Review URL: https://codereview.chromium.org//19983003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25325 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-23 00:39:28 +00:00
regis@google.com
9581071936
Refactor resolution code in the vm to properly handle ambiguity errors.
...
Add test.
R=asiva@google.com
Review URL: https://codereview.chromium.org//19662003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25324 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-23 00:19:39 +00:00
rmacnak@google.com
6c2d006377
Fix a regression in ObjectMirror.setFieldAsync (issue 11898).
...
R=asiva@google.com
Review URL: https://codereview.chromium.org//20006003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25323 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-23 00:02:28 +00:00
zra@google.com
dd9adc1a86
Adds more SIMD instructions for ARM.
...
Adds the vnegqs, vabsqs, and vandq instructions.
Also reverts the increase in the number of floating point registers since it is causing crashes on hardware.
R=regis@google.com
Review URL: https://codereview.chromium.org//19493004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25320 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-22 23:26:12 +00:00
rmacnak@google.com
9c4fef756b
Implement VariableMirror creation with non-API code. To break circular initialization, have them find their type lazily.
...
R=asiva@google.com
Review URL: https://codereview.chromium.org//19512003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25317 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-22 23:05:54 +00:00
mlippautz@google.com
b58e38269b
This change introduces nothing new. It only fixes the native entrypoints to use the right macros.
...
BUG=
R=asiva@google.com
Review URL: https://codereview.chromium.org//19500016
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25315 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-22 22:49:08 +00:00
srdjan@google.com
aba435de6a
FIx a typo in SIMMIPS min/max and enable min_max_test for SIMMIPS by splitting the main functions into two parts.
...
R=regis@google.com
Review URL: https://codereview.chromium.org//19653008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25314 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-22 22:43:51 +00:00
srdjan@google.com
17bc0e19c4
Fix math min/max for -0.0 case. Enable min_max_test to run in optimizing compiler as well.
...
R=regis@google.com , zra@google.com
Review URL: https://codereview.chromium.org//19482023
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25306 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-22 21:37:43 +00:00
johnmccutchan@google.com
1b09112ce0
Add two argument SSE shuffle instructions
...
R=srdjan@google.com
Review URL: https://codereview.chromium.org//19940005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25301 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-22 20:20:50 +00:00
asiva@google.com
9e7f76623a
Reuse the top ApiLocalScope so that we do not allocate and free an ApiLocalScope
...
for each Dart_EnterScope/Dart_ExitScope sequence.
The runtime of UseDartApi benchmark on linux ia32 improves from
187316 to 121083.
R=srdjan@google.com
Review URL: https://codereview.chromium.org//19974002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25292 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-22 18:46:14 +00:00
zra@google.com
4b97f8c18c
Adds reciprocal squre root SIMD instructions for ARM.
...
R=regis@google.com
Review URL: https://codereview.chromium.org//19875002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25291 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-22 18:19:44 +00:00
srdjan@google.com
0c5b24c778
Fix simmips build, remove unnecessary temp register.
...
Review URL: https://codereview.chromium.org//19849004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25288 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-22 17:51:03 +00:00
srdjan@google.com
7e313fa96a
Recognize Math's min and max function for doubles and inline the operation.
...
R=regis@google.com , zra@google.com
Review URL: https://codereview.chromium.org//19792007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25287 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-22 17:27:45 +00:00
johnmccutchan@google.com
ea3a5cfb93
VM Service isolate listing
...
R=asiva@google.com
Review URL: https://codereview.chromium.org//19622003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25279 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-22 15:39:03 +00:00
floitsch@google.com
f601233af9
Remove dart:codec and move classes into dart:convert.
...
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//19941002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25267 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-22 12:25:16 +00:00
ajohnsen@google.com
723930c88e
Close 'accepted' sockets when listening socket is closed. Fixes raw_server_socket_cancel_test.
...
BUG=https://code.google.com/p/dart/issues/detail?id=8675
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//19675009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25258 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-22 08:54:54 +00:00
mlippautz@google.com
b3cb27a829
Since returnType is represented by a mirror, we make it lazy. We do not use a lazy mirror anymore, but instead create a type mirror upon first access.
...
CreateTypeMirror is already factored out of MethodMirror_return_type since it is needed by others mirrors (future CLs). Also introduces CreateMirror() which will be used in future CLs.
BUG=
R=asiva@google.com
Review URL: https://codereview.chromium.org//19780002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25252 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-19 23:17:47 +00:00
mlippautz@google.com
7021e5bbe1
Rename: DartLibraryCalls::ExceptionCreate -> InstanceCreate
...
BUG=
R=asiva@google.com
Review URL: https://codereview.chromium.org//19678024
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25246 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-19 21:49:45 +00:00
zra@google.com
a15bac1044
Adds ARM SIMD instructions.
...
vminqs, maxqs, vrecpeqs (Reciprocal estimate), vrecpsqs (Reciprocal Newton-Raphson step).
R=regis@google.com
Review URL: https://codereview.chromium.org//19773017
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25245 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-19 21:32:03 +00:00
rmacnak@google.com
f85d1df63e
Fix regression in TypedefMirror.owner introduced when making ClassMirror.owner lazy.
...
R=asiva@google.com
Review URL: https://codereview.chromium.org//19749008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25244 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-19 21:16:29 +00:00
srdjan@google.com
b0598efc97
Minor cleanup: use deopt-id instead od static call instruction as argument for MathSqrtInstr.
...
R=regis@google.com
Review URL: https://codereview.chromium.org//19779011
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25234 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-19 18:20:21 +00:00
regis@google.com
30609cff91
Use library prefixes in scope of the mixin class when compiling a functions of
...
a mixin application (issue 11891).
Review URL: https://codereview.chromium.org//19763007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25233 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-19 18:08:17 +00:00
ajohnsen@google.com
2d72d895d4
Also check for pending write for FileHandles in EventHandler.
...
BUG=
R=kustermann@google.com
Review URL: https://codereview.chromium.org//19724005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25228 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-19 17:08:17 +00:00
johnmccutchan@google.com
522a7ef504
Add all 256 shuffle methods to Float32x4
...
R=srdjan@google.com
Review URL: https://codereview.chromium.org//19564014
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25227 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-19 17:03:09 +00:00
ajohnsen@google.com
17625ea5a4
Don't call accept the c socket, if we're currently closing.
...
Fixes a crash on Windows.
BUG=
Review URL: https://codereview.chromium.org//19693007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25226 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-19 16:52:16 +00:00
srdjan@google.com
5781d7cc84
Collect both arguments for math's min/max static functions. Later that information will be used to inline the operation if possible.
...
R=regis@google.com
Review URL: https://codereview.chromium.org//19774007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25225 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-19 16:49:29 +00:00
zra@google.com
31fa41a784
Enables more SIMD tests for ARM.
...
R=regis@google.com
Review URL: https://codereview.chromium.org//19779006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25219 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-19 15:28:53 +00:00
ajohnsen@google.com
2bd55c23c7
Keep track of when a socket has been destroyed
...
This adds the event CLOSED to RawSocket and RawServerSocket. This
event indicate that the underlying socket is now destroyed.
This is used to make Socket.close and ServerSocket.close return a
future which is completed when the unserlying socket is
destroyed. This can be used to start listening on the same port after
closing a server socket.
R=ajohnsen@google.com , kustermann@google.com
BUG=https://code.google.com/p/dart/issues/detail?id=4155
Review URL: https://codereview.chromium.org//14864009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25213 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-19 13:26:48 +00:00
fschneider@google.com
e317ca8fe0
Replace ChainContextInstr with existing IL instructions.
...
v0 <- AllocateContext(...)
ChainContext(v0)
is changed into
v1 <- CurrentContext
StoreField(v0.parent = v1)
StoreContext(v0)
Since v0 is used twice, I used a TempLocalScope in
the graph builder to store the allocated context.
As a result ChainContextInstr can be completely removed
from the compiler.
R=srdjan@google.com
Review URL: https://codereview.chromium.org//19569002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25200 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-19 09:15:28 +00:00
rmacnak@google.com
448dbb1017
Make the ClassMirrors created through reflectClass() find their owners (libraries) lazily.
...
Remove an unused parameter that was threaded through a number of mirror creation functions.
R=asiva@google.com
Review URL: https://codereview.chromium.org//19188004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25193 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-19 00:44:36 +00:00
zra@google.com
18f6092d52
Implements ARM SIMD comparison instructions.
...
R=regis@google.com
Review URL: https://codereview.chromium.org//19678020
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25189 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-18 22:56:45 +00:00
rmacnak@google.com
08e322a197
Introduce an abstract DeclarationMirror in the implementation hierarchy; add a MirrorReference reflectee to TypedefMirror and TypeVariableMirror.
...
R=asiva@google.com
Review URL: https://codereview.chromium.org//19604004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25187 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-18 22:13:55 +00:00
mlippautz@google.com
61bae883ed
If we have the owner mirror at creation time (which right now is a lazy mirror), we will use it. Eventually lazy mirrors will go away and we will not have to resolve() in dart code anymore.
...
If we don't have it, for example for a nested closure, we set it null and construct it lazily at access time.
Example:
outer() {
inner() {}
var closureMirror = reflect(inner);
print(closureMirror.function.owner); // Should be a MethodMirror on outer, that is constructed lazily.
}
Since we need to be able to construct the chain of owners (back up to library), we need to handle all cases in the lazy creation.
The CL also adds wrappers that can be called with native objects. At some point these wrapper will create the mirrors without referring to the ones using embedded API.
BUG=
R=asiva@google.com
Review URL: https://codereview.chromium.org//19579006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25186 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-18 22:04:57 +00:00
rmacnak@google.com
3421cfe092
Interpose an Expando cache on reflectClass().
...
R=iposva@google.com
Review URL: https://codereview.chromium.org//19462008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25181 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-18 20:54:45 +00:00
zra@google.com
d886c10f6e
Enables a SIMD test for ARM.
...
Required adding the veorq, vmovq, and vdup instructions.
R=regis@google.com
Review URL: https://codereview.chromium.org//19776007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25165 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-18 18:40:27 +00:00
srdjan@google.com
624fb4cf59
Cleanup: remove argument descriptor parameter when calling inline cache miss handler.
...
R=zra@google.com
Review URL: https://codereview.chromium.org//19547003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25162 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-18 18:15:29 +00:00
fschneider@google.com
e6b8a47f6d
Disable allocation sinking in the presence of try-catch.
...
Allocation sinking does not handle the case of optimized try-catch yet.
I added a TODO to support it at a later point.
BUG=https://code.google.com/p/dart/issues/detail?id=11873
TEST=tests/language/try_catch_optimized2_test.dart
R=srdjan@google.com
Review URL: https://codereview.chromium.org//19462004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25146 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-18 14:13:38 +00:00
floitsch@google.com
06493c3460
Revert "Introduce StackTraceOnThrowMixin."
...
This reverts commit r24951.
R=lrn@google.com
Review URL: https://codereview.chromium.org//19579002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25142 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-18 10:39:56 +00:00
asiva@google.com
417a55d314
Allow type objects to be passed in to Dart_GetStaticFields
...
(This is in sync with the change to have the entire Dart API surface
accept type objects instead of exposing the class objects).
R=jacobr@google.com
Review URL: https://codereview.chromium.org//19713002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25137 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-18 00:28:03 +00:00
regis@google.com
4891c126bb
Fix generic mixins (issue 11803).
...
R=hausner@google.com
Review URL: https://codereview.chromium.org//19669010
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25136 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-18 00:23:04 +00:00
rmacnak@google.com
31145d5478
Implement metadata as an internal native. Be honest about which mirrors don't yet support metadata introspection.
...
R=asiva@google.com
Review URL: https://codereview.chromium.org//19235015
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25126 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-17 21:50:54 +00:00
zra@google.com
351aaec2c3
Replaces Location::ToStackSlotAddress() with Location::ToStackSlotOffset()
...
This way, Location no longer mentions the architecture specific Address class.
R=regis@google.com
Review URL: https://codereview.chromium.org//19464002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25122 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-17 20:54:34 +00:00
srdjan@google.com
cce3fcffae
Cleanups.
...
R=fschneider@google.com
Review URL: https://codereview.chromium.org//19395003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25103 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-17 16:03:07 +00:00
fschneider@google.com
a053d73a67
Fix bug in compile-type propagation of the optimizing compiler.
...
R=vegorov@google.com
Review URL: https://codereview.chromium.org//19506007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25090 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-17 11:35:20 +00:00
ajohnsen@google.com
c3e026d577
Clear EventHandler on Stop, to avoid future usages.
...
BUG=
R=fschneider@google.com , kustermann@google.com
Review URL: https://codereview.chromium.org//19546002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25087 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-17 09:06:03 +00:00
ajohnsen@google.com
1e2289e275
One event ahndler for all isolates
...
BUG=
R=whesse@google.com
Review URL: https://codereview.chromium.org//17851004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25082 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-17 07:26:05 +00:00
mlippautz@google.com
8b65384ede
Moved some MethodMirror getters from embedded API to lazy native calls.
...
The more complex ones (creating LazyXXXMirror) are still left and will be handled in a separate CL.
Tests are (still) excluded from dart2js, because of one regression test in the same file.
BUG=
R=asiva@google.com
Review URL: https://codereview.chromium.org//19299003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25081 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-17 00:42:30 +00:00