Commit Graph

13143 Commits

Author SHA1 Message Date
srdjan@google.com 3f4c3f0d8a When optimizing instanceof allow also for raw types (List, ..).
Review URL: https://codereview.chromium.org//13215006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20744 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-01 19:45:47 +00:00
zra@google.com 35aeebcd8c First two codegen tests passing on SIMMIPS
Review URL: https://codereview.chromium.org//13228002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20734 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-01 17:02:44 +00:00
asiva@google.com 647d060f10 - The callback_error_ handle was never being setup.
- Remove some unnecessary DARTSCOPE calls when true/false/null Dart_Handles are
  created.
Review URL: https://codereview.chromium.org//13171004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20701 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-30 00:07:13 +00:00
asiva@google.com 2f7ca6843f Remove support for 'dart:scalarlist' in the Dart VM.
Review URL: https://codereview.chromium.org//13139002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20680 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-29 18:33:54 +00:00
regis@google.com b24d57ca66 Support checked mode for VM tests on ARM.
Review URL: https://codereview.chromium.org//12773008

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20623 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-28 17:41:35 +00:00
asiva@google.com ec0ec36e62 More preparation for removal of dart:scalarlist
- remove the intrinsification of scalarlist functions
- changed class Ids to TypedData class Ids
Review URL: https://codereview.chromium.org//13004017

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20595 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-27 23:15:27 +00:00
regis@google.com 3e4d359fce Fix an F-bounded quantification bug (issue 9291).
Add regression test.
Review URL: https://codereview.chromium.org//13119022

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20576 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-27 20:42:02 +00:00
vegorov@google.com 0e17b438eb On x64 use 32bit idiv when possible instead of 64bit one.
64bit idiv requires twice as much cycles and has 2-3 times higher latency.

