OLD | NEW |
1 // Copyright 2009 the V8 project authors. All rights reserved. | 1 // Copyright 2009 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
236 | 236 |
237 void VirtualFrame::CallRuntime(Runtime::FunctionId id, int arg_count) { | 237 void VirtualFrame::CallRuntime(Runtime::FunctionId id, int arg_count) { |
238 PrepareForCall(arg_count, arg_count); | 238 PrepareForCall(arg_count, arg_count); |
239 ASSERT(cgen()->HasValidEntryRegisters()); | 239 ASSERT(cgen()->HasValidEntryRegisters()); |
240 __ CallRuntime(id, arg_count); | 240 __ CallRuntime(id, arg_count); |
241 } | 241 } |
242 | 242 |
243 | 243 |
244 void VirtualFrame::InvokeBuiltin(Builtins::JavaScript id, | 244 void VirtualFrame::InvokeBuiltin(Builtins::JavaScript id, |
245 InvokeJSFlags flags, | 245 InvokeJSFlags flags, |
246 Result* arg_count_register, | |
247 int arg_count) { | 246 int arg_count) { |
248 ASSERT(arg_count_register->reg().is(r0)); | |
249 PrepareForCall(arg_count, arg_count); | 247 PrepareForCall(arg_count, arg_count); |
250 arg_count_register->Unuse(); | |
251 __ InvokeBuiltin(id, flags); | 248 __ InvokeBuiltin(id, flags); |
252 } | 249 } |
253 | 250 |
254 | 251 |
255 void VirtualFrame::RawCallCodeObject(Handle<Code> code, | 252 void VirtualFrame::RawCallCodeObject(Handle<Code> code, |
256 RelocInfo::Mode rmode) { | 253 RelocInfo::Mode rmode) { |
257 ASSERT(cgen()->HasValidEntryRegisters()); | 254 ASSERT(cgen()->HasValidEntryRegisters()); |
258 __ Call(code, rmode); | 255 __ Call(code, rmode); |
259 } | 256 } |
260 | 257 |
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
386 ASSERT(stack_pointer_ == element_count() - 1); | 383 ASSERT(stack_pointer_ == element_count() - 1); |
387 elements_.Add(FrameElement::MemoryElement()); | 384 elements_.Add(FrameElement::MemoryElement()); |
388 stack_pointer_++; | 385 stack_pointer_++; |
389 __ push(reg); | 386 __ push(reg); |
390 } | 387 } |
391 | 388 |
392 | 389 |
393 #undef __ | 390 #undef __ |
394 | 391 |
395 } } // namespace v8::internal | 392 } } // namespace v8::internal |
OLD | NEW |