Revision: 18332
Author:   [email protected]
Date:     Wed Dec 18 04:27:48 2013 UTC
Log: Make offsets to inner allocated objects aligned in allocation folding.

Folded allocations marked for double alignment is not aligned if old dominator
size is used for offset to inner object.

TEST=mjsunit/big-array-literal on MIPS
BUG=
[email protected]

Review URL: https://codereview.chromium.org/103963005

Patch from Dusan Milosavljevic <[email protected]>.
http://code.google.com/p/v8/source/detail?r=18332

Modified:
 /branches/bleeding_edge/src/hydrogen-instructions.cc

=======================================
--- /branches/bleeding_edge/src/hydrogen-instructions.cc Mon Dec 9 10:15:19 2013 UTC +++ /branches/bleeding_edge/src/hydrogen-instructions.cc Wed Dec 18 04:27:48 2013 UTC
@@ -3495,11 +3495,18 @@
   dominator_allocate->clear_next_map_word_ = clear_next_map_word_;

   // After that replace the dominated allocate instruction.
+  HInstruction* inner_offset = HConstant::CreateAndInsertBefore(
+      zone,
+      context(),
+      dominator_size_constant,
+      Representation::None(),
+      this);
+
   HInstruction* dominated_allocate_instr =
       HInnerAllocatedObject::New(zone,
                                  context(),
                                  dominator_allocate,
-                                 dominator_size,
+                                 inner_offset,
                                  type());
   dominated_allocate_instr->InsertBefore(this);
   DeleteAndReplaceWith(dominated_allocate_instr);

--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to