regis@google.com
5e99edcea7
Properly set the element type of literal lists.
...
Add test.
Keep element type consistent between growable array and backing array.
Fix snapshot reader to set the element type in growable array
Remove run time call checking rest argument.
Review URL: https://chromiumcodereview.appspot.com//10368004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7337 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-04 16:36:27 +00:00
hausner@google.com
95be46105a
Beginnings of a debugger wire protocol
...
The debugger wire handler is implemented similarly to the io event handler.
A dedicated thread monitors the debugger port for incoming connection
requests. When a debugger is connected, the VM sends events messages
over the wire and handles debugger requests.
To start the VM with a debugger connection, use the option
--debug:<portnumber>. The VM pauses at the beginning of main()
and waits for a debugger to connect.
Subsequent changes will implement debugger commands one by one.
With this change, the VM only understands "resume" commands.
Review URL: https://chromiumcodereview.appspot.com//10357003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7330 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-04 15:25:49 +00:00
cshapiro@google.com
3a14326da4
Revert "Implement {Int,Uint}{8,16,32,64} and Float{32,64} typed arrays."
...
This reverts commit 747dbeaa8f9c0dc1f49d6d6a369c6a3fe2d8b7c9.
Review URL: https://chromiumcodereview.appspot.com//10375007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7313 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-04 05:28:10 +00:00
cshapiro@google.com
537010ea16
Implement {Int,Uint}{8,16,32,64} and Float{32,64} typed arrays.
...
Internal and external representations of each array are provided. A
single interface type implementing the ByteArray and List interfaces
is shared among the internal and external implementation type.
Review URL: https://chromiumcodereview.appspot.com//9958046
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7311 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-04 05:12:19 +00:00
srdjan@google.com
2c3cab0603
Removing all incr-op nodes.
...
Review URL: https://chromiumcodereview.appspot.com//10354019
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7305 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-03 22:17:44 +00:00
srdjan@google.com
6fc1247bb6
Using SubtypeTestCache object instead of an array, that way we do not need to patch and can communicate to type tests if there is a cache to update (quicker than looking up code).
...
Review URL: https://chromiumcodereview.appspot.com//10352012
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7304 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-03 22:00:52 +00:00
srdjan@google.com
259d099c6d
Step toward eliminating increment nodes, starting with increment local. Fix a bug in evaluating side effect free nodes.
...
Review URL: https://chromiumcodereview.appspot.com//10350003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7300 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-03 20:27:37 +00:00
floitsch@google.com
410e6bf600
Reapply "Set the TZ env to get the UTC-ms since epoch."
...
This reapplies a fixed version of commit 7285.
Review URL: https://chromiumcodereview.appspot.com//10359003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7288 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-03 15:40:40 +00:00
floitsch@google.com
a8e31e2a48
Revert "Set the TZ env to get the UTC-ms since epoch."
...
This reverts commit 7285.
Review URL: https://chromiumcodereview.appspot.com//10354011
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7287 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-03 14:54:09 +00:00
floitsch@google.com
9cf8b9a36d
Set the TZ env to get the UTC-ms since epoch.
...
Previously we tried to simply subtract the timezone difference from
the local value. Apparently this doesn't work...
Fixes issue 1268.
Review URL: https://chromiumcodereview.appspot.com//9969098
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7285 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-03 14:46:21 +00:00
kmillikin@google.com
bf52684184
Automatically assign temporary indices to definitions in the IL.
...
When added to the graph, automatically assign a temporary index (== stack
height) to definitions.
R=srdjan@google.com
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com//10316005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7269 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-03 08:46:10 +00:00
cshapiro@google.com
7ac663acc8
Fix two semantic errors from my previous check-in.
...
TBR=asiva
Review URL: https://chromiumcodereview.appspot.com//10343010
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7261 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-02 22:48:02 +00:00
cshapiro@google.com
3a40c3eec6
Do not externalize Dart strings as C strings for "print()".
...
Dart strings with embedded '\0' characters cannot be faithfully
represented as a C string.
This change adds Dart_StringToBytes to the Dart API. This function
converts a Dart string to array of UTF-8 code units and returns a
length. Builtin::PrintString now calls Dart_StringToBytes instead of
Dart_StringToCString and, for I/O, fwrite is called instead of fprintf
with the string format specifier.
BUG=1098
Review URL: https://chromiumcodereview.appspot.com//10306002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7260 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-02 22:40:48 +00:00
srdjan@google.com
a53d7c1d03
Temporary fix for GrowableArray type arguments: use the type arguments stores in GrowableArray instead of the one in the data container (there is a bug that Regis is fixing where data container is always null). Fix assembly subtype cache lookup lookup.
...
Review URL: https://chromiumcodereview.appspot.com//10345003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7255 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-02 20:49:46 +00:00
iposva@google.com
a59c00c448
- Grow the class table as needed instead of preallocating.
...
Review URL: https://chromiumcodereview.appspot.com//10311006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7235 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-02 13:22:02 +00:00
regis@google.com
7793191032
Check upper bounds of type arguments when allocating objects of a generic type
...
at run time when they cannot be checked at compile time.
Review URL: https://chromiumcodereview.appspot.com//10280007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7211 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-02 01:57:22 +00:00
srdjan@google.com
071e9240b9
- Fix another side effect issue: never add AstNode to sequence unless they are a statement. Added tests. LoadLocal has now an optional pseudo input.
...
Review URL: https://chromiumcodereview.appspot.com//10283003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7210 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-01 23:35:17 +00:00
asiva@google.com
cdc9b0cc60
Set up a variable so that the compiler script can be imported using an import map.
...
Review URL: https://chromiumcodereview.appspot.com//10280003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7208 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-01 22:15:26 +00:00
srdjan@google.com
137c0167e7
Switch from AST node ids to computation ids (cid). In addition to computations, some instructions need it as well (Return, Throw, ReThrow). Currently added to all Instructions and Computations.
...
Review URL: https://chromiumcodereview.appspot.com//10264031
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7205 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-01 21:23:00 +00:00
srdjan@google.com
bfebc9cca3
Merge two functions that create side effect free compound load nodes.
...
Review URL: https://chromiumcodereview.appspot.com//10272031
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7201 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-01 18:43:57 +00:00
asiva@google.com
ea8e3b386d
Fix stack pointer reset bug in entry to catch blocks.
...
Review URL: https://chromiumcodereview.appspot.com//10262033
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7200 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-01 18:27:19 +00:00
iposva@google.com
4d3c2b94a2
- Add extra checking when validating objects.
...
- Properly set the class tags when converting growable arrays
to fixed length arrays.
- Set the class tag when allocating instantiated type arguments.
Review URL: https://chromiumcodereview.appspot.com//10271032
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7190 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-01 15:16:02 +00:00
iposva@google.com
3b2781bbc8
- Increase number of classes possible.
...
Review URL: https://chromiumcodereview.appspot.com//10269026
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7186 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-01 12:54:49 +00:00
iposva@google.com
d8c7c1ada6
- Add a class index to the classes.
...
- Add a class table which assigns individual ids to classes.
Review URL: https://chromiumcodereview.appspot.com//9965042
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7183 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-01 09:20:40 +00:00
kmillikin@google.com
ca0668bbbe
Materialize all constant operands on the stack in the non-optimizing compiler.
...
This eliminates the distinction between 'value' and 'argument value'.
R=srdjan@google.com
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com//10264011
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7181 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-01 08:59:54 +00:00
asiva@google.com
78c16e4c09
Fix build break.
...
Review URL: https://chromiumcodereview.appspot.com//10269020
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7176 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-01 01:14:23 +00:00
asiva@google.com
f0043a78a7
Added lib/compiler compile all VM benchmark.
...
Added frame lookup VM benchmark.
Review URL: https://chromiumcodereview.appspot.com//10178030
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7175 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-01 01:00:04 +00:00
srdjan@google.com
3eabbdd7dc
Fix wrong order of execution in compound assignment nodes (located by Kevin).
...
Review URL: https://chromiumcodereview.appspot.com//10270028
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7173 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-01 00:38:02 +00:00
srdjan@google.com
328dadcbbf
Fix disassembler crash.
...
Review URL: https://chromiumcodereview.appspot.com//10272017
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7167 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-30 20:46:51 +00:00
kmillikin@google.com
a4466eaf81
Remove some more uses of named temporaries.
...
Remove all uses of TempVal except those used in expressions with
control flow (&&, ||, and ?:).
R=srdjan@google.com
Review URL: https://chromiumcodereview.appspot.com//10198028
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7144 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-30 08:53:39 +00:00
srdjan@google.com
33b4d35412
Simpler and better inlined type checks as discussed. Changed inline type test cache arrays to contain instance class, instance type argument and instantiator type argument (not yet used).
...
Review URL: https://chromiumcodereview.appspot.com//10243013
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7113 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-28 00:06:37 +00:00
asiva@google.com
d4e2aa22eb
Changes to allow for -O2 compiles on macos in debug builds.
...
Review URL: https://chromiumcodereview.appspot.com//10180013
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7052 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-27 01:10:10 +00:00
regis@google.com
c2f823d92b
Support cyclic types and F-bounded quantification (issue 439).
...
Added tests for F-bounded quantification.
Review URL: https://chromiumcodereview.appspot.com//10243001
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7047 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-26 22:39:27 +00:00
srdjan@google.com
87128e61e5
Inline type check where type argument that we check against is instantiated.
...
Review URL: https://chromiumcodereview.appspot.com//10134069
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7046 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-26 22:17:53 +00:00
asiva@google.com
09adb99a85
Add a stub_code_space in the heap alongside code_space so that stub code generation happens here and it is easy to determine if a PC is a stub code or not.
...
This gets rid of the temporary change made in code_generator.cc for fast access to the top dart frame. In addition it will not pollute the pc ==> code cache that I plan to add next as we don't have to store stub pcs in that table.
Review URL: https://chromiumcodereview.appspot.com//10223015
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7033 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-26 18:00:53 +00:00
iposva@google.com
843a339045
- Improve marking performance by pre-marking RawInstructions objects,
...
since they are not currently being collected.
- Update svn:ignore properties.
Review URL: https://chromiumcodereview.appspot.com//10232003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6993 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-26 08:05:41 +00:00
kmillikin@google.com
f6171263ea
Restructure flow-graph translation of increment operations.
...
Remove all explicitly named temporaries. Use the flow-graph builder
visitors to track temporary indexes.
R=srdjan@google.com
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com//10223003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6991 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-26 07:36:39 +00:00
kmillikin@google.com
cb03fc4f45
Turn more explicitly named temps into uses of definitions.
...
R=srdjan@google.com
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com//10228001
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6989 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-26 07:28:43 +00:00
cshapiro@google.com
914bb2a8ff
Explicitly initialize Bigint members after uninitialized allocations.
...
Review URL: https://chromiumcodereview.appspot.com//10230001
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6988 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-26 06:39:35 +00:00
srdjan@google.com
f2b894eca2
Fix a typo, caught by windows compiler.
...
Review URL: https://chromiumcodereview.appspot.com//10161036
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6977 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-25 21:30:19 +00:00
srdjan@google.com
72e21058ee
(Redoing the change 6946) Progress toward inlined type checks for classes with type arguments: factor out
...
code, optimize type arguments of an instance.
Review URL: https://chromiumcodereview.appspot.com//10227006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6975 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-25 21:19:08 +00:00
srdjan@google.com
dc17b7338f
Canonicalize type arguments lazily.
...
Review URL: https://chromiumcodereview.appspot.com//10161030
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6973 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-25 20:32:45 +00:00
asiva@google.com
e046be3f87
Address perf regression by using the expected frame layout when traversing frames in the code generator. This is a temporary fix until we have a cache to speed up LookupCode.
...
Review URL: https://chromiumcodereview.appspot.com//10228010
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6972 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-25 20:20:29 +00:00
srdjan@google.com
be4b479d8b
Revert change 6946.
...
Review URL: https://chromiumcodereview.appspot.com//10191020
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6953 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-25 15:43:44 +00:00
srdjan@google.com
b34787b742
Progress toward inlined type checks for classes with type arguments: factor out code, optimize type arguments of an instance.
...
Review URL: https://chromiumcodereview.appspot.com//10209002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6946 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-25 15:21:40 +00:00
vegorov@google.com
aad59d6edb
Reland r6578 without changing the order of pages in the PageSpace::pages_ list.
...
Linking newly allocated pages into the list's head causes popular pages to move further to the end of the list. This causes slowdown on the debug VM because method PageSpace::Contains has to do more probes for popular objects.
R=iposva@google.com
BUG=2660
Review URL: https://chromiumcodereview.appspot.com//10191014
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6940 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-25 13:37:51 +00:00
kmillikin@google.com
1c7cecee5f
Introduce Definition and Use types.
...
Make Bind and PickTemp into definitions. Allow values to be uses that
name a definition. Begin converting all uses of (named) Temp into Use.
R=srdjan@google.com
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com//10201017
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6928 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-25 09:13:33 +00:00
asiva@google.com
3107319e40
Simplify representation of stack frames. Remove the special types DartFrame/StubFrame and instead use StackFrame with methods IsDartFrame and IsStubFrame for frames representing Dart or Stub Code. This eliminates all the complexity that was added to ensure that we always see only one stub frame before hitting a dart frame during iteration.
...
Fixes bug 6380625 which was another case when we had two stub frames before hitting the dart frame.
Review URL: https://chromiumcodereview.appspot.com//10173008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6920 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-25 01:15:28 +00:00
asiva@google.com
6f4b8bbe78
Move the dart API benchmark to the VM benchmark infrastructure so that it will get run as part of run_vm_tests --benchmarks
...
Review URL: https://chromiumcodereview.appspot.com//10186008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6918 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-25 00:35:15 +00:00
regis@google.com
efa92f5447
Mark types as instantiated or uninstantiated upon finalization.
...
Review URL: https://chromiumcodereview.appspot.com//10205006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@6894 260f80e4-7a28-3924-810f-c04153c831b5
2012-04-24 16:15:37 +00:00