Index: src/code-stub-assembler.cc |
diff --git a/src/code-stub-assembler.cc b/src/code-stub-assembler.cc |
index e0963145ff0198c2698e63a55e6f59097eba8623..dc7cf75d7077dad9a310ed3ab25a1c21485a8903 100644 |
--- a/src/code-stub-assembler.cc |
+++ b/src/code-stub-assembler.cc |
@@ -351,8 +351,6 @@ Node* CodeStubAssembler::AllocateRawUnaligned(Node* size_in_bytes, |
Node* no_runtime_result = top; |
StoreNoWriteBarrier(MachineType::PointerRepresentation(), top_address, |
new_top); |
- no_runtime_result = BitcastWordToTagged( |
- IntPtrAdd(no_runtime_result, IntPtrConstant(kHeapObjectTag))); |
result.Bind(no_runtime_result); |
Goto(&merge_runtime); |
@@ -371,8 +369,8 @@ Node* CodeStubAssembler::AllocateRawAligned(Node* size_in_bytes, |
if (flags & kDoubleAlignment) { |
// TODO(epertoso): Simd128 alignment. |
Label aligned(this), not_aligned(this), merge(this, &adjusted_size); |
- Branch(WordAnd(top, IntPtrConstant(kDoubleAlignmentMask)), ¬_aligned, |
- &aligned); |
+ Branch(WordAnd(top, IntPtrConstant(kDoubleAlignmentMask - kHeapObjectTag)), |
+ ¬_aligned, &aligned); |
Bind(¬_aligned); |
Node* not_aligned_size = |