Commit Graph

4536 Commits

Author SHA1 Message Date
mlippautz@google.com 58beb194dc Hoist .simpleName and .qualifiedName up to _LocalDeclarationMirrorImpl.
Current tests already cover this change.

BUG=
R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25647 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-30 22:22:17 +00:00
mlippautz@google.com 8bfc72b1b9 Inline CreateLibraryMirror.
BUG=
R=asiva@google.com, rmacnak@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25640 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-30 20:52:44 +00:00
zra@google.com 8f3e8783f8 Implements the two argument shuffle SIMD instruction for ARM.
R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25638 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-30 20:49:22 +00:00
srdjan@google.com 053d885d02 Optimize equuality operation for two Boolean arguments.
R=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25636 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-30 20:44:25 +00:00
srdjan@google.com d75a60f4af Remove unnecessary, performance degrading equality override in class bool.
R=zra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25627 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-30 18:09:23 +00:00
srdjan@google.com 9a3d733b37 Fix incorrectly factored-out code in https://codereview.chromium.org/20468002/
R=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25625 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-30 16:57:11 +00:00
whesse@google.com acf2c86659 Fix sample_extension_test on 64-bit macos.
BUG=
R=kustermann@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25620 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-30 16:02:54 +00:00
zra@google.com 42217dc159 Implements far-branches on ARM.
R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25617 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-30 15:33:36 +00:00
whesse@google.com 9e27f1b98b Add SecureSocket.addCertificate.
BUG=
R=sgjesse@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25610 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-30 10:01:07 +00:00
kustermann@google.com a38ea2076d Fixed memory leaks in runtime/bin/dartutils.cc
R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25608 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-30 07:13:33 +00:00
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