regis@google.com
9efad2644b
Re-enable checking of native resolvers.
...
Review URL: https://chromiumcodereview.appspot.com//10882007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11206 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-23 03:26:20 +00:00
srdjan@google.com
74a9161438
Fix inlining and intrinsification for moved Math methods.
...
Review URL: https://chromiumcodereview.appspot.com//10877030
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11201 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-23 01:10:47 +00:00
regis@google.com
3e6596ba22
Temporarily disable checking of native resolvers to make Dartium build green.
...
A more permanent fix will follow.
Review URL: https://chromiumcodereview.appspot.com//10869024
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11200 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-23 01:01:14 +00:00
regis@google.com
fbd17a4d20
Fix Mac build.
...
Review URL: https://chromiumcodereview.appspot.com//10869022
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11199 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-23 00:42:43 +00:00
regis@google.com
55c106f812
Make ClassFinalizer indifferent on whether we are generating a snapshot or not.
...
Add flag --error_on_malformed_type.
Remove obsolete flag --verify_implements.
Support snapshotting of LanguageError (for malformed types) and ApiError.
Review URL: https://chromiumcodereview.appspot.com//10871005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11198 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-23 00:27:49 +00:00
cshapiro@google.com
2e00a80dd5
Provide an Expando implementation for the VM.
...
Review URL: https://chromiumcodereview.appspot.com//10861041
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11196 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-23 00:03:40 +00:00
srdjan@google.com
b6042c9419
Fix printing of symbols for profiling on x64.
...
Review URL: https://chromiumcodereview.appspot.com//10870018
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11192 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-22 22:48:10 +00:00
asiva@google.com
596a5f1af9
Use kInstanceCid instead of object_store()->object_class() when checking to see if the class is object class.
...
Review URL: https://chromiumcodereview.appspot.com//10873004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11190 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-22 22:21:44 +00:00
rnystrom@google.com
f65d68a677
When a directory contains read-only files, try to make them writable when recursively deleting on Windows.
...
Review URL: https://chromiumcodereview.appspot.com//10867003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11175 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-22 16:46:21 +00:00
ager@google.com
722c1a3ce6
Deprecate Math object in corelib in favor of dart:math library.
...
Review URL: https://chromiumcodereview.appspot.com//10829459
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11155 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-22 14:33:01 +00:00
whesse@google.com
b6cda7c0d2
Check for an error handle passed in, in all dart_api functions that return a handle. Pass the error handle through unchanged.
...
BUG=
Review URL: https://chromiumcodereview.appspot.com//10834084
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11148 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-22 13:42:06 +00:00
kmillikin@google.com
57f5dbafd6
Give a length field to stack bitmaps.
...
The bitmaps describing the stack have an explicit length field. It is now
an assertion failure to read bits outside the length --- they are no longer
assumed to be false.
Also remove an unused method and simplify the implementation of
BitmapBuilder by removing an embedded member that was always referred to via
a pointer.
R=vegorov@google.com
BUG=
Review URL: https://chromiumcodereview.appspot.com//10832410
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11138 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-22 12:42:54 +00:00
fschneider@google.com
f5ec253dec
Split BinaryOp into BinarySmiOp and BinaryMintOp.
...
This refactoring is a preparation for inserting explicit
class checks for arithmetic operations.
Review URL: https://chromiumcodereview.appspot.com//10879005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11132 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-22 11:17:57 +00:00
srdjan@google.com
4b19055cfa
Factor out code for insertin class checks.
...
Review URL: https://chromiumcodereview.appspot.com//10868013
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11121 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-22 00:42:00 +00:00
asiva@google.com
4c6c2c096b
Retry r11091 with explicit template instatiation to keep the linker happy.
...
Review URL: https://chromiumcodereview.appspot.com//10869005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11118 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-22 00:18:43 +00:00
srdjan@google.com
daee26c4be
Separate the checks from StoreInstanceField so that they can be eliminated.
...
Review URL: https://chromiumcodereview.appspot.com//10870004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11116 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-22 00:11:26 +00:00
asiva@google.com
630474f412
Update status file.
...
Review URL: https://chromiumcodereview.appspot.com//10832437
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11111 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-21 22:59:04 +00:00
asiva@google.com
d3bf4f62b6
Turn off SNPrintf_BadArgs on linux and windows.
...
Review URL: https://chromiumcodereview.appspot.com//10860056
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11108 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-21 22:35:06 +00:00
asiva@google.com
a4a52e0801
Add a symbol for PatchClass as it currently has a null for the name.
...
Review URL: https://chromiumcodereview.appspot.com//10837298
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11107 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-21 22:34:40 +00:00
srdjan@google.com
d5ad183f5b
Add --use_cha (default true, switch to false if you use dynamic class loading). Use CHA to specify receiver class if no subclasses of the receiver exist, eliminate check class computation.
...
Remove all optimized code whenever we load scripts/libraries/snapshots. Currently this occurs only when no Dart frame is live on stack. Future change (deoptimization) will allow dynamic class loading in presence of live Dart frames.
The cost of removing all optimized code is supposed to be low. If that assumptions turns out to be false I can add more elaborate tracking of optimized functions.
Review URL: https://chromiumcodereview.appspot.com//10825483
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11106 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-21 22:31:49 +00:00
dgrove@google.com
bacdd20e96
Continued deletion of frog.
...
Review URL: https://chromiumcodereview.appspot.com//10860071
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11098 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-21 21:09:52 +00:00
regis@google.com
3790edb5e1
Move class hierarchy analysis to its own source.
...
Review URL: https://chromiumcodereview.appspot.com//10827450
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11097 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-21 21:09:28 +00:00
asiva@google.com
9155bc295c
Revert change 11091.
...
Review URL: https://chromiumcodereview.appspot.com//10866004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11096 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-21 21:01:10 +00:00
turnidge@google.com
bcc03b28e9
More mirrors changes to bring vm mirrors more in line with the
...
current proposed mirrors api.
Review URL: https://chromiumcodereview.appspot.com//10825431
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11095 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-21 20:46:25 +00:00
asiva@google.com
b54731bd82
Currently we use a generated number as the class id for object class, this change tries to pin it to kInstanceCid so that we can do all the checks for object class using this class id.
...
Review URL: https://chromiumcodereview.appspot.com//10861023
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11091 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-21 20:13:39 +00:00
ajohnsen@google.com
0d078037e2
Re-apply 'Unify dart:isolate.' with fixes for autogenerated dart2js and dartium html files.
...
Old Review URL: https://chromiumcodereview.appspot.com//10828410
BUG=
Review URL: https://chromiumcodereview.appspot.com//10828411
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11084 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-21 18:47:43 +00:00
vegorov@google.com
fc29df7d47
Clean up EmitSmiBinaryOp template to remove redundant moves.
...
Now register allocator takes care of preserving values needed for deoptimization.
R=srdjan@google.com
BUG=
Review URL: https://chromiumcodereview.appspot.com//10836362
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11069 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-21 16:22:21 +00:00
whesse@google.com
bb7c2d9969
Fix dart:io Process class on the Windows plaform, which had some race conditions.
...
BUG=dart:4414
Review URL: https://chromiumcodereview.appspot.com//10825473
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11050 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-21 14:24:22 +00:00
vegorov@google.com
7a6cdd92c7
Remove support for non-ssa optimizing code generation.
...
This kills FrameRegisterAllocator and related code.
BUG=
Review URL: https://chromiumcodereview.appspot.com//10832411
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11045 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-21 13:58:57 +00:00
fschneider@google.com
855e718f5b
Make Value not a subclass of Computation.
...
Instead I introduce one new computation to materialize constants.
sizeof(UseVal) drops from 64 to 32.
sizeof(ConstantVal) drops from 48 to 16.
Review URL: https://chromiumcodereview.appspot.com//10829451
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11041 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-21 13:36:36 +00:00
fschneider@google.com
33efb39372
Fix a bug in Equals for UseVal and ConstantVal.
...
TEST=vm/intermediate_language_test.cc
Review URL: https://chromiumcodereview.appspot.com//10828414
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11037 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-21 13:07:40 +00:00
whesse@google.com
b074764cfb
Fix for bug dart 3639: Process.run gets stuck on Mac
...
BUG=
TEST=Run fresh build no macosx10.7. Observe finishing to completion without being stuck on dartdoc step
Review URL: https://chromiumcodereview.appspot.com//10834423
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11034 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-21 11:45:48 +00:00
whesse@google.com
1c1029bb88
Sort the Dart vm flags before printing them out with the --print-flags option.
...
BUG=
Review URL: https://chromiumcodereview.appspot.com//10854224
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11031 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-21 11:18:18 +00:00
kmillikin@google.com
94a5b82f60
Make stackmaps store their actual length.
...
This allows stackmaps with varying lengths in the same function, necessary
for the way we plan to support bitmaps for saved live registers.
R=vegorov@google.com
BUG=
Review URL: https://chromiumcodereview.appspot.com//10837303
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11019 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-21 08:43:32 +00:00
ajohnsen@google.com
8f80365139
Revert "Unify dart:isolate."
...
This reverts commit 73190457cfff717e2706dd4715841f23a35d9ce7.
BUG=
Review URL: https://chromiumcodereview.appspot.com//10827436
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11017 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-21 08:22:05 +00:00
ajohnsen@google.com
5f4a0a2696
Unify dart:isolate.
...
BUG=
Review URL: https://chromiumcodereview.appspot.com//10828410
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11016 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-21 07:52:51 +00:00
zerny@google.com
a6cf1d04ab
Fixed typos: defintion to definition.
...
TBR=srdjan@google.com
Review URL: https://chromiumcodereview.appspot.com//10836353
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11013 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-21 07:33:25 +00:00
iposva@google.com
26d59247df
- Pass the correct version of handle reference to Class::NewNativeWrapper.
...
Review URL: https://chromiumcodereview.appspot.com//10827434
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11012 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-21 02:49:46 +00:00
asiva@google.com
f2adedfad7
Use unreachable in snapshot generation when we do not expect the object to be sent in a message.
...
Review URL: https://chromiumcodereview.appspot.com//10829445
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11009 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-21 00:19:10 +00:00
regis@google.com
34a5754f3e
Add HasSubclasses function to class hierarchy analysis.
...
Review URL: https://chromiumcodereview.appspot.com//10829446
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11008 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-21 00:16:46 +00:00
srdjan@google.com
04448b17eb
Fix queries for Dart's clas Obbject cid: get object class from object store and get its cid. This is temproary solution, Siva is working on a permanent one.
...
Review URL: https://chromiumcodereview.appspot.com//10824392
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11007 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-20 23:46:21 +00:00
regis@google.com
fea5f83714
Implement class hierarchy analysis in the VM.
...
Add test.
Review URL: https://chromiumcodereview.appspot.com//10828399
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11006 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-20 23:38:09 +00:00
rnystrom@google.com
1e14772bb0
Don't traverse through junctions when recursively deleting on Windows.
...
Review URL: https://chromiumcodereview.appspot.com//10825413
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11005 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-20 23:25:13 +00:00
srdjan@google.com
2c6d0181e1
Fix performance regression introduced by new equality semantic: we do not collect ICData when comparing with NULL. For now recognize left/right inputs as being null constant and convert the equality tests to strict-equality. There is still a problem if one of the equality arguments is always null but not a constant.
...
Review URL: https://chromiumcodereview.appspot.com//10861017
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11001 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-20 21:14:37 +00:00
srdjan@google.com
9db2823a00
Test functions do not have scripts associated with them. Prevent their optimization by marking any function without a script to be not optimizable.
...
Review URL: https://chromiumcodereview.appspot.com//10832397
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10998 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-20 20:04:25 +00:00
srdjan@google.com
1821bce654
Removed incorrect EXPECT that gets triggered with low optimization_counter_threshold.
...
Review URL: https://chromiumcodereview.appspot.com//10823416
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10993 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-20 17:59:09 +00:00
hausner@google.com
b64135920b
Eliminate imported_into pointers in Library
...
The imported_into pointers are no longer necessary with the new
library scoping rules.
Review URL: https://chromiumcodereview.appspot.com//10829431
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10991 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-20 17:51:29 +00:00
zerny@google.com
7fe1beda36
Fixed issue 4580 introduced by revision 10894.
...
Binds of constants are dereferenced before adding them as inputs to phis.
R=srdjan@google.com ,vegorov@google.com
BUG=dart:4580
Review URL: https://chromiumcodereview.appspot.com//10823411
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10977 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-20 15:15:48 +00:00
fschneider@google.com
253c3f8499
Implement class id checks as a separate instruction and add a local CSE optimization pass.
...
This CL contains:
A new CheckClassComp instruction. Currently it is used only for instance loads:
(LoadInstanceFieldComp)
A pass LocalCSE that performs block-local common subexpression elimination. To identify
redundant expressions I use a hash map per basic block. Computations that do not have
side effects can participate in CSE. For now, I only enabled it for CheckClass.
Any computation that participates in CSE must implement the AttributesEqual function.
Other smaller fixes:
Places where we can pass the correct initial size for GrowableArrays
that have a known size. We should consider having a FixedLengthArray for this purpose.
Made the accessors ic_data() and set_ic_data() use a const ICData*.
Review URL: https://chromiumcodereview.appspot.com//10824349
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10948 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-20 12:40:14 +00:00
whesse@google.com
99e64f84c2
Fix dart:io Process callback on Windows platfrom calling convention from cdecl to stdcall.
...
BUG=dart:4414
Review URL: https://chromiumcodereview.appspot.com//10836337
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10946 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-20 12:32:19 +00:00