srdjan@google.com
4bb866d2f8
Expand ia32 intrinsic for integer modulo, implement it for x64. Next step will be to emit it directly.
...
Review URL: https://chromiumcodereview.appspot.com//10663006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9048 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-22 23:28:34 +00:00
cshapiro@google.com
18381ac8d5
Log growth policy decisions when verbose gc is enabled.
...
This change also rationalizes some use of signed and unsigned types and
corrects the use of time values recorded for analysis.
BUG=3535
Review URL: https://chromiumcodereview.appspot.com//10576004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9045 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-22 21:17:38 +00:00
srdjan@google.com
f7a999dc34
Do not issue Mint/Smi code sequence if we have only Smi/Smi comnbination.
...
Review URL: https://chromiumcodereview.appspot.com//10642026
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9044 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-22 21:07:03 +00:00
asiva@google.com
5cbd276939
Make the parser agnostic to the TokenStream implementation. This is the first step towards compacting the token stream.
...
Pull the data stream writer/reader code out of snapshot into a generic file so that it can be reused into the token stream compaction implementation.
Review URL: https://chromiumcodereview.appspot.com//10632009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9043 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-22 20:37:01 +00:00
srdjan@google.com
8ee92c41d6
Fixed a typo, one more reason to get rid of StrictCompare vs StrictCompareComp distinction.
...
Review URL: https://chromiumcodereview.appspot.com//10634032
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9039 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-22 18:28:16 +00:00
whesse@google.com
1bc6b99ce6
Add methods to dart:io Path.
...
Add .append, which adds a segment to the end of a Path, and
.pathWithoutExtension, which removes the extension (part after .),
from the filename at the end of a path, and returns the new path.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com//10638002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9028 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-22 11:02:49 +00:00
fschneider@google.com
63d4ad7d5f
Add new files and data structures for the new register allocator.
...
This CL adds new files to hold the new register allocator and
adds a parallel-move instructions that will be used to insert
moves for register constraints, spills and phi-resolution.
No new functionality added yet.
Review URL: https://chromiumcodereview.appspot.com//10635020
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9027 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-22 10:59:06 +00:00
whesse@google.com
015c40188c
Add .fromPath constructors to File and Directory.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com//10639004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9024 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-22 10:36:20 +00:00
ajohnsen@google.com
c0870d4e78
Document the HttpClient uses KeepAlive, keeping sockets open for up to 60 seconds after a connection is complete.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com//10640017
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9017 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-22 09:13:18 +00:00
iposva@google.com
936e659da1
- Remove extra jumps from store barrier on x64.
...
Review URL: https://chromiumcodereview.appspot.com//10641018
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9014 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-22 07:57:11 +00:00
cshapiro@google.com
00b6963338
Fix some warnings in the core library identified by the static analyzer.
...
This foray uncovered a latent bug in the byte array view constructor and
its use of default arguments. That bug has been corrected and new tests
have been added to the test suite.
BUG=2136
Review URL: https://chromiumcodereview.appspot.com//10653002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9013 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-22 04:27:57 +00:00
regis@google.com
2262d6e9e3
Minimize differences between ia32 and x64 sources to facilitate maintenance.
...
Review URL: https://chromiumcodereview.appspot.com//10651008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9012 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-22 01:24:36 +00:00
asiva@google.com
9126cb7b77
Add pprof symbol generation option to run_vm_tests so that we can use pprof in the vm benchmark framework as well.
...
Review URL: https://chromiumcodereview.appspot.com//10643003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9011 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-21 23:33:31 +00:00
asiva@google.com
e1fb3a72b1
Fix benchmark script to account for the recent executable directory name change.
...
Review URL: https://chromiumcodereview.appspot.com//10634018
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9010 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-21 23:12:42 +00:00
srdjan@google.com
0e445c937e
Fix excessive deoptimizations in Meteor: kSHL on two Smi-s can easily overflow, which led to deoptimization. In case of overflow call the IC target directly in case instead of deoptimizing. Necessary only for IA32.
...
Review URL: https://chromiumcodereview.appspot.com//10632010
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@9009 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-21 23:02:30 +00:00
regis@google.com
df25e13d4c
Improve inlining of bit_and operation for Mint and Smi in new compilers.
...
Review URL: https://chromiumcodereview.appspot.com//10592028
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8998 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-21 19:37:15 +00:00
fschneider@google.com
da7d212fef
Correctly reset global isolate state after bailout from the flow-graph compiler.
...
This CL fixes a bug where the global ic_data_array was not reset when a bailout happened.
Review URL: https://chromiumcodereview.appspot.com//10636004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8997 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-21 18:58:23 +00:00
hausner@google.com
7d00d4b2e6
Do not collect stack trace unnecessarily
...
The debugger collected stack traces on each exception throw
even when the debugger client specifies "no pause on exception".
This fixes the asserts that Anton saw in some tests.
Review URL: https://chromiumcodereview.appspot.com//10645003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8996 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-21 18:48:20 +00:00
efortuna@google.com
f89032cd13
Add dart:web to VM.
...
Review URL: https://chromiumcodereview.appspot.com//10574037
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8993 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-21 17:11:02 +00:00
iposva@google.com
0fd25118b9
- Move the Timer interface to the dart:isolate library so that it
...
is accessible from both client and standalone program.
- Enable a way for the embedder to provide the implementation of
the Timer interface.
- Update tests.
Review URL: https://chromiumcodereview.appspot.com//10532123
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8987 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-21 16:17:21 +00:00
srdjan@google.com
b8a988924d
Switch to the new compiler onIA32, making --use-new-compiler default true on IA32 as well.
...
Review URL: https://chromiumcodereview.appspot.com//10641002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8986 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-21 16:14:48 +00:00
iposva@google.com
26cc4ee58b
- Remove a few jumps from store barrier code.
...
Review URL: https://chromiumcodereview.appspot.com//10607002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8959 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-21 00:52:49 +00:00
srdjan@google.com
a48c5b9bb9
Fix bug in inlined Math.sqrt.
...
Review URL: https://chromiumcodereview.appspot.com//10603004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8958 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-21 00:43:58 +00:00
hausner@google.com
56bc7ca48a
Fix stuff
...
Fix for issue 3781: don't hang on to deleted breakpoints (manually tested).
Fix for issue 3390: allow function names in all string interpolation expressions.
Review URL: https://chromiumcodereview.appspot.com//10603003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8956 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-21 00:16:27 +00:00
asiva@google.com
85ae592bc6
- Use NoHandleScope in leaf methods
...
- have a no parameter constructor for NoHandleScope so that we can use that
in optimized mode when the Isolate is not available.
Review URL: https://chromiumcodereview.appspot.com//10579035
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8955 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-21 00:02:55 +00:00
iposva@google.com
5e52657f33
- Implement the filtering store barrier on x64.
...
Review URL: https://chromiumcodereview.appspot.com//10581049
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8953 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-20 23:48:26 +00:00
srdjan@google.com
5f509dc665
Removing more IC calls in optimized code.
...
Review URL: https://chromiumcodereview.appspot.com//10572050
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8950 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-20 23:19:02 +00:00
cshapiro@google.com
2f3f42e3dc
Check that the C string passed to Dart_NewString is valid UTF-8.
...
BUG=2663
Review URL: https://chromiumcodereview.appspot.com//10584044
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8942 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-20 22:09:20 +00:00
iposva@google.com
efb7f31053
- Fix the barrier code when low bits of Smi are zeroes.
...
- Harden the assembler test for StoreIntoObject to test a variety of Smi values.
Review URL: https://chromiumcodereview.appspot.com//10592023
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8939 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-20 20:37:22 +00:00
iposva@google.com
dbd08016de
- Inline the store buffer update into a stub instead of
...
calling out into the C++ runtime.
Review URL: https://chromiumcodereview.appspot.com//10578046
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8929 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-20 18:05:51 +00:00
srdjan@google.com
3b0fd96a70
Fuse Comparison->BooleanNegate->Branch.
...
Review URL: https://chromiumcodereview.appspot.com//10559072
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8914 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-20 16:25:11 +00:00
hausner@google.com
3a7485dfa0
Implement the linux debugger wire protocol.
...
Platform-dependent code of the Linux version of the debugger wire
protocol.
Review URL: https://chromiumcodereview.appspot.com//10572028
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8913 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-20 16:09:39 +00:00
whesse@google.com
c5d1431241
Add Path class to dart:io, add tests for it to standalone/io.
...
Just a preliminary implementation - make suggestions for changes.
BUG=
TEST=standalone/io/path_test
Review URL: https://chromiumcodereview.appspot.com//10417053
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8909 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-20 15:21:01 +00:00
floitsch@google.com
a51dc25968
Make isUtc a getter, change some method names in Date. Weekday is now 1 based.
...
isUtc is now a getter.
Date.hours -> Date.hour
Date.minutes -> Date.minute
Date.seconds -> Date.second
Date.milliseconds -> Date.millisecond
Date.fromEpoch -> Date.fromMillisecondsSinceEpoch
Date.value -> Date.millisecondsSinceEpoch
Date.MON == 1 (up to Date.SUN == 7).
Fixes issue 3444, 1985.
Review URL: https://chromiumcodereview.appspot.com//10538105
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8899 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-20 11:43:46 +00:00
fschneider@google.com
b42a49f107
Fix a bug in SSA renaming.
...
This CL changes the order of step 2a and 2b in the SSA renaming: Uses of
LoadLocal/StoreLocal must be renamed first so that the environment is correctly
updated for StoreLocal instructions.
A simple example showing the bug:
test_xy() {
var x = 1;
var y = 2;
var z = 3;
for (var i = 0; i < 5; i++) {
y = z = x;
x++;
}
return x + y + z;
}
Also in this change:
- changed the printing of SSA operands to v0, v1, .. instead
of t0, t1 to better distinguish them from non-SSA operands.
- make sure that UseVal are always copied when renaming phi
input operands.
Review URL: https://chromiumcodereview.appspot.com//10583014
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8893 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-20 10:08:01 +00:00
asiva@google.com
517cd6e6bb
- Fix the type test failure for implicit native closures.
...
- Turn the test back on.
Review URL: https://chromiumcodereview.appspot.com//10572029
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8885 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-20 02:15:08 +00:00
regis@google.com
24a061c279
Fix type test elimination of function types using static type propagation in
...
new compiler.
Add test.
Review URL: https://chromiumcodereview.appspot.com//10579033
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8884 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-20 01:33:04 +00:00
asiva@google.com
88243dfce2
Rework leaf calls as just simple C calls with a signature and not the NativeArgumentDescriptor.
...
Review URL: https://chromiumcodereview.appspot.com//10592006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8881 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-19 23:57:40 +00:00
cshapiro@google.com
c8a40cbdbf
Ensure the ByteArray subtypes are known to implement List.
...
BUG=3319
Review URL: https://chromiumcodereview.appspot.com//10574006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8880 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-19 23:38:05 +00:00
srdjan@google.com
60fa0b27ca
More ICData cleanups: try to use ICData instead of converting it to another intermediate representation. This sets the stage for more & simpler optimizations based on collected type feedback.
...
Review URL: https://chromiumcodereview.appspot.com//10594002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8877 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-19 21:49:11 +00:00
srdjan@google.com
7f8cbb12b7
This is https://chromiumcodereview.appspot.com/10581006/ that I forgot to submit, and messed up the original accidentally. Submitting as TBR
...
Review URL: https://chromiumcodereview.appspot.com//10580024
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8871 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-19 21:19:00 +00:00
regis@google.com
9f47fe603b
Fix type test elimination using static type propagation in new compiler.
...
Review URL: https://chromiumcodereview.appspot.com//10578018
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8868 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-19 20:32:44 +00:00
hausner@google.com
5fb638b575
Support captured variables in debugger
...
- Add context level ranges to LocalVarDescriptors
- Add callee-saved context chain register to LocalVarDescriptors
- Add context level and context offset of captured variables
to LocalVarDescriptors
- Add context chain to ActivationFrame
- Add current context level to ActivationFrame
Review URL: https://chromiumcodereview.appspot.com//10579020
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8863 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-19 18:52:34 +00:00
fschneider@google.com
123bfe4e08
Second step for computing SSA: renaming.
...
This CL adds the renaming step to the SSA construction. The renaming pass
initializes a start environment with the initial values of all locals (#null)
and parameters and removes LoadLocal and StoreLocal instructions from the
graph.
Right now the renaming does not support functions with parameters yet.
I added a TODO for this. The SSA form for a simple function with an if-statement:
function foo() {
var v = 0;
var x;
if (v == 0) {
x = 42;
}
return x;
}
looks as follows:
0: [graph]
#null
#null
1: [target]
t0 <- #0
t1 <- #null
t2 <- #0
t3 <- EqualityCompare(t0 == t2)
Branch if t3 goto (2, 3)
2: [target]
t5 <- #42 goto 4
3: [target] goto 4
4: [join]
t4 <- phi(t1,t5)
Return t4
Review URL: https://chromiumcodereview.appspot.com//10544206
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8839 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-19 11:39:02 +00:00
asiva@google.com
f84e302326
Temporarily disable store buffer assertion check as it is causing crashes.
...
Will reenable after fixing it.
Review URL: https://chromiumcodereview.appspot.com//10574012
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8834 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-19 06:56:39 +00:00
cshapiro@google.com
9f6dd29570
Correct the masks and conditions used to filter cross generation stores.
...
Review URL: https://chromiumcodereview.appspot.com//10581007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8831 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-18 23:24:30 +00:00
regis@google.com
1207cc2010
Fix bad assert in static type propagation.
...
Review URL: https://chromiumcodereview.appspot.com//10578004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8828 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-18 22:42:39 +00:00
regis@google.com
030a798c9f
Inline binary And operation for Mint and Smi in new compilers.
...
Review URL: https://chromiumcodereview.appspot.com//10553040
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8825 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-18 21:55:52 +00:00
iposva@google.com
944d6b1c84
- Reenable disassembly of stubs: No comments are 0 length.
...
Review URL: https://chromiumcodereview.appspot.com//10579005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8824 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-18 21:05:58 +00:00
srdjan@google.com
718554fde4
Temporary fix for static type check elimination in new compiler. Enable tests.
...
Review URL: https://chromiumcodereview.appspot.com//10580003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8823 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-18 21:04:28 +00:00