I'll submit a DFG_JIT implementation proposal for sh4 architecture soon.
Created attachment 208618 [details] DFG_JIT implementation for sh4 architecture I've tested this patch on my sh4 board using r153882 and I didn't see regressions when running - Tools/Scripts/run-javascriptcore-tests - Tools/Scripts/run-fast-jsc - SunSpider 1.0 SunSpider 1.0 results on r153882 without this patch: ============================================ RESULTS (means and 95% confidence intervals) -------------------------------------------- Total: 13166.3ms +/- 0.2% -------------------------------------------- 3d: 2706.3ms +/- 0.5% cube: 837.8ms +/- 0.6% morph: 539.2ms +/- 0.7% raytrace: 1329.3ms +/- 0.7% access: 1905.7ms +/- 0.1% binary-trees: 114.2ms +/- 2.7% fannkuch: 1148.7ms +/- 0.4% nbody: 455.2ms +/- 1.0% nsieve: 187.7ms +/- 0.3% bitops: 1031.2ms +/- 0.4% 3bit-bits-in-byte: 78.2ms +/- 0.5% bits-in-byte: 111.2ms +/- 0.4% bitwise-and: 196.0ms +/- 0.0% nsieve-bits: 645.8ms +/- 0.6% controlflow: 74.0ms +/- 0.0% recursive: 74.0ms +/- 0.0% crypto: 1165.7ms +/- 1.3% aes: 666.2ms +/- 1.9% md5: 317.5ms +/- 1.1% sha1: 182.0ms +/- 2.0% date: 2085.0ms +/- 1.1% format-tofte: 925.7ms +/- 1.2% format-xparb: 1159.3ms +/- 1.3% math: 850.2ms +/- 1.1% cordic: 248.8ms +/- 3.8% partial-sums: 343.8ms +/- 2.7% spectral-norm: 257.5ms +/- 1.2% regexp: 531.0ms +/- 0.8% dna: 531.0ms +/- 0.8% string: 2817.3ms +/- 0.5% base64: 218.2ms +/- 0.5% fasta: 446.3ms +/- 3.2% tagcloud: 560.0ms +/- 1.1% unpack-code: 1255.2ms +/- 1.0% validate-input: 337.7ms +/- 2.2% SunSpider 1.0 results on r153882 with this patch: ============================================ RESULTS (means and 95% confidence intervals) -------------------------------------------- Total: 10122.6ms +/- 0.2% -------------------------------------------- 3d: 2440.8ms +/- 0.2% cube: 899.0ms +/- 0.3% morph: 278.5ms +/- 0.6% raytrace: 1263.3ms +/- 0.2% access: 882.0ms +/- 0.3% binary-trees: 106.5ms +/- 1.6% fannkuch: 289.3ms +/- 0.5% nbody: 335.9ms +/- 0.7% nsieve: 150.3ms +/- 0.7% bitops: 335.5ms +/- 0.6% 3bit-bits-in-byte: 29.2ms +/- 1.0% bits-in-byte: 74.6ms +/- 1.8% bitwise-and: 79.2ms +/- 0.4% nsieve-bits: 152.5ms +/- 0.9% controlflow: 96.1ms +/- 0.2% recursive: 96.1ms +/- 0.2% crypto: 886.4ms +/- 0.3% aes: 464.9ms +/- 0.6% md5: 251.0ms +/- 0.7% sha1: 170.5ms +/- 0.7% date: 1512.6ms +/- 0.4% format-tofte: 780.6ms +/- 0.7% format-xparb: 732.0ms +/- 0.7% math: 589.3ms +/- 0.4% cordic: 148.5ms +/- 0.3% partial-sums: 314.9ms +/- 0.6% spectral-norm: 125.9ms +/- 0.2% regexp: 529.1ms +/- 0.4% dna: 529.1ms +/- 0.4% string: 2850.8ms +/- 0.7% base64: 189.2ms +/- 0.9% fasta: 402.9ms +/- 0.9% tagcloud: 541.1ms +/- 0.6% unpack-code: 1323.1ms +/- 1.0% validate-input: 394.5ms +/- 1.5%
Comment on attachment 208618 [details] DFG_JIT implementation for sh4 architecture I cq- because I just saw that this patch introduces a regression (crash) in v8-v4 test suite. However, I'd still be happy to get feedbacks on this patch, especially the "SH4_32BIT_DUMMY_ARG" part introduced in DFGSpeculativeJIT.h.
Created attachment 208642 [details] DFG_JIT implementation for sh4 architecture I've tested this patch on my sh4 board using r153999 and I didn't see regressions when running - Tools/Scripts/run-javascriptcore-tests - Tools/Scripts/run-fast-jsc - SunSpider 1.0 - v8-v4 test suite v8-v4 test suite results on r153999 without this patch: ============================================ RESULTS (means and 95% confidence intervals) -------------------------------------------- Total: 74696.0ms +/- 11.7% -------------------------------------------- v8: 74696.0ms +/- 11.7% crypto: 13296.7ms +/- 1.4% deltablue: 21649.7ms +/- 17.6% earley-boyer: 6108.0ms +/- 7.4% raytrace: 7092.7ms +/- 7.3% regexp: 6166.3ms +/- 1.2% richards: 15396.0ms +/- 43.9% splay: 4986.7ms +/- 6.6% v8-v4 test suite results on r153999 with this patch: ============================================ RESULTS (means and 95% confidence intervals) -------------------------------------------- Total: 36705.7ms +/- 0.7% -------------------------------------------- v8: 36705.7ms +/- 0.7% crypto: 4592.0ms +/- 0.5% deltablue: 7425.7ms +/- 1.6% earley-boyer: 4113.3ms +/- 0.2% raytrace: 5562.7ms +/- 1.1% regexp: 7486.7ms +/- 0.1% richards: 4316.7ms +/- 1.4% splay: 3208.7ms +/- 9.5%
Comment on attachment 208618 [details] DFG_JIT implementation for sh4 architecture Separate out the llint changes into a separate patch (it will jus take it easier to be sure a regression was not introduced by those vs. the dfg. Similarly there's a lot of assembler changes that look like they should be safe on there own (separate tom this patch)
Comment on attachment 208642 [details] DFG_JIT implementation for sh4 architecture (In reply to comment #4) > Separate out the llint changes into a separate patch (it will jus take it easier to be sure a regression was not introduced by those vs. the dfg. Similarly there's a lot of assembler changes that look like they should be safe on there own (separate tom this patch) Thanks. So I'm going to separate this patch in 3 parts: LLINT, MacroAssembler not related to the DFG then the DFG.
LLINT part: https://bugs.webkit.org/show_bug.cgi?id=119755
Baseline JIT part: https://bugs.webkit.org/show_bug.cgi?id=119758
Created attachment 208707 [details] DFG_JIT implementation for sh4 architecture (after split)
Comment on attachment 208707 [details] DFG_JIT implementation for sh4 architecture (after split) Rejecting attachment 208707 [details] from commit-queue. Failed to run "['/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch', '--status-host=webkit-queues.appspot.com', '--bot-id=webkit-cq-03', 'build', '--no-clean', '--no-update', '--build-style=release', '--port=mac']" exit_code: 2 cwd: /Volumes/Data/EWS/WebKit Last 500 characters of output: ilure) Failed to run "['Tools/Scripts/build-webkit', '--release']" exit_code: 65 Process.sb make: *** wait: No child processes. Stop. make: *** Waiting for unfinished jobs.... make: *** wait: No child processes. Stop. Command /bin/sh failed with exit code 2 ** BUILD FAILED ** The following build commands failed: PhaseScriptExecution "Generate Derived Sources" "/Volumes/Data/EWS/WebKit/WebKitBuild/WebKit2.build/Release/Derived Sources.build/Script-C0CE72841247E66800BC0EC4.sh" (1 failure) Full output: http://webkit-queues.appspot.com/results/1464096
Comment on attachment 208707 [details] DFG_JIT implementation for sh4 architecture (after split) Mac bot looks sick today :-/
Comment on attachment 208707 [details] DFG_JIT implementation for sh4 architecture (after split) Clearing flags on attachment: 208707 Committed r154052: <http://trac.webkit.org/changeset/154052>
All reviewed patches have been landed. Closing bug.