Bug 163099

Summary: [JSC] Clean up callOperation APIs
Product: WebKit Reporter: Yusuke Suzuki <ysuzuki>
Component: JavaScriptCoreAssignee: Nobody <webkit-unassigned>
Status: NEW    
Severity: Normal CC: saam
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   

Yusuke Suzuki
Reported 2016-10-06 21:18:11 PDT
From Saam's idea. https://bugs.webkit.org/show_bug.cgi?id=162978#c3 class Call { struct Argument { Argument(GPRReg); Argument(JSValueRegs); Argument(immediate type: int32/int64/pointer); } Type m_resultType; Vector<Arguments> m_arguments; FunctionPtr m_function; }; and then have a function like: setupCallWithExecState(const Call& call); And API should correctly construct the frame according to Vector<Arguments>.
Attachments
Saam Barati
Comment 1 2016-10-06 22:42:20 PDT
(In reply to comment #0) > From Saam's idea. https://bugs.webkit.org/show_bug.cgi?id=162978#c3 > > class Call { > struct Argument { > Argument(GPRReg); > Argument(JSValueRegs); > Argument(immediate type: int32/int64/pointer); > } > Type m_resultType; > Vector<Arguments> m_arguments; > FunctionPtr m_function; > }; > > and then have a function like: > setupCallWithExecState(const Call& call); > > And API should correctly construct the frame according to Vector<Arguments>. Thinking about it more, we'd probably want to encode if the first argument is ExecState or not since we have some operations that don't take ExecState
Note You need to log in before you can comment on or make changes to this bug.