NEW 163099
[JSC] Clean up callOperation APIs
https://bugs.webkit.org/show_bug.cgi?id=163099
Summary [JSC] Clean up callOperation APIs
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.