Commit Graph

4338 Commits

Author SHA1 Message Date
zra@google.com 573b9d859a Fixes a bug in the mips Random_nextState intrinsic.
R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24549 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-27 20:46:28 +00:00
regis@google.com 3711825476 Fix Random_nextState intrinsic on ARM.
R=zra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24548 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-27 20:16:53 +00:00
zra@google.com 55d97a6d56 Adds missing case in mips double comparison.
Also, adds mips and simmips to runtime benchmark script,
and fixes up a status file.

R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24541 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-27 19:03:04 +00:00
iposva@google.com 50fc824be9 - Remove arguments definition test from the VM.
- Update tests still referring to it.

R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24539 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-27 18:37:53 +00:00
iposva@google.com 7c6573258b - Protect against icount_ overflow in the delay slot and only
stop if a stop_sim_at value has been set.

R=zra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24537 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-27 17:40:35 +00:00
ajohnsen@google.com 6005ff6a18 Fix comment from earlier commit.
BUG=
R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24526 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-27 16:45:40 +00:00
ajohnsen@google.com d506a6e490 Stop printing when stdout is closed.
This makes sure we don't print(...) data to a file opened after stdout
was closed.

BUG=https://code.google.com/p/dart/issues/detail?id=9615
R=kustermann@google.com, whesse@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24525 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-27 16:44:39 +00:00
zra@google.com 60392c70fd Implements external array access for mips.
R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24524 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-27 16:42:39 +00:00
srdjan@google.com f415b31685 Add --deoptimization_counter_inlining_threshold=10 that stops inlining in a method that has reached it.
R=fschneider@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24519 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-27 15:26:16 +00:00
fschneider@google.com fd3f443181 Fix a bug in allocation sinking and load elimination.
1. Aliasing information was not computed for allocations that
are never used in a LoadField instruction.

2. CanBeAliased was not correct in the case of a StoreVMField.

BUG=https://code.google.com/p/dart/issues/detail?id=11538
TEST=runtime/vm/flow_graph_optimizer.cc
R=vegorov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24515 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-27 13:26:23 +00:00
whesse@google.com 6aa0fafa00 Fix runtime build for Android
BUG=
R=sgjesse@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24510 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-27 08:31:17 +00:00
iposva@google.com 2d2f1bf4ea - Use VOID_TEMP_FAILURE_RETRY where needed
Review URL: https://codereview.chromium.org//17840009

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24505 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-27 01:14:12 +00:00
regis@google.com 0c93466054 Hide parent function name in name of closurized function to user (issue 5436).
Hide implicit parameter of closure to user.

R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24504 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-27 00:49:49 +00:00
srdjan@google.com f791281f91 Add two-byte string support in codeunitAt intrinsic.
R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24500 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-27 00:05:10 +00:00
regis@google.com 169bc2f989 Fix code for store buffer update on ARM and MIPS (link register was trashed).
R=zra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24493 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-26 22:14:42 +00:00
asiva@google.com e16291b973 Convert implementation in mirrors.cc to use Dart_GetType instead of Dart_GetClass.
R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24491 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-26 21:30:18 +00:00
regis@google.com 5ffa56b798 Fix and simplify invocation of noSuchMethod on all platforms after the wrong
number (or bad name) of arguments is passed.
The frame of the wrong method (the one invoked with the wrong number or name of
arguments) is not left on the stack and therefore not visible in the stack trace
anymore, which is much cleaner, especially since the leftover frame was not
fully initialized.
This change was already done on ARM.

R=zra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24485 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-26 19:58:49 +00:00
zra@google.com ce82a777e5 Fixes integer negate intrinsic for arm and mips.
R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24481 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-26 17:43:48 +00:00
regis@google.com 70043d1f94 Fix and simplify invocation of noSuchMethod on ARM after the wrong number of
arguments is passed.
The frame of the wrong method (the one invoked with the wrong number of
arguments) is not left on the stack and therefore not visible in the stack trace
anymore, which is much cleaner, especially since the leftover frame was not
fully initialized.
Note: We should simplify this on other platforms as well.

R=zra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24475 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-26 16:31:53 +00:00
zra@google.com 364c5406b8 Fixes floating point bug in ARM simulator.
Adjusts status files to match.

R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24473 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-26 15:48:22 +00:00
ajohnsen@google.com 7aa0222b5b Avoid picking port 65535 for ServerSockets, when any is requested.
Some browsers block requests to 65535.

BUG=
R=sgjesse@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24471 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-26 15:12:56 +00:00
sgjesse@google.com 78e9b8ef87 dart:io | Add rename to Link
R=whesse@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24468 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-26 14:09:29 +00:00
sgjesse@google.com fe175fd430 Change the timeout handling in the standalone VM to use 64-bit integers - take 2
Missed two places in previous commit.

TBR=floitsch@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24467 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-26 13:45:58 +00:00
sgjesse@google.com 89a21f2479 Change the timeout handling in the standalone VM to use 64-bit integers
R=floitsch@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24466 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-26 13:33:10 +00:00
kmillikin@google.com 56c4a4a5e2 Remove an unused field in the AST.
The try_index of catch clauses was set but never read.

R=fschneider@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24465 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-26 12:36:44 +00:00
fschneider@google.com 7e71783df6 Support type arguments for allocation sinking in certain conditions.
The type arguments are treated like a normal field that is initialized
with the type arguments passed to the allocation stub. This CL restricts
the optimization to the case where no instantiator is passed
(instantiator == kNoInstantiator). In this case the type arguments are
either a constant or loaded from a field.

