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

Unified Diff: src/virtual-frame-ia32.h

Issue 42638: In the IA32 code genrator, handle call ICs and constructor calls the... (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: Created 11 years, 9 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/virtual-frame-arm.cc ('k') | src/virtual-frame-ia32.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/virtual-frame-ia32.h
===================================================================
--- src/virtual-frame-ia32.h (revision 1615)
+++ src/virtual-frame-ia32.h (working copy)
@@ -243,36 +243,21 @@
// Call a code stub, given the number of arguments it expects on (and
// removes from) the top of the physical frame.
- Result CallStub(CodeStub* stub, int frame_arg_count);
- Result CallStub(CodeStub* stub, Result* arg, int frame_arg_count);
- Result CallStub(CodeStub* stub,
- Result* arg0,
- Result* arg1,
- int frame_arg_count);
+ Result CallStub(CodeStub* stub, int arg_count);
+ Result CallStub(CodeStub* stub, Result* arg, int arg_count);
+ Result CallStub(CodeStub* stub, Result* arg0, Result* arg1, int arg_count);
// Call the runtime, given the number of arguments expected on (and
// removed from) the top of the physical frame.
- Result CallRuntime(Runtime::Function* f, int frame_arg_count);
- Result CallRuntime(Runtime::FunctionId id, int frame_arg_count);
+ Result CallRuntime(Runtime::Function* f, int arg_count);
+ Result CallRuntime(Runtime::FunctionId id, int arg_count);
// Invoke a builtin, given the number of arguments it expects on (and
// removes from) the top of the physical frame.
Result InvokeBuiltin(Builtins::JavaScript id,
InvokeFlag flag,
- int frame_arg_count);
+ int arg_count);
- // Call into a call IC or a JS code object given the number of
- // arguments it drops from the top of the stack. Arguments passed
- // in registers are given as results and invalidated by the call.
- Result CallCodeObject(Handle<Code> ic,
- RelocInfo::Mode rmode,
- int dropped_args);
- Result CallCodeObject(Handle<Code> ic,
- RelocInfo::Mode rmode,
- Result* arg0,
- Result* arg1,
- int dropped_args);
-
// Call load IC. Name and receiver are found on top of the frame.
// Receiver is not dropped.
Result CallLoadIC(RelocInfo::Mode mode);
@@ -289,6 +274,17 @@
// of the frame. Key and receiver are not dropped.
Result CallKeyedStoreIC();
+ // Call call IC. Arguments, reciever, and function name are found
+ // on top of the frame. Function name slot is not dropped. The
+ // argument count does not include the receiver.
+ Result CallCallIC(RelocInfo::Mode mode, int arg_count, int loop_nesting);
+
+ // Allocate and call JS function as constructor. Arguments,
+ // receiver (global object), and function are found on top of the
+ // frame. Function is not dropped. The argument count does not
+ // include the receiver.
+ Result CallConstructor(int arg_count);
+
// Drop a number of elements from the top of the expression stack. May
// emit code to affect the physical frame. Does not clobber any registers
// excepting possibly the stack pointer.
@@ -465,7 +461,7 @@
// Call a code stub that has already been prepared for calling (via
// PrepareForCall).
- Result RawCallStub(CodeStub* stub, int frame_arg_count);
+ Result RawCallStub(CodeStub* stub);
// Calls a code object which has already been prepared for calling
// (via PrepareForCall).
« no previous file with comments | « src/virtual-frame-arm.cc ('k') | src/virtual-frame-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698