R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20565 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-27 17:13:58 +00:00
johnmccutchan@google.com 5b140f8452 Really remove SIMD types from dart:scalarlist. Fixes build.
Review URL: https://codereview.chromium.org//12907023

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20563 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-27 17:06:41 +00:00
johnmccutchan@google.com d516a7acde Review changes
Review URL: https://codereview.chromium.org//12982010

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20559 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-27 14:44:15 +00:00
srdjan@google.com c5e562d18d Improve code for !identical(a, b):
"x = (a === b); y = (x !== true)" => "y = (a !== b)".
Review URL: https://codereview.chromium.org//12852007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20550 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-26 23:41:27 +00:00
srdjan@google.com d8548e06b1 Disable optimization in r20548 to make bots green again.
Review URL: https://codereview.chromium.org//12475019

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20549 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-26 23:04:48 +00:00
srdjan@google.com 895aae5c3b When attempting to to inline a field getter we use the incoming cid. That type may differ between value()->Type() and value->definition()->Type() if the definition is a load field with a guarded cid. Therefore, if value's type is dynamic we check definition's type as well.
Review URL: https://codereview.chromium.org//12843043

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20548 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-26 22:02:09 +00:00
asiva@google.com 8dde962f6d More cleanup in preparation for removing support for dart:scalarlist in the VM.
Review URL: https://codereview.chromium.org//13093012

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20547 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-26 22:01:31 +00:00
regis@google.com f50189a001 Fix issue 9442.
Add regression test.
Review URL: https://codereview.chromium.org//13046009

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20545 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-26 21:26:03 +00:00
zra@google.com 2125ee9a37 Simplifies MIPS LoadWordFromPoolOffset
Review URL: https://codereview.chromium.org//13094015

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20539 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-26 20:27:31 +00:00
asiva@google.com 29cea159bf Fix some of the scalarlist tests to use TypedData VM classes.
This is in preparation for removing dart:scalarlist support from the VM.
Review URL: https://codereview.chromium.org//12907010

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20532 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-26 18:46:44 +00:00
zra@google.com 463b651f78 Adds Stop to MIPS. Starts on MIPS call patcher.
Review URL: https://codereview.chromium.org//12703028

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20527 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-26 17:50:43 +00:00
johnmccutchan@google.com e07063f389 Revert 12534006
Review URL: https://codereview.chromium.org//13093005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20526 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-26 17:40:25 +00:00
johnmccutchan@google.com 7b1d3b9134 Port SIMD types from dart:scalarlist to dart:typeddata.
Review URL: https://codereview.chromium.org//12534006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20522 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-26 16:50:26 +00:00
regis@google.com e586529325 Change the order of loading ic_data and arguments descriptor prior to an
instance call on ARM.
Review URL: https://codereview.chromium.org//12964007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20500 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-25 23:50:41 +00:00
tball@google.com 6044627aa6 Rollback stacktrace change.
Review URL: https://codereview.chromium.org//12894005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20496 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-25 22:26:37 +00:00
tball@google.com 044a872ba5 Added VM support for isolate stacktrace status.
Review URL: https://codereview.chromium.org//12578022

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20494 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-25 22:16:40 +00:00
regis@google.com 5eeaba1d98 Update function subtyping rules to latest spec (issue 9057).
Update language tests and status files (and filed co19 issue 392).
Review URL: https://codereview.chromium.org//12940010

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20493 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-25 22:14:17 +00:00
regis@google.com b8bf4159b5 Do not use object pool for VM heap objects on ARM.
Update decoding of call pattern accordingly.
Add missing store barrier when storing object pool in instructions object.
Work with GrowableObjectArray in old heap space when assembling object pool.
Review URL: https://codereview.chromium.org//13070003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20483 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-25 20:29:47 +00:00
asiva@google.com 5642025044 Handle TypedDataView objects in Dart_TypedDataAcquireData and
Dart_TypedDataReleaseData
Review URL: https://codereview.chromium.org//12937010

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20482 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-25 20:18:44 +00:00
hausner@google.com b0b06c4ee4 Fix fingerprint mismatches
TBR=iposva
Review URL: https://codereview.chromium.org//13030003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20472 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-25 19:05:21 +00:00
hausner@google.com 89346f3e3a Remove legacy syntax support for library import
Remove legacy syntax for #import, #library and #source
Update test programs
Recalc fingerprints of inlined functions that were apparently
affected by the change of library name from "dart:io" to dart.io.
Review URL: https://codereview.chromium.org//12880023

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20466 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-25 18:11:08 +00:00
tball@google.com 34c2a002fc Added EXPECT_TRUE macro, updated debugger unit tests to use it for
API calls that return True.
Review URL: https://codereview.chromium.org//13009004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20450 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-25 16:21:58 +00:00
asiva@google.com e03b940892 Fix 9347, always send ExternalTypedData objects as TypedData objects when
sending them across isolates.
Review URL: https://codereview.chromium.org//12594013

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20426 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-22 23:29:34 +00:00
asiva@google.com 01cc7d3cd2 - Canonicalize types, type_arguments only when the object is marked as being from the core libraries.
- adjust the snapshot write buffer growth policy
- turn off the heap growth rate adjustments when reading from a snapshot.
Review URL: https://codereview.chromium.org//12578009

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20423 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-22 22:43:46 +00:00
zra@google.com 007c830756 Adds branch instructions and labels to the MIPS simulator, assembler, disassembler.
Review URL: https://codereview.chromium.org//12634030

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20419 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-22 21:37:10 +00:00
vegorov@google.com 535ed8eb25 Revert "Compute local variable liveness before translation to SSA."
Attaching environments to branches on strict comparisons breaks pattern matching in the optimizer and regresses performance.

This reverts commit r20377.

