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

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

Issue 6164003: Implement DoApplyArguments. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge/benchmarks
Patch Set: Removed code in comment. Created 9 years, 11 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2010 the V8 project authors. All rights reserved. 1 // Copyright 2010 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 15 matching lines...) Expand all
26 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 27
28 #ifndef V8_ARM_MACRO_ASSEMBLER_ARM_H_ 28 #ifndef V8_ARM_MACRO_ASSEMBLER_ARM_H_
29 #define V8_ARM_MACRO_ASSEMBLER_ARM_H_ 29 #define V8_ARM_MACRO_ASSEMBLER_ARM_H_
30 30
31 #include "assembler.h" 31 #include "assembler.h"
32 32
33 namespace v8 { 33 namespace v8 {
34 namespace internal { 34 namespace internal {
35 35
36 // Forward declaration.
37 class PostCallGenerator;
38
36 // ---------------------------------------------------------------------------- 39 // ----------------------------------------------------------------------------
37 // Static helper functions 40 // Static helper functions
38 41
39 // Generate a MemOperand for loading a field from an object. 42 // Generate a MemOperand for loading a field from an object.
40 static inline MemOperand FieldMemOperand(Register object, int offset) { 43 static inline MemOperand FieldMemOperand(Register object, int offset) {
41 return MemOperand(object, offset - kHeapObjectTag); 44 return MemOperand(object, offset - kHeapObjectTag);
42 } 45 }
43 46
44 47
45 // Give alias names to registers 48 // Give alias names to registers
(...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after
274 Register map, 277 Register map,
275 Register scratch); 278 Register scratch);
276 279
277 // --------------------------------------------------------------------------- 280 // ---------------------------------------------------------------------------
278 // JavaScript invokes 281 // JavaScript invokes
279 282
280 // Invoke the JavaScript function code by either calling or jumping. 283 // Invoke the JavaScript function code by either calling or jumping.
281 void InvokeCode(Register code, 284 void InvokeCode(Register code,
282 const ParameterCount& expected, 285 const ParameterCount& expected,
283 const ParameterCount& actual, 286 const ParameterCount& actual,
284 InvokeFlag flag); 287 InvokeFlag flag,
288 PostCallGenerator* post_call_generator = NULL);
285 289
286 void InvokeCode(Handle<Code> code, 290 void InvokeCode(Handle<Code> code,
287 const ParameterCount& expected, 291 const ParameterCount& expected,
288 const ParameterCount& actual, 292 const ParameterCount& actual,
289 RelocInfo::Mode rmode, 293 RelocInfo::Mode rmode,
290 InvokeFlag flag); 294 InvokeFlag flag);
291 295
292 // Invoke the JavaScript function in the given register. Changes the 296 // Invoke the JavaScript function in the given register. Changes the
293 // current context to the context in the function before invoking. 297 // current context to the context in the function before invoking.
294 void InvokeFunction(Register function, 298 void InvokeFunction(Register function,
295 const ParameterCount& actual, 299 const ParameterCount& actual,
296 InvokeFlag flag); 300 InvokeFlag flag,
301 PostCallGenerator* post_call_generator = NULL);
297 302
298 void InvokeFunction(JSFunction* function, 303 void InvokeFunction(JSFunction* function,
299 const ParameterCount& actual, 304 const ParameterCount& actual,
300 InvokeFlag flag); 305 InvokeFlag flag);
301 306
302 void IsObjectJSObjectType(Register heap_object, 307 void IsObjectJSObjectType(Register heap_object,
303 Register map, 308 Register map,
304 Register scratch, 309 Register scratch,
305 Label* fail); 310 Label* fail);
306 311
(...skipping 428 matching lines...) Expand 10 before | Expand all | Expand 10 after
735 private: 740 private:
736 void Jump(intptr_t target, RelocInfo::Mode rmode, Condition cond = al); 741 void Jump(intptr_t target, RelocInfo::Mode rmode, Condition cond = al);
737 void Call(intptr_t target, RelocInfo::Mode rmode, Condition cond = al); 742 void Call(intptr_t target, RelocInfo::Mode rmode, Condition cond = al);
738 743
739 // Helper functions for generating invokes. 744 // Helper functions for generating invokes.
740 void InvokePrologue(const ParameterCount& expected, 745 void InvokePrologue(const ParameterCount& expected,
741 const ParameterCount& actual, 746 const ParameterCount& actual,
742 Handle<Code> code_constant, 747 Handle<Code> code_constant,
743 Register code_reg, 748 Register code_reg,
744 Label* done, 749 Label* done,
745 InvokeFlag flag); 750 InvokeFlag flag,
751 PostCallGenerator* post_call_generator = NULL);
746 752
747 // Activation support. 753 // Activation support.
748 void EnterFrame(StackFrame::Type type); 754 void EnterFrame(StackFrame::Type type);
749 void LeaveFrame(StackFrame::Type type); 755 void LeaveFrame(StackFrame::Type type);
750 756
751 void InitializeNewString(Register string, 757 void InitializeNewString(Register string,
752 Register length, 758 Register length,
753 Heap::RootListIndex map_index, 759 Heap::RootListIndex map_index,
754 Register scratch1, 760 Register scratch1,
755 Register scratch2); 761 Register scratch2);
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
820 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) 826 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__)
821 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> 827 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm->
822 #else 828 #else
823 #define ACCESS_MASM(masm) masm-> 829 #define ACCESS_MASM(masm) masm->
824 #endif 830 #endif
825 831
826 832
827 } } // namespace v8::internal 833 } } // namespace v8::internal
828 834
829 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_ 835 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698