Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(147)

Side by Side Diff: src/full-codegen/ppc/full-codegen-ppc.cc

Issue 1917353002: PPC: Get rid of AllocationFlags::TAG_OBJECT (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: removed subi instruction as subsequent addi handled kHeapObjectTag Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/crankshaft/ppc/lithium-codegen-ppc.cc ('k') | src/ppc/code-stubs-ppc.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #if V8_TARGET_ARCH_PPC 5 #if V8_TARGET_ARCH_PPC
6 6
7 #include "src/ast/scopes.h" 7 #include "src/ast/scopes.h"
8 #include "src/code-factory.h" 8 #include "src/code-factory.h"
9 #include "src/code-stubs.h" 9 #include "src/code-stubs.h"
10 #include "src/codegen.h" 10 #include "src/codegen.h"
(...skipping 1851 matching lines...) Expand 10 before | Expand all | Expand 10 after
1862 operand_stack_depth_ * kPointerSize; 1862 operand_stack_depth_ * kPointerSize;
1863 __ sub(r3, fp, sp); 1863 __ sub(r3, fp, sp);
1864 __ cmpi(r3, Operand(expected_diff)); 1864 __ cmpi(r3, Operand(expected_diff));
1865 __ Assert(eq, kUnexpectedStackDepth); 1865 __ Assert(eq, kUnexpectedStackDepth);
1866 } 1866 }
1867 } 1867 }
1868 1868
1869 void FullCodeGenerator::EmitCreateIteratorResult(bool done) { 1869 void FullCodeGenerator::EmitCreateIteratorResult(bool done) {
1870 Label allocate, done_allocate; 1870 Label allocate, done_allocate;
1871 1871
1872 __ Allocate(JSIteratorResult::kSize, r3, r5, r6, &allocate, TAG_OBJECT); 1872 __ Allocate(JSIteratorResult::kSize, r3, r5, r6, &allocate,
1873 NO_ALLOCATION_FLAGS);
1873 __ b(&done_allocate); 1874 __ b(&done_allocate);
1874 1875
1875 __ bind(&allocate); 1876 __ bind(&allocate);
1876 __ Push(Smi::FromInt(JSIteratorResult::kSize)); 1877 __ Push(Smi::FromInt(JSIteratorResult::kSize));
1877 __ CallRuntime(Runtime::kAllocateInNewSpace); 1878 __ CallRuntime(Runtime::kAllocateInNewSpace);
1878 1879
1879 __ bind(&done_allocate); 1880 __ bind(&done_allocate);
1880 __ LoadNativeContextSlot(Context::ITERATOR_RESULT_MAP_INDEX, r4); 1881 __ LoadNativeContextSlot(Context::ITERATOR_RESULT_MAP_INDEX, r4);
1881 PopOperand(r5); 1882 PopOperand(r5);
1882 __ LoadRoot(r6, 1883 __ LoadRoot(r6,
(...skipping 1291 matching lines...) Expand 10 before | Expand all | Expand 10 after
3174 3175
3175 3176
3176 void FullCodeGenerator::EmitCreateIterResultObject(CallRuntime* expr) { 3177 void FullCodeGenerator::EmitCreateIterResultObject(CallRuntime* expr) {
3177 ZoneList<Expression*>* args = expr->arguments(); 3178 ZoneList<Expression*>* args = expr->arguments();
3178 DCHECK_EQ(2, args->length()); 3179 DCHECK_EQ(2, args->length());
3179 VisitForStackValue(args->at(0)); 3180 VisitForStackValue(args->at(0));
3180 VisitForStackValue(args->at(1)); 3181 VisitForStackValue(args->at(1));
3181 3182
3182 Label runtime, done; 3183 Label runtime, done;
3183 3184
3184 __ Allocate(JSIteratorResult::kSize, r3, r5, r6, &runtime, TAG_OBJECT); 3185 __ Allocate(JSIteratorResult::kSize, r3, r5, r6, &runtime,
3186 NO_ALLOCATION_FLAGS);
3185 __ LoadNativeContextSlot(Context::ITERATOR_RESULT_MAP_INDEX, r4); 3187 __ LoadNativeContextSlot(Context::ITERATOR_RESULT_MAP_INDEX, r4);
3186 __ Pop(r5, r6); 3188 __ Pop(r5, r6);
3187 __ LoadRoot(r7, Heap::kEmptyFixedArrayRootIndex); 3189 __ LoadRoot(r7, Heap::kEmptyFixedArrayRootIndex);
3188 __ StoreP(r4, FieldMemOperand(r3, HeapObject::kMapOffset), r0); 3190 __ StoreP(r4, FieldMemOperand(r3, HeapObject::kMapOffset), r0);
3189 __ StoreP(r7, FieldMemOperand(r3, JSObject::kPropertiesOffset), r0); 3191 __ StoreP(r7, FieldMemOperand(r3, JSObject::kPropertiesOffset), r0);
3190 __ StoreP(r7, FieldMemOperand(r3, JSObject::kElementsOffset), r0); 3192 __ StoreP(r7, FieldMemOperand(r3, JSObject::kElementsOffset), r0);
3191 __ StoreP(r5, FieldMemOperand(r3, JSIteratorResult::kValueOffset), r0); 3193 __ StoreP(r5, FieldMemOperand(r3, JSIteratorResult::kValueOffset), r0);
3192 __ StoreP(r6, FieldMemOperand(r3, JSIteratorResult::kDoneOffset), r0); 3194 __ StoreP(r6, FieldMemOperand(r3, JSIteratorResult::kDoneOffset), r0);
3193 STATIC_ASSERT(JSIteratorResult::kSize == 5 * kPointerSize); 3195 STATIC_ASSERT(JSIteratorResult::kSize == 5 * kPointerSize);
3194 __ b(&done); 3196 __ b(&done);
(...skipping 745 matching lines...) Expand 10 before | Expand all | Expand 10 after
3940 3942
3941 DCHECK(Assembler::IsCrSet(Assembler::instr_at(cmp_address))); 3943 DCHECK(Assembler::IsCrSet(Assembler::instr_at(cmp_address)));
3942 3944
3943 DCHECK(interrupt_address == 3945 DCHECK(interrupt_address ==
3944 isolate->builtins()->OnStackReplacement()->entry()); 3946 isolate->builtins()->OnStackReplacement()->entry());
3945 return ON_STACK_REPLACEMENT; 3947 return ON_STACK_REPLACEMENT;
3946 } 3948 }
3947 } // namespace internal 3949 } // namespace internal
3948 } // namespace v8 3950 } // namespace v8
3949 #endif // V8_TARGET_ARCH_PPC 3951 #endif // V8_TARGET_ARCH_PPC
OLDNEW
« no previous file with comments | « src/crankshaft/ppc/lithium-codegen-ppc.cc ('k') | src/ppc/code-stubs-ppc.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698