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

Side by Side Diff: src/ppc/macro-assembler-ppc.cc

Issue 1843273002: PPC: [turbofan] Frame elision for code stubs. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Add AssembleBlock Created 4 years, 8 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/compiler/ppc/code-generator-ppc.cc ('k') | no next file » | 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 #include <assert.h> // For assert 5 #include <assert.h> // For assert
6 #include <limits.h> // For LONG_MIN, LONG_MAX. 6 #include <limits.h> // For LONG_MIN, LONG_MAX.
7 7
8 #if V8_TARGET_ARCH_PPC 8 #if V8_TARGET_ARCH_PPC
9 9
10 #include "src/base/bits.h" 10 #include "src/base/bits.h"
(...skipping 974 matching lines...) Expand 10 before | Expand all | Expand 10 after
985 code_start_delta); 985 code_start_delta);
986 } 986 }
987 987
988 988
989 void MacroAssembler::LoadConstantPoolPointerRegister() { 989 void MacroAssembler::LoadConstantPoolPointerRegister() {
990 mov_label_addr(kConstantPoolRegister, ConstantPoolPosition()); 990 mov_label_addr(kConstantPoolRegister, ConstantPoolPosition());
991 } 991 }
992 992
993 void MacroAssembler::StubPrologue(StackFrame::Type type, Register base, 993 void MacroAssembler::StubPrologue(StackFrame::Type type, Register base,
994 int prologue_offset) { 994 int prologue_offset) {
995 LoadSmiLiteral(r11, Smi::FromInt(type)); 995 {
996 PushCommonFrame(r11); 996 ConstantPoolUnavailableScope constant_pool_unavailable(this);
997 LoadSmiLiteral(r11, Smi::FromInt(type));
998 PushCommonFrame(r11);
999 }
997 if (FLAG_enable_embedded_constant_pool) { 1000 if (FLAG_enable_embedded_constant_pool) {
998 if (!base.is(no_reg)) { 1001 if (!base.is(no_reg)) {
999 // base contains prologue address 1002 // base contains prologue address
1000 LoadConstantPoolPointerRegister(base, -prologue_offset); 1003 LoadConstantPoolPointerRegister(base, -prologue_offset);
1001 } else { 1004 } else {
1002 LoadConstantPoolPointerRegister(); 1005 LoadConstantPoolPointerRegister();
1003 } 1006 }
1004 set_constant_pool_available(true); 1007 set_constant_pool_available(true);
1005 } 1008 }
1006 } 1009 }
(...skipping 3634 matching lines...) Expand 10 before | Expand all | Expand 10 after
4641 } 4644 }
4642 if (mag.shift > 0) srawi(result, result, mag.shift); 4645 if (mag.shift > 0) srawi(result, result, mag.shift);
4643 ExtractBit(r0, dividend, 31); 4646 ExtractBit(r0, dividend, 31);
4644 add(result, result, r0); 4647 add(result, result, r0);
4645 } 4648 }
4646 4649
4647 } // namespace internal 4650 } // namespace internal
4648 } // namespace v8 4651 } // namespace v8
4649 4652
4650 #endif // V8_TARGET_ARCH_PPC 4653 #endif // V8_TARGET_ARCH_PPC
OLDNEW
« no previous file with comments | « src/compiler/ppc/code-generator-ppc.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698