[Webkit-unassigned] [Bug 30144] MIPS JIT Supports
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Tue Feb 23 12:55:02 PST 2010
https://bugs.webkit.org/show_bug.cgi?id=30144
--- Comment #42 from Gabor Loki <loki at webkit.org> 2010-02-23 12:55:00 PST ---
Some style issues... (please check the style bot)
Tests for true/false, null/non-null, and zero/non-zero should all be done
without equality comparisons. For example:
>+ ASSERT(*(insn - 1) == 0 && *(insn - 2) == 0 && *(insn - 3) == 0 && *(insn - 5) == 0);
or
>+ if (!imm.m_isPointer && imm.m_value == 0 && !m_fixedWidth)
>+ void lshift32(RegisterID shift_amount, RegisterID dest)
>+ {
>+ m_assembler.sllv(dest, dest, shift_amount);
>+ }
Do not use '_' in your variable names!
Some other issues...
Well, it would be nice if you define a new macro which can hold the instruction
set architecture value and an other one which can test the requested
instruction set. For example.:
#define WTF_MIPS_ARCH __mips
#define WTF_MIPS_ISA(v) (defined WTF_MIPS_ARCH && WTF_MIPS_ARCH == v)
or
#define WTF_MIPS_ISA_AT_LEAST(v) (defined WTF_MIPS_ARCH && WTF_MIPS_ARCH >= v)
Same for _ABIO32, __mips_isa_rev and others.
>+ __clear_cache(reinterpret_cast<char*>(start), reinterpret_cast<char*>(end));
>+#else
>+ intptr_t end = reinterpret_cast<intptr_t>(code) + size;
>+ __clear_cache(reinterpret_cast<char*>(code), reinterpret_cast<char*>(end));
>+#endif
Please read my comment about __clear_cache issue at
https://bugs.webkit.org/show_bug.cgi?id=28886#c35 .
(Try to avoid internal __clear_cache function)
>+#if defined(__MIPSEB__)
Use CPU(BIG_ENDIAN)!
Anyway, this patch looks good to me as well ;)
BTW, do you have some comparison data about how the JIT performs on MIPS?
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list