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

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

Issue 6909026: Additional minor cleanup regarding CallWrapper: Use the null object pattern. (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: '' Created 9 years, 7 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
« no previous file with comments | « src/arm/lithium-codegen-arm.cc ('k') | src/arm/macro-assembler-arm.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 2011 the V8 project authors. All rights reserved. 1 // Copyright 2011 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 332 matching lines...) Expand 10 before | Expand all | Expand 10 after
343 Register scratch); 343 Register scratch);
344 344
345 // --------------------------------------------------------------------------- 345 // ---------------------------------------------------------------------------
346 // JavaScript invokes 346 // JavaScript invokes
347 347
348 // Invoke the JavaScript function code by either calling or jumping. 348 // Invoke the JavaScript function code by either calling or jumping.
349 void InvokeCode(Register code, 349 void InvokeCode(Register code,
350 const ParameterCount& expected, 350 const ParameterCount& expected,
351 const ParameterCount& actual, 351 const ParameterCount& actual,
352 InvokeFlag flag, 352 InvokeFlag flag,
353 CallWrapper* call_wrapper = NULL); 353 const CallWrapper& call_wrapper = NullCallWrapper());
354 354
355 void InvokeCode(Handle<Code> code, 355 void InvokeCode(Handle<Code> code,
356 const ParameterCount& expected, 356 const ParameterCount& expected,
357 const ParameterCount& actual, 357 const ParameterCount& actual,
358 RelocInfo::Mode rmode, 358 RelocInfo::Mode rmode,
359 InvokeFlag flag); 359 InvokeFlag flag);
360 360
361 // Invoke the JavaScript function in the given register. Changes the 361 // Invoke the JavaScript function in the given register. Changes the
362 // current context to the context in the function before invoking. 362 // current context to the context in the function before invoking.
363 void InvokeFunction(Register function, 363 void InvokeFunction(Register function,
364 const ParameterCount& actual, 364 const ParameterCount& actual,
365 InvokeFlag flag, 365 InvokeFlag flag,
366 CallWrapper* call_wrapper = NULL); 366 const CallWrapper& call_wrapper = NullCallWrapper());
367 367
368 void InvokeFunction(JSFunction* function, 368 void InvokeFunction(JSFunction* function,
369 const ParameterCount& actual, 369 const ParameterCount& actual,
370 InvokeFlag flag); 370 InvokeFlag flag);
371 371
372 void IsObjectJSObjectType(Register heap_object, 372 void IsObjectJSObjectType(Register heap_object,
373 Register map, 373 Register map,
374 Register scratch, 374 Register scratch,
375 Label* fail); 375 Label* fail);
376 376
(...skipping 415 matching lines...) Expand 10 before | Expand all | Expand 10 after
792 792
793 // Jump to a runtime routine. 793 // Jump to a runtime routine.
794 void JumpToExternalReference(const ExternalReference& builtin); 794 void JumpToExternalReference(const ExternalReference& builtin);
795 795
796 MaybeObject* TryJumpToExternalReference(const ExternalReference& ext); 796 MaybeObject* TryJumpToExternalReference(const ExternalReference& ext);
797 797
798 // Invoke specified builtin JavaScript function. Adds an entry to 798 // Invoke specified builtin JavaScript function. Adds an entry to
799 // the unresolved list if the name does not resolve. 799 // the unresolved list if the name does not resolve.
800 void InvokeBuiltin(Builtins::JavaScript id, 800 void InvokeBuiltin(Builtins::JavaScript id,
801 InvokeFlag flag, 801 InvokeFlag flag,
802 CallWrapper* call_wrapper = NULL); 802 const CallWrapper& call_wrapper = NullCallWrapper());
803 803
804 // Store the code object for the given builtin in the target register and 804 // Store the code object for the given builtin in the target register and
805 // setup the function in r1. 805 // setup the function in r1.
806 void GetBuiltinEntry(Register target, Builtins::JavaScript id); 806 void GetBuiltinEntry(Register target, Builtins::JavaScript id);
807 807
808 // Store the function for the given builtin in the target register. 808 // Store the function for the given builtin in the target register.
809 void GetBuiltinFunction(Register target, Builtins::JavaScript id); 809 void GetBuiltinFunction(Register target, Builtins::JavaScript id);
810 810
811 Handle<Object> CodeObject() { 811 Handle<Object> CodeObject() {
812 ASSERT(!code_object_.is_null()); 812 ASSERT(!code_object_.is_null());
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after
995 RelocInfo::Mode rmode, 995 RelocInfo::Mode rmode,
996 Condition cond = al); 996 Condition cond = al);
997 997
998 // Helper functions for generating invokes. 998 // Helper functions for generating invokes.
999 void InvokePrologue(const ParameterCount& expected, 999 void InvokePrologue(const ParameterCount& expected,
1000 const ParameterCount& actual, 1000 const ParameterCount& actual,
1001 Handle<Code> code_constant, 1001 Handle<Code> code_constant,
1002 Register code_reg, 1002 Register code_reg,
1003 Label* done, 1003 Label* done,
1004 InvokeFlag flag, 1004 InvokeFlag flag,
1005 CallWrapper* call_wrapper = NULL); 1005 const CallWrapper& call_wrapper = NullCallWrapper());
1006 1006
1007 // Activation support. 1007 // Activation support.
1008 void EnterFrame(StackFrame::Type type); 1008 void EnterFrame(StackFrame::Type type);
1009 void LeaveFrame(StackFrame::Type type); 1009 void LeaveFrame(StackFrame::Type type);
1010 1010
1011 void InitializeNewString(Register string, 1011 void InitializeNewString(Register string,
1012 Register length, 1012 Register length,
1013 Heap::RootListIndex map_index, 1013 Heap::RootListIndex map_index,
1014 Register scratch1, 1014 Register scratch1,
1015 Register scratch2); 1015 Register scratch2);
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
1082 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) 1082 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__)
1083 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> 1083 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm->
1084 #else 1084 #else
1085 #define ACCESS_MASM(masm) masm-> 1085 #define ACCESS_MASM(masm) masm->
1086 #endif 1086 #endif
1087 1087
1088 1088
1089 } } // namespace v8::internal 1089 } } // namespace v8::internal
1090 1090
1091 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_ 1091 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_
OLDNEW
« no previous file with comments | « src/arm/lithium-codegen-arm.cc ('k') | src/arm/macro-assembler-arm.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698