Since in JSC a callback of custom methods is non-static, we do not need to pass a pointer of an implementation object. Before (JSTestInterface.cpp): JSValue jsTestInterfaceSupplementalStr3(ExecState* exec, JSValue slotBase, const Identifier&) { JSTestInterface* castedThis = static_cast<JSTestInterface*>(asObject(slotBase)); TestInterface* impl = static_cast<TestInterface*>(castedThis->impl()); return castedThis->supplementalStr3(impl, exec); } After (JSTestInterface.cpp): JSValue jsTestInterfaceSupplementalStr3(ExecState* exec, JSValue slotBase, const Identifier&) { JSTestInterface* castedThis = static_cast<JSTestInterface*>(asObject(slotBase)); return castedThis->supplementalStr3(exec); // JSTestInterface knows 'impl'. } We should also remove redundant arguments from JSDOMWindowWebSocketCustom.cpp and JSDOMWindowWebAudioCustom.cpp.
Created attachment 122135 [details] Patch
Created attachment 122138 [details] rebased patch for commit
Comment on attachment 122138 [details] rebased patch for commit Clearing flags on attachment: 122138 Committed r104778: <http://trac.webkit.org/changeset/104778>
Looks like it's ok to close this. Reopen if not.