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

Side by Side Diff: src/arm/macro-assembler-arm.h

Issue 2357323003: [ic][ia32][x87] Don't push/pop value/slot/vector in store handlers. (Closed)
Patch Set: Created 4 years, 3 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 | « no previous file | src/arm64/macro-assembler-arm64.h » ('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 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 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 #ifndef V8_ARM_MACRO_ASSEMBLER_ARM_H_ 5 #ifndef V8_ARM_MACRO_ASSEMBLER_ARM_H_
6 #define V8_ARM_MACRO_ASSEMBLER_ARM_H_ 6 #define V8_ARM_MACRO_ASSEMBLER_ARM_H_
7 7
8 #include "src/assembler.h" 8 #include "src/assembler.h"
9 #include "src/bailout-reason.h" 9 #include "src/bailout-reason.h"
10 #include "src/frames.h" 10 #include "src/frames.h"
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
116 int CallSize(Handle<Code> code, 116 int CallSize(Handle<Code> code,
117 RelocInfo::Mode rmode = RelocInfo::CODE_TARGET, 117 RelocInfo::Mode rmode = RelocInfo::CODE_TARGET,
118 TypeFeedbackId ast_id = TypeFeedbackId::None(), 118 TypeFeedbackId ast_id = TypeFeedbackId::None(),
119 Condition cond = al); 119 Condition cond = al);
120 void Ret(Condition cond = al); 120 void Ret(Condition cond = al);
121 121
122 // Used for patching in calls to the deoptimizer. 122 // Used for patching in calls to the deoptimizer.
123 void CallDeoptimizer(Address target); 123 void CallDeoptimizer(Address target);
124 static int CallDeoptimizerSize(); 124 static int CallDeoptimizerSize();
125 125
126 // Emit code that loads |parameter_index|'th parameter from the stack to
127 // the register according to the CallInterfaceDescriptor definition.
128 // |sp_to_caller_sp_offset_in_words| specifies the number of words pushed
129 // below the caller's sp.
130 template <class Descriptor>
131 void LoadParameterFromStack(
132 Register reg, typename Descriptor::ParameterIndices parameter_index,
133 int sp_to_ra_offset_in_words = 0) {
134 DCHECK(Descriptor::kPassLastArgsOnStack);
135 UNIMPLEMENTED();
136 }
137
126 // Emit code to discard a non-negative number of pointer-sized elements 138 // Emit code to discard a non-negative number of pointer-sized elements
127 // from the stack, clobbering only the sp register. 139 // from the stack, clobbering only the sp register.
128 void Drop(int count, Condition cond = al); 140 void Drop(int count, Condition cond = al);
129 void Drop(Register count, Condition cond = al); 141 void Drop(Register count, Condition cond = al);
130 142
131 void Ret(int drop, Condition cond = al); 143 void Ret(int drop, Condition cond = al);
132 144
133 // Swap two registers. If the scratch register is omitted then a slightly 145 // Swap two registers. If the scratch register is omitted then a slightly
134 // less efficient form using xor instead of mov is emitted. 146 // less efficient form using xor instead of mov is emitted.
135 void Swap(Register reg1, 147 void Swap(Register reg1,
(...skipping 1472 matching lines...) Expand 10 before | Expand all | Expand 10 after
1608 inline MemOperand NativeContextMemOperand() { 1620 inline MemOperand NativeContextMemOperand() {
1609 return ContextMemOperand(cp, Context::NATIVE_CONTEXT_INDEX); 1621 return ContextMemOperand(cp, Context::NATIVE_CONTEXT_INDEX);
1610 } 1622 }
1611 1623
1612 #define ACCESS_MASM(masm) masm-> 1624 #define ACCESS_MASM(masm) masm->
1613 1625
1614 } // namespace internal 1626 } // namespace internal
1615 } // namespace v8 1627 } // namespace v8
1616 1628
1617 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_ 1629 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_
OLDNEW
« no previous file with comments | « no previous file | src/arm64/macro-assembler-arm64.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698