Bug 29534

Summary: SNES is too slow
Product: WebKit Reporter: Oliver Hunt <oliver>
Component: JavaScriptCoreAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: aroben, darin, jon, loki
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: PC   
OS: OS X 10.5   
URL: http://benfirshman.com/projects/jsnes/
Attachments:
Description Flags
Patch v1
none
Patch v1 none

Oliver Hunt
Reported 2009-09-20 21:13:26 PDT
The SNES emulator at http://benfirshman.com/projects/jsnes/ runs to slowly for me to play games instead of working. rdar://7231790
Attachments
Patch v1 (17.30 KB, patch)
2009-09-20 21:36 PDT, Oliver Hunt
no flags
Patch v1 (17.24 KB, patch)
2009-09-20 22:15 PDT, Oliver Hunt
no flags
Oliver Hunt
Comment 1 2009-09-20 21:36:53 PDT
Created attachment 39839 [details] Patch v1
Maciej Stachowiak
Comment 2 2009-09-20 21:57:13 PDT
Comment on attachment 39839 [details] Patch v1 Idea looks good, but there are some errors where it does isCachedDictionary() where a cacheable non-dictionary should be allowed too. Discussed w/ oliver, waiting for new patch
Oliver Hunt
Comment 3 2009-09-20 22:15:23 PDT
Created attachment 39840 [details] Patch v1
Maciej Stachowiak
Comment 4 2009-09-20 22:36:07 PDT
Comment on attachment 39840 [details] Patch v1 r=me
Oliver Hunt
Comment 5 2009-09-20 22:42:40 PDT
Committed r48573
Jon
Comment 6 2009-09-21 02:22:04 PDT
While this patch improved performance on my Quad G5 running 10.5.8, only from 4fps to ~6fps running Super Mario. I take it this fix mostly helped Intel machines?
Gabor Loki
Comment 7 2009-09-21 06:08:55 PDT
The landed patch breaks Qt-linux port in Debug mode on x86 and ARM as well. In Release there is not any regression. $> WebKitBuild/Debug/JavaScriptCore/jsc JavaScriptCore/tests/mozilla/ecma/shell.js JavaScriptCore/tests/mozilla/ecma/Array/15.4-1.js ASSERTION FAILED: !structure->isDictionary() (../../../JavaScriptCore/runtime/Structure.cpp:559 static WTF::PassRefPtr<JSC::Structure> JSC::Structure::toDictionaryTransition(JSC::Structure*, JSC::Structure::DictionaryKind))
Adam Roben (:aroben)
Comment 8 2009-09-21 07:45:49 PDT
Comment on attachment 39840 [details] Patch v1 I reverted this patch in r48580, as it caused many assertion failures (see comment 7 and bug 29554).
Adam Roben (:aroben)
Comment 9 2009-09-21 07:46:10 PDT
*** Bug 29554 has been marked as a duplicate of this bug. ***
Oliver Hunt
Comment 10 2009-09-21 09:57:59 PDT
Relanded in r48582
Darin Adler
Comment 11 2009-09-21 14:53:20 PDT
(In reply to comment #6) > While this patch improved performance on my Quad G5 running 10.5.8, only from > 4fps to ~6fps running Super Mario. I take it this fix mostly helped Intel > machines? Yes, helps machines with the JIT turned on a lot more than machines where the interpreter is used. The JIR is on for Intel but also ARM, for example.
Note You need to log in before you can comment on or make changes to this bug.