RESOLVED FIXED 16470
Add IfElseNode and IfNoElseNode for speedup
https://bugs.webkit.org/show_bug.cgi?id=16470
Summary Add IfElseNode and IfNoElseNode for speedup
Eric Seidel (no email)
Reported 2007-12-17 02:37:18 PST
Add IfElseNode and IfNoElseNode for speedup This would avoid a branch in each, causing a win for SunSpider.
Attachments
Split IfElseNode from IfNode for speedup (6.79 KB, patch)
2007-12-17 03:07 PST, Eric Seidel (no email)
no flags
Split IfElseNode from IfNode for speedup (6.39 KB, patch)
2007-12-20 16:14 PST, Eric Seidel (no email)
mjs: review+
Eric Seidel (no email)
Comment 1 2007-12-17 03:07:06 PST
Created attachment 17959 [details] Split IfElseNode from IfNode for speedup JavaScriptCore/ChangeLog | 22 ++++++++++++++ JavaScriptCore/kjs/grammar.y | 4 +- JavaScriptCore/kjs/nodes.cpp | 53 ++++++++++++++++++++++------------ JavaScriptCore/kjs/nodes.h | 23 +++++++++++---- JavaScriptCore/kjs/nodes2string.cpp | 10 ++++-- 5 files changed, 82 insertions(+), 30 deletions(-)
Eric Seidel (no email)
Comment 2 2007-12-17 03:22:47 PST
SunSpider claims this is slower on my machine, but I don't believe it. I think it's just too noisy to tell. Leaving it w/o review flag until I can prove otherwise however.
Eric Seidel (no email)
Comment 3 2007-12-20 04:54:19 PST
I'm still convinced this will be a win. I'll test it again after darin's final patch for bug 16471 lands.
Eric Seidel (no email)
Comment 4 2007-12-20 16:14:06 PST
Created attachment 18018 [details] Split IfElseNode from IfNode for speedup JavaScriptCore/ChangeLog | 25 +++++++++++++++++++++++ JavaScriptCore/kjs/grammar.y | 4 +- JavaScriptCore/kjs/nodes.cpp | 37 +++++++++++++++++++++------------- JavaScriptCore/kjs/nodes.h | 22 +++++++++++++++----- JavaScriptCore/kjs/nodes2string.cpp | 10 ++++++-- 5 files changed, 73 insertions(+), 25 deletions(-)
Maciej Stachowiak
Comment 5 2007-12-20 16:23:42 PST
Comment on attachment 18018 [details] Split IfElseNode from IfNode for speedup r=me
Eric Seidel (no email)
Comment 6 2007-12-20 23:21:42 PST
Note You need to log in before you can comment on or make changes to this bug.