Commit Graph

14 Commits

Author SHA1 Message Date
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