TBR=kmillikin@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20400 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-22 18:32:17 +00:00
regis@google.com 0c27ffc6a4 Implement optional parameter handling in ARM vm.
Enable FindCodeObject test on ARM (production mode only for now).
Make sure the object pool is allocated in the old space.
Some more code cleanup on IA32 and X64 (use named constants).
Review URL: https://codereview.chromium.org//12663024

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20399 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-22 18:30:35 +00:00
asiva@google.com 3261c500d8 Implement creation of ByteData objects using the Dart API.
Review URL: https://codereview.chromium.org//12938010

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20396 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-22 18:14:37 +00:00
zra@google.com f6da1febeb Drops into Simulator Debugger only in a session that is already interactive.
This change backs out an earlier change to the disassemblers that
made them return false if an instruction couldn't be decoded.
This was used in the simulator debuggers for arm and mips to avoid
executing an instruction that couldn't be decoded.

Instead, now when an unknown instruction is encountered in the simulator,
if the simulator is running interactively, we drop into
the debugger, and otherwise die. We detect that a simulator is
running interactively by setting a flag if we enter the debugger
for a user set break point.
Review URL: https://codereview.chromium.org//12903006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20394 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-22 18:11:05 +00:00
srdjan@google.com 933f9efc06 Allow recursive inlining.
Review URL: https://codereview.chromium.org//12908005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20389 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-22 17:08:19 +00:00
hausner@google.com d4872a1499 Support initialized mixin fields across scripts
Add capability to set parser to read tokens from different
scripts and token positions. This is used when the initializer
expression of a field resides in a different script.
Review URL: https://codereview.chromium.org//12827007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20388 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-22 17:06:42 +00:00
asiva@google.com da200f7133 Limit handle scope to the loop in order to avoid creation of large number of handles when finalizing classes of a large application.
Review URL: https://codereview.chromium.org//12593015

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20387 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-22 17:04:08 +00:00
vegorov@google.com b47406cd18 Update stack map computation to match the way XMM registers are spilled on the slow path.
R=fschneider@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20382 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-22 15:20:37 +00:00
whesse@google.com e1c70ce932 dart:io | Fix error in deserializing of native port messages.
BUG=dartbug.com/9369

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20380 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-22 14:53:25 +00:00
vegorov@google.com 66ecd504f9 Compute local variable liveness before translation to SSA.
Use it to remove dead values from deoptimization environments.

R=kmillikin@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20377 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-22 12:33:42 +00:00
vegorov@google.com 30539e6106 Register allocation tweaks:
- Improve heuristic detecting interference on the back-edge. Any value live_in for the loop header can introduce interfering moves at the back edge due to control flow resolution connecting split siblings. Apply adjustments based on this heuristic at the latest point when allocating a free register;

- Don't allocate a register for constants that have no constrained uses.

R=fschneider@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20374 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-22 11:44:38 +00:00
vegorov@google.com 0e9a59eb59 Use shorter write-barrier filtering sequence when value is known to be non-smi.
R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20373 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-22 11:28:13 +00:00
aprelev@gmail.com b7ba136b4b Added support for redirecting factories in dart api.
BUG=dartbug.com/6958

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20366 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-22 03:31:14 +00:00
srdjan@google.com c51d50cbf9 Fix crash caused by eliminating goto-s in unoptimized code. Added asserts
Review URL: https://codereview.chromium.org//12812026

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20349 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-21 20:57:45 +00:00
asiva@google.com 5858afd74a Write the magic number 0xf5f5dcdc into a script snapshot file and use this to distinguish whether a script snapshot or a regular script file is being passed on the command line (removed the --use-script-snapshot option).
Review URL: https://codereview.chromium.org//12438033

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20339 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-21 18:47:49 +00:00
zra@google.com 2bdc772122 Adds MIPS SPECIAL instructions to simulator, assembler, debugger.
Review URL: https://codereview.chromium.org//12837009

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20321 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-21 15:50:31 +00:00
fschneider@google.com eb51679266 Fail with fatal error instead of segmentation fault if virtual memory allocation fails.
BUG=dart:1754, dart:7995
Review URL: https://codereview.chromium.org//12580005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20315 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-21 13:34:11 +00:00
srdjan@google.com a696cc5644 Add asserts to catch missing deoptimization info early.
Review URL: https://codereview.chromium.org//12806007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20299 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-20 23:26:07 +00:00