fschneider@google.com
54ea76dc6b
Remove support for optimized dart leaf functions.
...
This optimization does not bring any benefit since all functions
have at least a call in the slow-path of the stack-overflow check.
I'm suggesting to remove support for this optimization since it
does not get triggered currently, therefore is also not tested.
Plus we have inlining now, which already makes calls to (small
enough) leaf functions fast.
Review URL: https://codereview.chromium.org//11086044
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@13555 260f80e4-7a28-3924-810f-c04153c831b5
2012-10-11 16:35:47 +00:00
vegorov@google.com
264c4f6d1a
Add support for XMM registers in SSA code generation pipeline.
...
Split BinaryDoubleOp into several instructions that manipulate unboxed doubles.
R=fschneider@google.com
BUG=
Review URL: https://chromiumcodereview.appspot.com//10875030
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11313 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-24 14:45:42 +00:00
asiva@google.com
d4d781d636
- Unify class ids and snapshot object ids list so that we don't have disparate
...
and sometimes confusing values.
- Remove instance_kind_ field from RawClass.
- Rename all class id names to have a Cid suffix.
- Remove code from object.h and object_store.h which dealt with object ids
of predefined classes for snapshots.
Review URL: https://chromiumcodereview.appspot.com//10827209
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10418 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-08 19:46:23 +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
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
vegorov@google.com
a4711ef435
Eliminate RawObject::class_ field entirely.
...
Removed initializations of class_ field done in runtime and generated code on ia32/x64.
Changed forwarding address encoding used by scavenger: kFreeBit is now used to distinguish evacuated objects from not evacuated because scavenger will never encounter real FreeListElement.
Changed FreeListElement layout to match RawObject layout.
R=iposva@google.com
Review URL: https://chromiumcodereview.appspot.com//10521004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@8336 260f80e4-7a28-3924-810f-c04153c831b5
2012-06-06 14:22:52 +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
asiva@google.com
c71a8cc1ee
Change dart frame and stub frame layout to include the PC of the code executing on the frame. The stack frame layout is as follows:
...
ret PC
saved EBP <== EBP
PC (used to locate RawInstruction) <== ESP
Review URL: https://chromiumcodereview.appspot.com//10375059
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@7675 260f80e4-7a28-3924-810f-c04153c831b5
2012-05-16 00:47:05 +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
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
iposva@google.com
346424b9b0
- Add a size field to the header.
...
- Make use of the field when available to avoid accessing the class.
Review URL: http://codereview.chromium.org//9072011
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2936 260f80e4-7a28-3924-810f-c04153c831b5
2012-01-04 08:04:04 +00:00
srdjan@google.com
8ad051c2f3
X64: check all cases with "__ movq(FieldAddress" and converted them to StoreIntoObject if appropriate.
...
Review URL: http://codereview.chromium.org//9017024
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2725 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-21 21:35:25 +00:00
regis@google.com
a577991ad5
Port code generator to x64.
...
Review URL: http://codereview.chromium.org//8984003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2557 260f80e4-7a28-3924-810f-c04153c831b5
2011-12-17 00:56:02 +00:00
regis@google.com
e27623a4ef
Disable x64 disassembler under win32.
...
Add x64 assembler macros.
Review URL: http://codereview.chromium.org//8760015
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1955 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-30 23:55:30 +00:00