WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
61544
Overload resolution in generated JSC bindings could be more efficient.
https://bugs.webkit.org/show_bug.cgi?id=61544
Summary
Overload resolution in generated JSC bindings could be more efficient.
Andreas Kling
Reported
2011-05-26 11:00:04 PDT
The overload resolution code generated by CodeGeneratorJS.pm currently looks like this: EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionBufferSubData(ExecState* exec) { if ((exec->argumentCount() == 3 && (exec->argument(2).isNull() || (exec->argument(2).isObject() && asObject(exec->argument(2))->inherits(&JSArrayBuffer::s_info))))) return jsWebGLRenderingContextPrototypeFunctionBufferSubData1(exec); if ((exec->argumentCount() == 3 && (exec->argument(2).isNull() || (exec->argument(2).isObject() && asObject(exec->argument(2))->inherits(&JSArrayBufferView::s_info))))) return jsWebGLRenderingContextPrototypeFunctionBufferSubData2(exec); return throwVMTypeError(exec); } This could be a lot more efficient (no need for all those calls to argumentCount() and argument().)
Attachments
Proposed patch
(7.10 KB, patch)
2011-05-26 11:04 PDT
,
Andreas Kling
no flags
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Andreas Kling
Comment 1
2011-05-26 11:04:22 PDT
Created
attachment 95006
[details]
Proposed patch
Andreas Kling
Comment 2
2011-05-26 11:05:29 PDT
For reference, same function after this patch: EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionBufferSubData(ExecState* exec) { size_t argsCount = exec->argumentCount(); JSValue arg2(exec->argument(2)); if ((argsCount == 3 && (arg2.isNull() || (arg2.isObject() && asObject(arg2)->inherits(&JSArrayBuffer::s_info))))) return jsWebGLRenderingContextPrototypeFunctionBufferSubData1(exec); if ((argsCount == 3 && (arg2.isNull() || (arg2.isObject() && asObject(arg2)->inherits(&JSArrayBufferView::s_info))))) return jsWebGLRenderingContextPrototypeFunctionBufferSubData2(exec); return throwVMTypeError(exec); }
Geoffrey Garen
Comment 3
2011-05-26 11:08:48 PDT
Comment on
attachment 95006
[details]
Proposed patch r=me
Andreas Kling
Comment 4
2011-05-26 12:25:13 PDT
Comment on
attachment 95006
[details]
Proposed patch Clearing flags on attachment: 95006 Committed
r87412
: <
http://trac.webkit.org/changeset/87412
>
Andreas Kling
Comment 5
2011-05-26 12:25:21 PDT
All reviewed patches have been landed. Closing bug.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug