OLD | NEW |
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 #ifndef V8_S390_MACRO_ASSEMBLER_S390_H_ | 5 #ifndef V8_S390_MACRO_ASSEMBLER_S390_H_ |
6 #define V8_S390_MACRO_ASSEMBLER_S390_H_ | 6 #define V8_S390_MACRO_ASSEMBLER_S390_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 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
187 int CallSize(Handle<Code> code, | 187 int CallSize(Handle<Code> code, |
188 RelocInfo::Mode rmode = RelocInfo::CODE_TARGET, | 188 RelocInfo::Mode rmode = RelocInfo::CODE_TARGET, |
189 TypeFeedbackId ast_id = TypeFeedbackId::None(), | 189 TypeFeedbackId ast_id = TypeFeedbackId::None(), |
190 Condition cond = al); | 190 Condition cond = al); |
191 void Call(Handle<Code> code, RelocInfo::Mode rmode = RelocInfo::CODE_TARGET, | 191 void Call(Handle<Code> code, RelocInfo::Mode rmode = RelocInfo::CODE_TARGET, |
192 TypeFeedbackId ast_id = TypeFeedbackId::None(), | 192 TypeFeedbackId ast_id = TypeFeedbackId::None(), |
193 Condition cond = al); | 193 Condition cond = al); |
194 void Ret() { b(r14); } | 194 void Ret() { b(r14); } |
195 void Ret(Condition cond) { b(cond, r14); } | 195 void Ret(Condition cond) { b(cond, r14); } |
196 | 196 |
| 197 // Emit code that loads |parameter_index|'th parameter from the stack to |
| 198 // the register according to the CallInterfaceDescriptor definition. |
| 199 // |sp_to_caller_sp_offset_in_words| specifies the number of words pushed |
| 200 // below the caller's sp. |
| 201 template <class Descriptor> |
| 202 void LoadParameterFromStack( |
| 203 Register reg, typename Descriptor::ParameterIndices parameter_index, |
| 204 int sp_to_ra_offset_in_words = 0) { |
| 205 DCHECK(Descriptor::kPassLastArgsOnStack); |
| 206 UNIMPLEMENTED(); |
| 207 } |
| 208 |
197 // Emit code to discard a non-negative number of pointer-sized elements | 209 // Emit code to discard a non-negative number of pointer-sized elements |
198 // from the stack, clobbering only the sp register. | 210 // from the stack, clobbering only the sp register. |
199 void Drop(int count); | 211 void Drop(int count); |
200 void Drop(Register count, Register scratch = r0); | 212 void Drop(Register count, Register scratch = r0); |
201 | 213 |
202 void Ret(int drop) { | 214 void Ret(int drop) { |
203 Drop(drop); | 215 Drop(drop); |
204 Ret(); | 216 Ret(); |
205 } | 217 } |
206 | 218 |
(...skipping 1674 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1881 inline MemOperand NativeContextMemOperand() { | 1893 inline MemOperand NativeContextMemOperand() { |
1882 return ContextMemOperand(cp, Context::NATIVE_CONTEXT_INDEX); | 1894 return ContextMemOperand(cp, Context::NATIVE_CONTEXT_INDEX); |
1883 } | 1895 } |
1884 | 1896 |
1885 #define ACCESS_MASM(masm) masm-> | 1897 #define ACCESS_MASM(masm) masm-> |
1886 | 1898 |
1887 } // namespace internal | 1899 } // namespace internal |
1888 } // namespace v8 | 1900 } // namespace v8 |
1889 | 1901 |
1890 #endif // V8_S390_MACRO_ASSEMBLER_S390_H_ | 1902 #endif // V8_S390_MACRO_ASSEMBLER_S390_H_ |
OLD | NEW |