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

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

Issue 596096: Refactoring various pieces of post interceptor caching. (Closed)
Patch Set: Fix incorrect indentation Created 10 years, 10 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 | « src/arm/stub-cache-arm.cc ('k') | src/ia32/macro-assembler-ia32.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 2006-2009 the V8 project authors. All rights reserved. 1 // Copyright 2006-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 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
117 const ParameterCount& actual, 117 const ParameterCount& actual,
118 RelocInfo::Mode rmode, 118 RelocInfo::Mode rmode,
119 InvokeFlag flag); 119 InvokeFlag flag);
120 120
121 // Invoke the JavaScript function in the given register. Changes the 121 // Invoke the JavaScript function in the given register. Changes the
122 // current context to the context in the function before invoking. 122 // current context to the context in the function before invoking.
123 void InvokeFunction(Register function, 123 void InvokeFunction(Register function,
124 const ParameterCount& actual, 124 const ParameterCount& actual,
125 InvokeFlag flag); 125 InvokeFlag flag);
126 126
127 void InvokeFunction(JSFunction* function,
Vitaly Repeshko 2010/02/12 20:32:40 I think this should either be named JumpFunction o
Mads Ager (chromium) 2010/02/15 08:04:01 Agreed. The usual naming is CallSomething and Tai
antonm 2010/02/15 08:54:26 Thanks a lot, Vitaly and Mads, flag added. Submit
128 const ParameterCount& actual);
129
127 // Invoke specified builtin JavaScript function. Adds an entry to 130 // Invoke specified builtin JavaScript function. Adds an entry to
128 // the unresolved list if the name does not resolve. 131 // the unresolved list if the name does not resolve.
129 void InvokeBuiltin(Builtins::JavaScript id, InvokeFlag flag); 132 void InvokeBuiltin(Builtins::JavaScript id, InvokeFlag flag);
130 133
131 // Store the code object for the given builtin in the target register. 134 // Store the code object for the given builtin in the target register.
132 void GetBuiltinEntry(Register target, Builtins::JavaScript id); 135 void GetBuiltinEntry(Register target, Builtins::JavaScript id);
133 136
134 // Expression support 137 // Expression support
135 void Set(Register dst, const Immediate& x); 138 void Set(Register dst, const Immediate& x);
136 void Set(const Operand& dst, const Immediate& x); 139 void Set(const Operand& dst, const Immediate& x);
(...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after
346 void CallRuntime(Runtime::Function* f, int num_arguments); 349 void CallRuntime(Runtime::Function* f, int num_arguments);
347 350
348 // Call a runtime function, returning the CodeStub object called. 351 // Call a runtime function, returning the CodeStub object called.
349 // Try to generate the stub code if necessary. Do not perform a GC 352 // Try to generate the stub code if necessary. Do not perform a GC
350 // but instead return a retry after GC failure. 353 // but instead return a retry after GC failure.
351 Object* TryCallRuntime(Runtime::Function* f, int num_arguments); 354 Object* TryCallRuntime(Runtime::Function* f, int num_arguments);
352 355
353 // Convenience function: Same as above, but takes the fid instead. 356 // Convenience function: Same as above, but takes the fid instead.
354 void CallRuntime(Runtime::FunctionId id, int num_arguments); 357 void CallRuntime(Runtime::FunctionId id, int num_arguments);
355 358
359 // Convenience function: call an external reference.
360 void CallExternalReference(ExternalReference ref, int num_arguments);
361
356 // Convenience function: Same as above, but takes the fid instead. 362 // Convenience function: Same as above, but takes the fid instead.
357 Object* TryCallRuntime(Runtime::FunctionId id, int num_arguments); 363 Object* TryCallRuntime(Runtime::FunctionId id, int num_arguments);
358 364
359 // Tail call of a runtime routine (jump). 365 // Tail call of a runtime routine (jump).
360 // Like JumpToRuntime, but also takes care of passing the number 366 // Like JumpToRuntime, but also takes care of passing the number
361 // of arguments. 367 // of arguments.
362 void TailCallRuntime(const ExternalReference& ext, 368 void TailCallRuntime(const ExternalReference& ext,
363 int num_arguments, 369 int num_arguments,
364 int result_size); 370 int result_size);
365 371
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after
533 } \ 539 } \
534 masm-> 540 masm->
535 #else 541 #else
536 #define ACCESS_MASM(masm) masm-> 542 #define ACCESS_MASM(masm) masm->
537 #endif 543 #endif
538 544
539 545
540 } } // namespace v8::internal 546 } } // namespace v8::internal
541 547
542 #endif // V8_IA32_MACRO_ASSEMBLER_IA32_H_ 548 #endif // V8_IA32_MACRO_ASSEMBLER_IA32_H_
OLDNEW
« no previous file with comments | « src/arm/stub-cache-arm.cc ('k') | src/ia32/macro-assembler-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698