srdjan@google.com
e2b463fb3c
More shared code.
...
Review URL: https://chromiumcodereview.appspot.com//10500005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8254 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-04 16:08:19 +00:00
vegorov@google.com
7c54679534
Implement AllocateContextComp, ChainContext, CloneContext on ia32
...
R=fschneider@google.com
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com//10509004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8253 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-04 15:54:56 +00:00
vegorov@google.com
411b4cfa96
Implement LoadVMField, StoreVMField, AllocateObjectWithBoundsCheck, InstantiateTypeArguments on ia32.
...
R=fschneider@google.com
Review URL: https://chromiumcodereview.appspot.com//10511010
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8251 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-04 15:31:13 +00:00
vegorov@google.com
dc45a91a4e
Avoid reading RawObject::class_ directly in the runtime.
...
Instead rely on tags_ and perform lookups through isolate's class table where appropriately.
R=iposva@google.com
Review URL: https://chromiumcodereview.appspot.com//10444091
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8244 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-04 10:29:00 +00:00
hausner@google.com
c39f48340d
Add string encoding to wire protocol
...
Also, add command to retrieve the source text of a given script.
Review URL: https://chromiumcodereview.appspot.com//10496006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8220 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-02 00:07:12 +00:00
srdjan@google.com
9353e807f2
Submit reviewed Florian's Cl: https://chromiumcodereview.appspot.com/10447143/
...
Review URL: https://chromiumcodereview.appspot.com//10466004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8212 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-01 18:51:00 +00:00
srdjan@google.com
e409cd4ec6
Implement optimized unary ops for ia32 as well. Fix a crash in disassembler.
...
Review URL: https://chromiumcodereview.appspot.com//10453110
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8211 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-01 18:38:35 +00:00
srdjan@google.com
51e6952dc6
FlowGraphCompiler is not a visitor any longer. Start consolidating shared code between the x64 and ia32 compilers into a FlowGraphCompilerShared. Idea would to use the FlowGraphCompilerShared type from shared code, and FlowGraphCompiler from machine specific code.
...
Review URL: https://chromiumcodereview.appspot.com//10447133
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8207 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-01 18:09:40 +00:00
fschneider@google.com
5f8d4a1b6b
Temporarily disable FlowGraphOptimizer on ia32 to make tests pass with --use_new_compiler on.
...
Once we ported all instructions produced by the FlowGraphOptimizer to ia32 we
can remove this code again.
Review URL: https://chromiumcodereview.appspot.com//10462004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8200 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-01 15:55:01 +00:00
regis@google.com
5784831399
Port CopyParameters() to new ia32 compiler.
...
Use same function order as in x64.
Review URL: https://chromiumcodereview.appspot.com//10451109
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8196 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-01 15:26:07 +00:00
vegorov@google.com
b57c0890b7
Add DISALLOW_COPY_AND_ASSIGN to InstructionWithInputs.
...
TBR=srdjan@google.com
Review URL: https://chromiumcodereview.appspot.com//10453115
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8190 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-01 11:09:27 +00:00
fschneider@google.com
4b49403042
Remove unused function GeneratePreEntryCode from ia32 code generator.
...
It is never invoked and can therefore be removed.
Review URL: https://chromiumcodereview.appspot.com//10449106
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8187 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-01 09:28:31 +00:00
asiva@google.com
6dddbda1c2
Refactor snapshot writing code in preparation for the change to remove recursive calls to WriteObject and ReadObject.
...
Review URL: https://chromiumcodereview.appspot.com//10446112
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8181 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-01 00:15:30 +00:00
asiva@google.com
2aa35548da
Use memmove instead of a loop to read bytes.
...
Review URL: https://chromiumcodereview.appspot.com//10446104
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8180 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-31 23:50:32 +00:00
hausner@google.com
f6c776dcbe
Eliminate unary plus with hex literals
...
The spec says unary + is only allowed with integer and floating point literals, not with hex literals. Somebody noticed that the VM accepted
+0x10 as well.
Consequently, the Math.parseInt(str) library function should fail with
a BadNumberFormatException if it is called with a hex number that is preceded by a +.
Fixes issue 1540.
This change exposed that the dart2js core library implementation is
falsely accepting +0xNNN hex numbers. I filed issue 3333.
Review URL: https://chromiumcodereview.appspot.com//10456060
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8177 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-31 22:35:29 +00:00
asiva@google.com
6ce890f75a
1. Restructure some of the builtin library processing code.
...
Review URL: https://chromiumcodereview.appspot.com//10388242
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8175 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-31 21:09:17 +00:00
srdjan@google.com
755790f46f
Adding unary op optimizations, missing assembly operations.
...
Review URL: https://chromiumcodereview.appspot.com//10440099
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8174 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-31 20:38:55 +00:00
hausner@google.com
0c66cef0d9
Bigger stepping granularity in debugging
...
- Single step now steps to a safe point on the next line.
- Step into no longer steps into library code.
- Each library has a flag that specifies whether one
can step into its code.
Later I will add an API to set the per-library flag. Currently
it's set to true for the top-level library and to false for
all other libraries.
Review URL: https://chromiumcodereview.appspot.com//10442088
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8173 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-31 20:17:34 +00:00
srdjan@google.com
b7e454aafe
Real fix for breakage: if type in DECLARE_FLAG differs from DEFINE_FLAG, windows compiler is the only one who complains. Bravo!
...
Review URL: https://chromiumcodereview.appspot.com//10459053
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8171 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-31 18:09:11 +00:00
srdjan@google.com
3cfd446af9
Hopefully fix currently unexplainable windows failures.
...
Review URL: https://chromiumcodereview.appspot.com//10443111
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8169 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-31 17:50:30 +00:00
srdjan@google.com
b4b68ef347
Move ReturnInstr to new scheme (x64 and ia32) and implement more code in new ia32 compiler.
...
Review URL: https://chromiumcodereview.appspot.com//10458050
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8166 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-31 17:24:23 +00:00
regis@google.com
395d3ba587
Insert closure calls in conditional expression of assert (issue 1584).
...
Review URL: https://chromiumcodereview.appspot.com//10446102
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8164 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-31 15:57:06 +00:00
vegorov@google.com
fbc6c59a99
Move Throw and ReThrow to the location based code generation.
...
R=fschneider@google.com
Review URL: https://chromiumcodereview.appspot.com//10453098
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8163 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-31 15:52:39 +00:00
regis@google.com
31180a540e
Check upper bounds of factory class type parameters when instantiating an
...
interface (issue 1380).
Review URL: https://chromiumcodereview.appspot.com//10441115
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8162 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-31 15:51:36 +00:00
vegorov@google.com
9125248ea2
In generated code for x64 don't load object's class directly from class_ field.
...
Instead look it up in class table by class index taken from object's tags.
R=iposva@google.com
Review URL: https://chromiumcodereview.appspot.com//10458031
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8159 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-31 15:35:14 +00:00
iposva@google.com
bee192cbe4
- Rename class index to class id.
...
- Remove unused method.
Review URL: https://chromiumcodereview.appspot.com//10441111
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8148 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-31 12:41:37 +00:00
regis@google.com
e0d223b30b
Address review comments in commited cl (issue 10460002).
...
Review URL: https://chromiumcodereview.appspot.com//10448079
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8144 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-31 08:31:30 +00:00
vsm@google.com
129369184a
Skip failing test on DRT
...
TBR=turnidge
Review URL: https://chromiumcodereview.appspot.com//10443102
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8139 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-31 05:08:40 +00:00
cshapiro@google.com
2a3cb499af
Ignore the growth policy when fragmentation prevents allocation.
...
Review URL: https://chromiumcodereview.appspot.com//10458054
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8138 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-31 04:20:16 +00:00
cshapiro@google.com
b43a525cdb
Implement growth policy for old space using time and space signals.
...
Review URL: https://chromiumcodereview.appspot.com//10442073
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8136 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-31 02:49:56 +00:00
hausner@google.com
a07ebcc268
Clarify error message when illegally accessing 'this'
...
Fix bug 3185
Review URL: https://chromiumcodereview.appspot.com//10447102
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8134 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-30 23:41:33 +00:00
srdjan@google.com
742a716dc7
Fix a bug in ia32 shift left , implemented more inlined binary operations in x64.
...
Review URL: https://chromiumcodereview.appspot.com//10440082
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8119 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-30 17:35:20 +00:00
turnidge@google.com
ede2df7949
Fix type-check failure...
...
Review URL: https://chromiumcodereview.appspot.com//10449072
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8118 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-30 17:28:28 +00:00
turnidge@google.com
ec36e02c28
Remove the partially completed code for remote IsolateMirrors and
...
replace it with the beginnings of a local (same isolate) IsolateMirror
implementation.
Removed old mirror tests and added two new mirror tests.
Even though mirrors.cc is part of the vm, I chose to implement most of
it using the dart embedding interface instead of our internal
interfaces because the embedding interface was more convenient.
mirrors.cc is basically all new in this CL -- don't pay any attention
to diffs for that file.
Added dart embedding functions required for the functionality in this
CL: Dart_DebugName, Dart_GetNativeInstanceFieldCount,
Dart_RootLibrary, Dart_RegisteredLibraryUrls, and Dart_LibraryName.
Extended or modified some existing dart api functions, primarily to
make them propagate error handles properly.
Added tests for new dart embedding api functionality.
Added the ability to determine if a port is local to the current isolate.
Extended NotImplementedException to accept an optional string
argument. I wanted to give more descriptive error messages.
Review URL: https://chromiumcodereview.appspot.com//10416050
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8117 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-30 17:07:19 +00:00
srdjan@google.com
d0686c5a52
Started new compiler for ia32. Getters and setters can be intrinsified within the new compiler.
...
Review URL: https://chromiumcodereview.appspot.com//10458027
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8116 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-30 16:57:19 +00:00
srdjan@google.com
60cb692878
Do pops instead of addq(RSP when possible).
...
Review URL: https://chromiumcodereview.appspot.com//10458033
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8110 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-30 16:05:10 +00:00
srdjan@google.com
d8f4aa2fd0
Use temporary variable for StoreIndexed that returns a value.
...
Review URL: https://chromiumcodereview.appspot.com//10448059
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8109 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-30 15:55:46 +00:00
regis@google.com
820d955669
Move ExtractConstructorTypeArguments and CatchEntry to new location template.
...
Review URL: https://chromiumcodereview.appspot.com//10459023
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8107 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-30 15:13:54 +00:00
regis@google.com
841467f0c7
Move CreateArray and CreateClosure to new location template.
...
Review URL: https://chromiumcodereview.appspot.com//10460002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8104 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-30 13:47:24 +00:00
vegorov@google.com
858b6d53e1
In generated code for ia32 don't load object's class directly from class_ field.
...
Instead look it up in class table by class index taken from object's tags.
Review URL: https://chromiumcodereview.appspot.com//10447064
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8101 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-30 12:25:49 +00:00
vegorov@google.com
992a296306
When generate snapshot use tags_ instead of class_ to store object ids.
...
This is step towards removal of class_ field.
Review URL: https://chromiumcodereview.appspot.com//10444059
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8098 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-30 11:42:55 +00:00
ager@google.com
501a0dd907
Add test that passes invalid arguments to socket methods and fix
...
issues encountered.
The fuzzing is not as systematic as for some of the other
APIs. However, a lot of checking is going on in the Dart code so
forcing issues required a bit of work making objects act like lists
and integers.
Additionally, fix a memory leak in process implementation.
R=sgjesse@google.com
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com//10441078
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8088 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-30 08:17:25 +00:00
turnidge@google.com
830bf04de2
Finalize classes before calling the main for a new isolate.
...
This fixes bug 2235.
Review URL: https://chromiumcodereview.appspot.com//10444069
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8079 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-29 21:10:42 +00:00
hausner@google.com
eeaa660d52
Introduce library ids and info in the wire protocol
...
- Library hierarchy (imports, prefixes)
- Global (top-level) variables
- Removing breakpoints
Review URL: https://chromiumcodereview.appspot.com//10447045
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8075 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-29 19:51:51 +00:00
iposva@google.com
e41c09b616
Address review comments:
...
- Remove unnecessary store to local variable.
Review URL: https://chromiumcodereview.appspot.com//10446062
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8073 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-29 18:03:21 +00:00
turnidge@google.com
30452c3c82
Fix Dart_New so that it works with List.
...
Specifically, when some interface "I" declares a default class "C",
that class "C" may either implement or not implement "I". It turns
out that the name lookup is supposed to be different in these two
cases. Before I only handled one of these cases correctly.
Also, it turns out I was passing bogus parameters to factory constructors.
I was supposed to pass type arguments, but instead I was passing the
wrong thing. Fixed this.
This should fix issue 2971.
Review URL: https://chromiumcodereview.appspot.com//10441034
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8072 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-29 18:00:45 +00:00
fschneider@google.com
c474c57ef8
Change three more instructions on x64 to use location-based codegen templates.
...
This is a straight-forward port of the existing templates. For the future we
may consider refactoring those instructions to be like normal calls with arguments
pushed on the stack explictly in the IL.
Review URL: https://chromiumcodereview.appspot.com//10456012
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8050 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-29 10:55:23 +00:00
sgjesse@google.com
2f1cd20085
Small HTTP server fixes
...
Make empty responses use content length instead of chunked.
Make the default error handler indicate no content for HTTP 1.1 as well as HTTP 1.0.
Remove unneeded null check.
R=ager@google.com
BUG=none
TEST=HTTP tests
Review URL: https://chromiumcodereview.appspot.com//10454051
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8044 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-29 09:31:32 +00:00
ajohnsen@google.com
7fa410694b
Mark the vm_tests as a RunTime score.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com//10446056
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8033 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-29 07:26:03 +00:00
srdjan@google.com
f624ef7821
Moved InstantiateTypeArgumentsComp and InstanceOfComp.
...
Review URL: https://chromiumcodereview.appspot.com//10440053
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8010 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-25 18:54:12 +00:00