Also: improve variable liveness analysis by pruning partially dead
variables from the environment. At the beginning of each block, all 
variables that are _not_ in live-in are replaced with null.

R=vegorov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24459 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-26 09:20:46 +00:00
fschneider@google.com b76b3bbbf4 Correctly deal with method invocation of a getter.
If getter lookup succeeds, but getter invocation throws
an exception, the result is the thrown exception and
not as previously noSuchMethod invocation.

BUG=https://code.google.com/p/dart/issues/detail?id=11512
TEST=tests/language/method_invocation_test.dart
R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24457 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-26 08:44:00 +00:00
iposva@google.com 11632110c6 - Revert r24441 until issues found have been addressed.
Review URL: https://codereview.chromium.org//17769004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24443 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-25 23:38:45 +00:00
iposva@google.com ddc3e13f8a - Trial balloon for removal of argument definition test.
This change removes the support for the ? operator.

R=asiva@google.com, hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24441 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-25 23:04:19 +00:00
srdjan@google.com f21ae73ae9 Fix bot redness: max_calls can be zero if no call was actually executed.
R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24438 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-25 22:53:45 +00:00
srdjan@google.com 7defd2255c Use call counts to determine which static calls to inline.
R=fschneider@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24436 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-25 22:12:49 +00:00
srdjan@google.com 7d945c593a Remove skip_static_calls_ as it uses an obsolete way to check for uncalled static calls. Will be replaced by ICData tracking.
Add two different PCDescriptors to differentiate between optimized and unoptimized static calls (the former loads args. descr, the later loads ICData before calling).
Populate static call's ic_data field when optimizing.

R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24433 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-25 21:31:37 +00:00
zra@google.com 99772465b5 Updates status files for arm hardware
R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24431 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-25 20:16:02 +00:00
zra@google.com 5bf5a92064 Fixes bugs in arm and mips intrinsifier.
R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24427 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-25 18:58:47 +00:00
vegorov@google.com 370a99eda4 Refactor load forwarding pass to use a Place abstraction.
Place describes a location that code can load from or store to.

Start forwarding loads through phis.

Previously load forwarding operated directly on load instructions which complicated certain things e.g. implementation of a hash map had to allow looking up a load instruction by store instruction, forwarding through phis might have required introducing synthetic load instructions to be put into the map.

R=kmillikin@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24426 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-25 18:50:26 +00:00
asiva@google.com 010c23dc7c Fix Dart_GetType to get the correct number of type arguments.
R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24422 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-25 17:25:35 +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
sgjesse@google.com 887c8e7596 Move getters from Options to Platform
The getters for executable, script and version are now statics on
Platform. I kept them on Options for now, but updated most tests to
use Platform.

R=ajohnsen@google.com, floitsch@google.com, iposva@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24401 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-25 12:56:23 +00:00
sgjesse@google.com 6783eaecbd Fix checked mode error in previous commit
TBR=ajohnsen@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24399 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-25 12:11:45 +00:00
sgjesse@google.com 8a2a138ed2 Detect EOF when reading stdio from terminal on Mac OS
R=ajohnsen@google.com
BUG=http://dartbug.com/453

patch from issue 17381012

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24397 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-25 11:47:55 +00:00
ajohnsen@google.com 015f2ee53c Fix InternetAddress.resolve impl and test for Windows.
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24396 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-25 11:40:10 +00:00
sgjesse@google.com d550b05ca2 Remove dead code and re-enable short socket read
The native function Socket_ReadList have not been used for some time now.

Unfortunately the replacement function Socket_Read did not apply
short socket reads for testing. This is now in place again.

R=ajohnsen@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24394 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-25 11:32:39 +00:00
ajohnsen@google.com 3ad9779be6 Add reverse dns lookup as a method on InternetAddress.
BUG=
R=sgjesse@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24393 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-25 11:27:48 +00:00
fschneider@google.com b8db2f0aba Inline object constructor already in the method recognizer.
The call is replaced with "return null". This allows us to always
inline calls to "Object." without extra overhead in the generic
flow graph inliner.

R=kmillikin@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24391 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-25 10:56:44 +00:00
rmacnak@google.com ed4fbd6255 Removed dead code: ConsumeIdentChar
R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24377 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-24 23:47:00 +00:00
johnmccutchan@google.com db9f4d4ef7 Remove --disable_privacy
BUG=https://code.google.com/p/dart/issues/detail?id=11493
R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24374 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-24 22:45:12 +00:00
asiva@google.com 8e27430ddd - Create isolate specific resuable handles and use them in the hot lookup paths.
- Create a ResuableHandleScope class which ensures that we do not end up
  recursively reusing handles leading to corruption.

This change shows Dart2JSCompileAll runtime change from 739931 to about
645035 on my local machine.

R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24373 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-24 22:41:01 +00:00
johnmccutchan@google.com 83230d2acc Preallocate objects in Dart::InitializeIsolate not in Api::CheckIsolateState
BUG=https://code.google.com/p/dart/issues/detail?id=11396
R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24371 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-24 22:12:53 +00:00
srdjan@google.com ce3c239a89 Reduce time spenty in tests: instead of looping for long, shorten optimizations threshold.
R=zra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24367 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-24 20:55:54 +00:00
zra@google.com 8edda78ccc Enables more tests for SIMMIPS.
. Fixes register allocation bugs
. Implements float <-> double conversion in assembler and simulator.
. Fixes floating point argument passing for simarm and simmips,
  and floating point return for simarm, and adjusts tests to match.

R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24365 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-24 20:16:16 +00:00