rmacnak@google.com
b68bc10c6c
Create the local MirrorSystem with internal code.
...
R=asiva@google.com
Review URL: https://codereview.chromium.org//20851002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25601 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-30 01:09:05 +00:00
rmacnak@google.com
47f7d23626
Ensure FunctionTypeMirrors have a proper reflectee and implement ClassMirror.superinterfaces with internal code. Remove some unnecessary fields and constructor arguments.
...
R=asiva@google.com
Review URL: https://codereview.chromium.org//21010005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25599 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-30 00:29:52 +00:00
rmacnak@google.com
844a406c8a
Implement reflect() with Dart code, InstanceMirror.type and ClosureMirror.function with internal code.
...
R=asiva@google.com
Review URL: https://codereview.chromium.org//21119002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25594 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-29 23:57:31 +00:00
johnmccutchan@google.com
2e4754ecf5
Add Float32x4List.fromList to runtime implementation and some tests
...
R=zra@google.com
Review URL: https://codereview.chromium.org//21145004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25586 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-29 21:32:06 +00:00
johnmccutchan@google.com
10969ab342
Inline two argument shuffle operations on IA32 and X64.
...
R=vegorov@google.com
Review URL: https://codereview.chromium.org//20467004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25580 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-29 18:57:35 +00:00
mlippautz@google.com
5f4e6e6000
Remove dead code from native mirrors library.
...
BUG=
R=rmacnak@google.com
Review URL: https://codereview.chromium.org//21047005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25576 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-29 17:49:04 +00:00
fschneider@google.com
3933db4a7b
Simplify allocation stub for closures.
...
The compiler never generates code for allocating implicit static closures
using the allocation stub.
R=srdjan@google.com
Review URL: https://codereview.chromium.org//21067002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25573 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-29 16:56:39 +00:00
fschneider@google.com
6a8aa6f073
Reland r25551: Allow inlining of closures with a context change.
...
Review URL: https://codereview.chromium.org//21087002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25567 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-29 15:23:41 +00:00
fschneider@google.com
5da27dd763
Revert r25551 to help figure out mysterious build bot timeouts.
...
TBR=ricow@google.com
Review URL: https://codereview.chromium.org//20999005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25558 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-29 12:33:40 +00:00
fschneider@google.com
678dff7ea7
Allow inlining of closures with a context change.
...
This CL removes the remaining missing cases when inlining closure
calls.
In order to benefit for code using forEach, I added GrowableObjectArray.forEach
to the functions that should always be inlined.
I also renamed BuildLoadContext/BuildStoreContext helpers in the flow
graph builder to better match what they do.
R=srdjan@google.com
Review URL: https://codereview.chromium.org//19721004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25551 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-29 09:44:02 +00:00
zra@google.com
dad3270d95
Implements far branch targets for MIPS.
...
This change adds a flag --mips-far-branches, which when set causes
relative branches to be converted to absolute branches by determining
the PC, adding the branch offset to it, and using the jr or jalr
instruction to jump if the branch test passes.
This procedure clobbers the assembler temporary TMP, so TMP can no
longer be used in a branch test or in the branch delay slot of a
relative branch. Because TMP can't be used in a branch test, a
new temporary is introduced CMPRES2. This change replaces TMP with
CMPRES1 or another register where TMP can no longer be used.
Tests that were failing due to a too-far relative have the
--mips-far-branches flag set.
R=regis@google.com
Review URL: https://codereview.chromium.org//20369003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25543 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-26 23:30:32 +00:00
srdjan@google.com
14a3cb0cfd
Make sure that ICData always contains valid data (non-null values).
...
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//20755004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25535 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-26 20:17:04 +00:00
rmacnak@google.com
bd07e14c9a
Make ClassMirror.constructors an internal native and lazy.
...
R=asiva@google.com
Review URL: https://codereview.chromium.org//20564002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25533 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-26 18:29:38 +00:00
regis@google.com
b55b249409
Delay resolution of redirecting factory targets in order to avoid class
...
finalization cycles (issue 12041).
Ensure that a super class is finalized before the class extending it.
R=asiva@google.com
Review URL: https://codereview.chromium.org//20503003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25532 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-26 18:18:56 +00:00
rmacnak@google.com
6318625f35
Re-enable VM mirror toString tests. Fix some long lines.
...
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25530 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-26 18:09:33 +00:00
srdjan@google.com
3d6b2fc18e
Allow equality operation on mixed double/smi arguments.
...
Fix a bug in relational operations in 64 bit mode: if ICData specifies double and Smi as possible arguments, we generate code for double and unbox or convert to double the inputs. These works only if smi can fit into the double. Current solution for 64-bit architecture is to disallow two smi-s as input to a polymorphic comparison instruction (equality, relational).
R=johnmccutchan@google.com
Review URL: https://codereview.chromium.org//20468002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25522 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-26 16:48:46 +00:00
whesse@google.com
e550079125
dart:io | Fix handling of exceptions from onBadCertificate callback.
...
BUG=
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//20316002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25519 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-26 13:39:18 +00:00
rmacnak@google.com
b0cd678f0c
Implement ClassMirror.superclass with internal code for ordinary (but not function type) classes. Resolves issue 5794 and issue 9434.
...
R=asiva@google.com
Review URL: https://codereview.chromium.org//20465002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25508 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-25 22:45:07 +00:00
mlippautz@google.com
4415c965d1
BUG=
...
R=asiva@google.com
Review URL: https://codereview.chromium.org//20208002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25499 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-25 21:10:09 +00:00
rmacnak@google.com
670a0345ca
Wrap lazy compilation errors when parsing metadata. Addresses the poor error reporting in issue 12027.
...
R=asiva@google.com
Review URL: https://codereview.chromium.org//20458002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25498 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-25 20:49:59 +00:00
asiva@google.com
dcb6850f87
Fix for issue 11680
...
- implicitly store a full stack trace in Error objects when they are thrown.
- the shlFromInt on Mints and Bigints was trying to allocate a new OutOfMemory
exception objects instead of using the pre-allocated exception object.
Made the implementation of these methods native so that they can use the
pre-allocated object.
- Ensure that it is not possible to allocate new OutOfMemory or StackOverflow
exception objects.
R=ahe@google.com , srdjan@google.com
Review URL: https://codereview.chromium.org//19106008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25492 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-25 19:28:53 +00:00
johnmccutchan@google.com
53ddd08b84
Allow SIMD types to be used on mips
...
R=regis@google.com
Review URL: https://codereview.chromium.org//20125005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25481 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-25 17:31:19 +00:00
rmacnak@google.com
6ee2707fc6
Address some drive-by comments: equality without hash, types in the instantiation expression.
...
R=ahe@google.com
Review URL: https://codereview.chromium.org//19473005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25478 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-25 16:37:05 +00:00
srdjan@google.com
b38b19ddf5
Optimize division for two Smi-s as well. Gives ~ 15% speedup on NavierStokes.
...
R=regis@google.com
Review URL: https://codereview.chromium.org//20198002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25473 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-25 15:42:26 +00:00
whesse@google.com
8dfb2c71c3
Improve certificate tests that hit google.com.
...
BUG=
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//19558011
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25463 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-25 09:37:38 +00:00
rmacnak@google.com
4a98a91696
Change the return value of setField to be in line with non-reflective assignments. Complete unwrapping of exceptions for the InstanceMirror invokes. Resolves issue 11219 and issue 11943.
...
R=asiva@google.com
Review URL: https://codereview.chromium.org//20066004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25457 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-25 00:18:42 +00:00
rmacnak@google.com
8ebdd7f9d8
Make LibraryMirror.members an internal native and lazy.
...
R=asiva@google.com
Review URL: https://codereview.chromium.org//20119002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25451 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-24 23:51:15 +00:00
mlippautz@google.com
db8354cd4b
Inline CreateParameterMirrorList() functionality.
...
BUG=
R=asiva@google.com
Review URL: https://codereview.chromium.org//19856003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25450 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-24 23:35:15 +00:00
srdjan@google.com
21bc801e6a
Allocate comments in old space.
...
R=asiva@google.com
Review URL: https://codereview.chromium.org//20180003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25449 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-24 23:20:26 +00:00
rmacnak@google.com
6fcabcdc38
Add a VM benchmark for creating the local MirrorSystem.
...
R=asiva@google.com
Review URL: https://codereview.chromium.org//20147002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25447 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-24 22:06:04 +00:00
srdjan@google.com
eb926ff5df
Fix a crash in Meteor, debug mode. BitAnd instruction cannot deoptimize, therefore does not allow accessing its deopt_id.
...
R=regis@google.com
Review URL: https://codereview.chromium.org//20158002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25445 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-24 21:56:18 +00:00
johnmccutchan@google.com
cebd147b39
Add two argument shuffle operations to Float32x4
...
R=srdjan@google.com
Review URL: https://codereview.chromium.org//19646005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25443 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-24 21:29:45 +00:00
ajohnsen@google.com
4b4f0307ba
Add echo and line modes to Stdin.
...
BUG=https://code.google.com/p/dart/issues/detail?id=8190,https://code.google.com/p/dart/issues/detail?id=9825,https://code.google.com/p/dart/issues/detail?id=11659
R=sgjesse@google.com
Review URL: https://codereview.chromium.org//19627004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25413 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-24 13:51:55 +00:00
rmacnak@google.com
1a0b3c7871
Make reflective invocations raise NoSuchMethodErrors in the cases where non-reflective invocations do so. Resolves issues 11187 and 11957.
...
R=asiva@google.com
Review URL: https://codereview.chromium.org//19819003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25387 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-24 00:29:17 +00:00
rmacnak@google.com
c745da73af
Make ClassMirror.members internal-native and lazy.
...
R=asiva@google.com
Review URL: https://codereview.chromium.org//19496003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25384 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-23 23:54:16 +00:00
regis@google.com
7b9a84dfbb
Implement more restrictive checking of typedefs illegally referring to
...
themselves and fix vm issue 9611.
Update a test and add a test.
R=srdjan@google.com
Review URL: https://codereview.chromium.org//19997003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25382 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-23 23:17:42 +00:00
srdjan@google.com
5651a2cf78
Optimize double min/max by reducing the code size (reusing left register as result removes the need to copy left into result). Add code for two Smi arguments.
...
R=regis@google.com , zra@google.com
Review URL: https://codereview.chromium.org//19695007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25367 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-23 20:40:31 +00:00
zra@google.com
22c342637c
Implements Float32x4 and Uint32x4 instructions for ARM.
...
R=regis@google.com
Review URL: https://codereview.chromium.org//19978004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25358 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-23 20:02:12 +00:00
asiva@google.com
eb88e500d2
Add a new Dart API call Dart_GetNativeFieldOfArgument
...
which combines Dart_GetNativeArgument and Dart_GetNativeInstanceField
Dartium always gets the receiver by first getting the NativeArgument
corresponding to 0 using Dart_GetNativeArgument and then invokes
Dart_GetNativeInstanceField on the returned handle to get the native
field corresponding to the native DOM element.
When Dartium is changed to use this combined API call the numbers for a
sample Dromaeo-drt benchmark is as follows:
Dromaeo-drt getAttribute runs-per-second 653.0
Dromaeo-drt element_property_access runs-per-second 579.0
Dromaeo-drt setAttribute runs-per-second 396.0
Dromaeo-drt element_property_assignment runs-per-second 539.0
When the old API calls are used:
Dromaeo-drt getAttribute runs-per-second 596.0
Dromaeo-drt element_property_access runs-per-second 528.0
Dromaeo-drt setAttribute runs-per-second 385.0
Dromaeo-drt element_property_assignment runs-per-second 513.49
R=srdjan@google.com
Review URL: https://codereview.chromium.org//19563005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25354 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-23 18:57:05 +00:00
srdjan@google.com
849e8b0385
Make sure that all objects store in the Code object live in old space.
...
R=asiva@google.com
Review URL: https://codereview.chromium.org//19990006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25353 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-23 18:38:03 +00:00
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