Add IfElseNode and IfNoElseNode for speedup This would avoid a branch in each, causing a win for SunSpider.
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(-)
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.
I'm still convinced this will be a win. I'll test it again after darin's final patch for bug 16471 lands.
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(-)
Comment on attachment 18018 [details] Split IfElseNode from IfNode for speedup r=me
r28929