sgjesse@google.com
9f2a6f06a0
Fix HTTP client eviction timer bug
...
The HTTP client eviction timer should only be cancled and nulled out
when there are no client connections at all.
R=whesse@google.com
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com//10693091
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9404 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-04 12:27:35 +00:00
fschneider@google.com
767b5d4439
Add support for fixed parameters in SSA builder and fix a bug in the pre-order graph traversal.
...
Each fixed parameter is initially defined by a ParameterInstr as definition. This
definition is not in the instruction stream, but just in the initial environment
at the graph entry so that the live range of all parameters start at the same point.
The pre-order spanning tree was computed in the wrong way which caused test failures
when building SSA because renaming relies on the dominator tree which depends on
the preorder spanning tree.
Also change the IL printing functions to be more compatible with the visualizer tool.
Review URL: https://chromiumcodereview.appspot.com//10735002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9391 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-04 10:24:19 +00:00
regis@google.com
09d3ecf285
Compile an instance setter call when a static getter is declared, but no field
...
or static setter are declared (issue 3941).
Add test.
Review URL: https://chromiumcodereview.appspot.com//10689083
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9376 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-03 20:40:02 +00:00
fschneider@google.com
3dcdc79ffe
Add deoptimization environments to instructions.
...
Each instruction that can deoptimize need to have the values of the
non-optimizing code as uses. The values are stored in an environment
(GrowableArray<Value*>) attached to the instruction when constructing
SSA form.
For now every instructions gets a deoptimization environment. It contains
the values of all locals, parameters and expression stack elements at
the start of the instruction.
The environment is not used yet, but can be printed in the flow graph
with the flag --print-environments.
Review URL: https://chromiumcodereview.appspot.com//10696090
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9345 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-03 12:54:03 +00:00
whesse@google.com
d05e40212a
IO: Fix error in Process exit handling.
...
BUG=3639
TEST=
Review URL: https://chromiumcodereview.appspot.com//10697066
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9336 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-03 10:16:25 +00:00
vegorov@google.com
2935029239
Implement ActivationFrame::GetLocalVarValue on x64.
...
R=iposva@google.com
BUG=3961
TEST=Debug_ExprClosureBreakpoint
Review URL: https://chromiumcodereview.appspot.com//10702068
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9334 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-03 09:31:44 +00:00
fschneider@google.com
bece5d05c8
Fix a bug in SSA renaming introduced when using the RemoveFromGraph helper for removing instructions.
...
The helper function RemoveFromGraph resets previous and next instruction pointers to NULL
when deleting an instruction.
I changed it to return the successor of the removed instruction so that the function is
more convenient to use while iterating over the list of instructions.
Review URL: https://chromiumcodereview.appspot.com//10692072
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9332 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-03 08:35:00 +00:00
iposva@google.com
65d96de4e8
- Separate store buffer data in the isolate into the StoreBufferBlock and
...
the actual StoreBuffer.
- Add a HashSet class to use for the StoreBuffer data.
- Fix allocation sites for definite old objects.
- Remove obsolete leaf runtime entry StoreBuffer.
Review URL: https://chromiumcodereview.appspot.com//10702067
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9323 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-03 00:10:23 +00:00
regis@google.com
d95cbc8d7f
Use VM type cast and save handles.
...
Review URL: https://chromiumcodereview.appspot.com//10693071
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9317 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-02 21:42:53 +00:00
fschneider@google.com
eba7136e7b
Make IL instructions a doubly-linked list within basic blocks.
...
In order to be able to efficiently iterate backwards over instructions
and removing or replacing instructions in the graph we want them to
be a double-linked list inside basic blocks. The list has the following
1. Block entry instructions do not have a previous instruction.
2. The last instruction in a block may or may not have a next instruction:
- Branches have a NULL-successor.
- Normal block exits have a block entry instructions as successor.
This CL also makes the accessor for previous and next instruction in this
list non-virtual. This avoidis the current code duplication there.
Review URL: https://chromiumcodereview.appspot.com//10665022
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9297 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-02 16:08:58 +00:00
fschneider@google.com
31dfb3d8da
Fix bailing out of SSA compilation and enable --use-ssa on x64 by default.
...
We need to re-parse the function when retrying compilation after bailing out
because of the side-effects to the AST (break-, continue-labels).
To improve test coverage I'm enbabling building of SSA on x64 now.
Review URL: https://chromiumcodereview.appspot.com//10694053
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9291 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-02 15:41:37 +00:00
ager@google.com
485bf8d10b
Deal with special cmd.exe environment variables that have keys that start with an equals sign.
...
I have attempted to deal with them correctly instead of ignoring
them so that they can be passed on unchanged to subprocesses.
R=johnniwinther@google.com
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com//10689065
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9284 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-02 10:58:24 +00:00
ager@google.com
52230ca22b
Support posting of external data into dart as external uint8 arrays through the Dart API.
...
The native ports use the snapshot reader to create the dart objects. Added support for reading external arrays from snapshots but no support for writing them. The only way an external array is written to a snapshot is through the api message writer.
This allows dart:io to avoid one copy of data read from files and sockets. This change only contains one use of the new API.
R=asiva@google.com ,iposva@google.com
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com//10698011
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9281 260f80e4-7a28-3924-810f-c04153c831b5
2012-07-02 07:22:32 +00:00
hausner@google.com
11d2c19fc4
Make sure breakpoints are enabled
...
With my previous checkin it became possible that internal
code breakpoints became disabled. Now make sure that when
one of these breakpoints is re-used, it becomes enabled.
Review URL: https://chromiumcodereview.appspot.com//10690053
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9265 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-29 20:39:48 +00:00
cshapiro@google.com
d0ce05d8b7
Enhance raw object validation check and enable checks in release builds.
...
BUG=3866
Review URL: https://chromiumcodereview.appspot.com//10693044
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9262 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-29 20:23:26 +00:00
hausner@google.com
c4280b8b89
Fix Dart_RemoveBreakpoint
...
The debugger code assumed that breakpoints can only be removed
while the debugger is paused. That is not true. An embedder can
remove breakpoints while the isolate is idle and running any
Dart code.
Fix for issue 3781 (http://dartbug.com/3781 )
Review URL: https://chromiumcodereview.appspot.com//10698051
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9258 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-29 18:24:35 +00:00
fschneider@google.com
da315f478e
Revert r9253 because of dartium test failures
...
TBR=vegorov
Review URL: https://chromiumcodereview.appspot.com//10693048
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9256 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-29 17:27:12 +00:00
fschneider@google.com
6e4bc9fb91
Add a goto instruction to the IL use it to terminate basic blocks.
...
Having an explicit control instruction at the end of each
basic block allows to easily remove instructions inside
a block because the last_instruction pointer can not change.
Review URL: https://chromiumcodereview.appspot.com//10700034
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9253 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-29 16:31:37 +00:00
ager@google.com
f791a12b38
Terminate event handler thread on isolate shutdown.
...
R=sgjesse@google.com
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com//10693039
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9251 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-29 14:40:17 +00:00
hausner@google.com
d9ba32f258
Support for lists in debugger wire protocol
...
Review URL: https://chromiumcodereview.appspot.com//10698039
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9235 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-29 00:52:51 +00:00
turnidge@google.com
a45c6255ba
Add Dart_CurrentIsolateData().
...
Review URL: https://chromiumcodereview.appspot.com//10690027
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9228 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-28 21:28:12 +00:00
regis@google.com
c0bd7c81dd
Introduce a VM type cast to avoid repeating a type test and spare a handle.
...
Review URL: https://chromiumcodereview.appspot.com//10713008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9226 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-28 21:12:06 +00:00
turnidge@google.com
ac6dc9ecb5
Increase the iteration count for the UseDartApi benchmark.
...
Review URL: https://chromiumcodereview.appspot.com//10693034
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9223 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-28 21:04:58 +00:00
turnidge@google.com
3f940819a7
Add a callback to inform embedders when an isolate is being shut down.
...
Review URL: https://chromiumcodereview.appspot.com//10450016
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9211 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-28 18:15:17 +00:00
turnidge@google.com
376000a1dd
Add a unit test which exercises using Dart_LoadSource to load a "late"
...
source file. Seems to work...
Review URL: https://chromiumcodereview.appspot.com//10659015
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9210 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-28 17:56:26 +00:00
iposva@google.com
c26489d34d
- Skip old objects early while scavenging.
...
Review URL: https://chromiumcodereview.appspot.com//10696022
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9197 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-28 05:00:49 +00:00
hausner@google.com
7a10c09bfb
Include variable names with _
...
Include local variables that begin with _.
Review URL: https://chromiumcodereview.appspot.com//10697011
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9189 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-27 21:36:42 +00:00
regis@google.com
1036a3888f
Consider upper bounds of type parameters in type checks.
...
Fix pointer visiting in TypeParameter.
Make TypeParameter::index() non-virtual.
Review URL: https://chromiumcodereview.appspot.com//10696013
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9188 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-27 20:08:30 +00:00
hausner@google.com
86b00700aa
Add a platform-independent max uword value.
...
Review URL: https://chromiumcodereview.appspot.com//10695009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9181 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-27 17:24:41 +00:00
hausner@google.com
0300423892
Write once debug everywhere
...
Review URL: https://chromiumcodereview.appspot.com//10696009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9177 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-27 16:25:11 +00:00
hausner@google.com
3aedbb74e8
Better breakpoint placement
...
Instead of using token distance to find the first possible breakpoint
position in a line, use generated code address, so the debugger
breaks before the first call on a source line.
Fix issue 3653
http://code.google.com/p/dart/issues/detail?id=3318
Review URL: https://chromiumcodereview.appspot.com//10686003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9176 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-27 16:13:49 +00:00
iposva@google.com
541a166410
- Premark vm_isolate objects to avoid having to test for them
...
during marking.
Review URL: https://chromiumcodereview.appspot.com//10675010
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9143 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-27 00:08:03 +00:00
regis@google.com
8997078334
Remove old code generator.
...
Review URL: https://chromiumcodereview.appspot.com//10665038
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9122 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-26 17:43:44 +00:00
hausner@google.com
fbeaabda52
Debugger support to display global variables
...
- Add library id to ActivationFrame
- Add debugger function to get all global variables visible in
a library (including imported variables).
- Add LibraryPrefixIterator
- Fix Dart_GetLibraryImports
Review URL: https://chromiumcodereview.appspot.com//10657048
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9121 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-26 17:32:34 +00:00
whesse@google.com
0b2a9d5270
Make Path implement (extend) Hashable, and make Path.append to an empty path work right.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com//10668041
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9110 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-26 14:24:48 +00:00
vegorov@google.com
30288c500e
Fix a bug in liveness analysis code and add more comments.
...
R=fschneider@google.com
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com//10657044
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9106 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-26 12:14:02 +00:00
asiva@google.com
9e6f43e6e3
Prepare for writing token streams directly into a snapshot and reading it directly from the snapshot using memmove.
...
Review URL: https://chromiumcodereview.appspot.com//10665035
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9098 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-26 00:18:14 +00:00
srdjan@google.com
79cf5eb293
Forgot to save file, missed changed comment.
...
Review URL: https://chromiumcodereview.appspot.com//10662034
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9096 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-25 23:54:05 +00:00
srdjan@google.com
a799978f11
Recognize leaf functions: skip stack check and populating the pc slot, store the pc slot lazily in case of deoptimization.
...
Review URL: https://chromiumcodereview.appspot.com//10668034
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9095 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-25 23:50:37 +00:00
iposva@google.com
a5cce32a8d
- Fix sorting.
...
Review URL: https://chromiumcodereview.appspot.com//10661046
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9092 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-25 23:20:31 +00:00
iposva@google.com
da8c641cc4
- Sort sources in gyp files.
...
Review URL: https://chromiumcodereview.appspot.com//10663029
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9091 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-25 23:05:42 +00:00
regis@google.com
6ac43401e1
Minimize differences between ia32 and x64 sources to facilitate maintenance.
...
Review URL: https://chromiumcodereview.appspot.com//10636038
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9089 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-25 22:25:21 +00:00
srdjan@google.com
7508deeeab
Intrinsify fixed and growable array allocation on x64.
...
Review URL: https://chromiumcodereview.appspot.com//10657012
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9075 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-25 18:13:33 +00:00
asiva@google.com
f05e3736d8
Fix issue 1968, replace usage of inline 'asm' constructs in 'stack alignment', 'jump to exception handler' and 'jump to error handler' code with calls to appropriate stubs.
...
Review URL: https://chromiumcodereview.appspot.com//10664004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9071 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-25 17:35:20 +00:00
regis@google.com
0532a90a2f
Implement type cast in the VM.
...
Review URL: https://chromiumcodereview.appspot.com//10659005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9070 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-25 17:23:11 +00:00
vegorov@google.com
2f23dc4b60
Simple iterative liveness analysis over SSA.
...
R=fschneider@google.com
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com//10666026
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9069 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-25 17:07:16 +00:00
hausner@google.com
0b403430bf
Fix parent function of deeply nested closures
...
We got the parent of nested closures wrong if the nesting level
was > 2.
Fix for issue 3412.
Review URL: https://chromiumcodereview.appspot.com//10665009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9065 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-25 15:43:04 +00:00
ager@google.com
b876387df2
Remove reference to non-existing classes from encodings class comment.
...
R=whesse@google.com
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com//10662015
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9060 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-25 12:10:02 +00:00
iposva@google.com
cccf112d1e
- Document the store barrier.
...
Review URL: https://chromiumcodereview.appspot.com//10658008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9051 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-23 00:17:25 +00:00
iposva@google.com
d4bd618e75
- Fix the x64 store-barrier.
...
- Allow assembler test drivers to be shared across architectures.
- Add a shared StoreIntoObject assembler test.
Review URL: https://chromiumcodereview.appspot.com//10636017
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9050 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-22 23:48:51 +00:00