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

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

Issue 1848553002: [full-codegen] Reload context register after intrinsic call. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Fix missing include 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/full-codegen/ppc/full-codegen-ppc.cc ('k') | src/full-codegen/x64/full-codegen-x64.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 2015 the V8 project authors. All rights reserved. 1 // Copyright 2015 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_S390 5 #if V8_TARGET_ARCH_S390
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 3797 matching lines...) Expand 10 before | Expand all | Expand 10 after
3808 Split(eq, if_true, if_false, fall_through); 3808 Split(eq, if_true, if_false, fall_through);
3809 } else { 3809 } else {
3810 __ JumpIfSmi(r2, if_false); 3810 __ JumpIfSmi(r2, if_false);
3811 __ LoadP(r2, FieldMemOperand(r2, HeapObject::kMapOffset)); 3811 __ LoadP(r2, FieldMemOperand(r2, HeapObject::kMapOffset));
3812 __ LoadlB(r3, FieldMemOperand(r2, Map::kBitFieldOffset)); 3812 __ LoadlB(r3, FieldMemOperand(r2, Map::kBitFieldOffset));
3813 __ AndP(r0, r3, Operand(1 << Map::kIsUndetectable)); 3813 __ AndP(r0, r3, Operand(1 << Map::kIsUndetectable));
3814 Split(ne, if_true, if_false, fall_through); 3814 Split(ne, if_true, if_false, fall_through);
3815 } 3815 }
3816 context()->Plug(if_true, if_false); 3816 context()->Plug(if_true, if_false);
3817 } 3817 }
3818
3819 void FullCodeGenerator::VisitThisFunction(ThisFunction* expr) {
3820 __ LoadP(r2, MemOperand(fp, JavaScriptFrameConstants::kFunctionOffset));
3821 context()->Plug(r2);
3822 }
3823
3824 Register FullCodeGenerator::result_register() { return r2; } 3818 Register FullCodeGenerator::result_register() { return r2; }
3825 3819
3826 Register FullCodeGenerator::context_register() { return cp; } 3820 Register FullCodeGenerator::context_register() { return cp; }
3827 3821
3822 void FullCodeGenerator::LoadFromFrameField(int frame_offset, Register value) {
3823 DCHECK_EQ(static_cast<int>(POINTER_SIZE_ALIGN(frame_offset)), frame_offset);
3824 __ LoadP(value, MemOperand(fp, frame_offset));
3825 }
3826
3828 void FullCodeGenerator::StoreToFrameField(int frame_offset, Register value) { 3827 void FullCodeGenerator::StoreToFrameField(int frame_offset, Register value) {
3829 DCHECK_EQ(static_cast<int>(POINTER_SIZE_ALIGN(frame_offset)), frame_offset); 3828 DCHECK_EQ(static_cast<int>(POINTER_SIZE_ALIGN(frame_offset)), frame_offset);
3830 __ StoreP(value, MemOperand(fp, frame_offset)); 3829 __ StoreP(value, MemOperand(fp, frame_offset));
3831 } 3830 }
3832 3831
3833 void FullCodeGenerator::LoadContextField(Register dst, int context_index) { 3832 void FullCodeGenerator::LoadContextField(Register dst, int context_index) {
3834 __ LoadP(dst, ContextMemOperand(cp, context_index), r0); 3833 __ LoadP(dst, ContextMemOperand(cp, context_index), r0);
3835 } 3834 }
3836 3835
3837 void FullCodeGenerator::PushFunctionArgumentForContextAllocation() { 3836 void FullCodeGenerator::PushFunctionArgumentForContextAllocation() {
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after
3988 DCHECK(kOSRBranchInstruction == br_instr); 3987 DCHECK(kOSRBranchInstruction == br_instr);
3989 3988
3990 DCHECK(interrupt_address == 3989 DCHECK(interrupt_address ==
3991 isolate->builtins()->OnStackReplacement()->entry()); 3990 isolate->builtins()->OnStackReplacement()->entry());
3992 return ON_STACK_REPLACEMENT; 3991 return ON_STACK_REPLACEMENT;
3993 } 3992 }
3994 3993
3995 } // namespace internal 3994 } // namespace internal
3996 } // namespace v8 3995 } // namespace v8
3997 #endif // V8_TARGET_ARCH_S390 3996 #endif // V8_TARGET_ARCH_S390
OLDNEW
« no previous file with comments | « src/full-codegen/ppc/full-codegen-ppc.cc ('k') | src/full-codegen/x64/full-codegen-x64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698