sh4 backend of LLINT is broken since C stack merge. Specific parts are missing since http://trac.webkit.org/changeset/167094 too.
Created attachment 229122 [details] Fix sh4 LLINT
Comment on attachment 229122 [details] Fix sh4 LLINT View in context: https://bugs.webkit.org/attachment.cgi?id=229122&action=review > Source/JavaScriptCore/offlineasm/instructions.rb:296 > + "alignFormova", nit: This looks weird. I suggest either renaming this to alignformova, or alignForMova or alignForMovA.
Created attachment 229134 [details] Fix sh4 LLINT (with consistent letter casing)
Comment on attachment 229134 [details] Fix sh4 LLINT (with consistent letter casing) r=me
Committed r167127: <http://trac.webkit.org/changeset/167127>
Comment on attachment 229134 [details] Fix sh4 LLINT (with consistent letter casing) View in context: https://bugs.webkit.org/attachment.cgi?id=229134&action=review > Source/JavaScriptCore/llint/LowLevelInterpreter.asm:721 > + mova _relativePCBase, t0 > + move t0, pcBase Why can't you just mova _relativePCBase directly into pcBase? > Source/JavaScriptCore/offlineasm/sh4.rb:1032 > + $asm.puts ".balign 4" If the .balign has to fill, is the '0' fill going to be a nop? You may want to explicitly mention that with a comment.
(In reply to comment #6) > Why can't you just mova _relativePCBase directly into pcBase? Unfortunately, r0 is the only allowed dest register for the mova opcode. > If the .balign has to fill, is the '0' fill going to be a nop? You may want to explicitly mention that with a comment. Yes, as the .balign directive is put in a section containing code, no-op instructions are used as fill value instead of 0. I found a way to use SubImmediates with sh4 const pool, so the sh4 arch can share the arm path for setEntryAddress. I'm going to file a new bug with this implementation, and I'll add a comment for .balign in it.
Created bugzilla: https://bugs.webkit.org/show_bug.cgi?id=131608