Search
lxdream.org :: lxdream/src/sh4/sh4x86.in :: log
lxdream 0.9.1
released Jun 29
Download Now
filename src/sh4/sh4x86.in
changeset936:f394309c399a
authornkeynes
dateSat Dec 27 02:59:35 2008 +0000 (15 years ago)
permissions-rw-r--r--
last changeReplace fpscr_mask/fpscr flags in xlat_cache_block with a single xlat_sh4_mode,
which tracks the field of the same name in sh4r - actually a little faster this way.
Now depends on SR.MD, FPSCR.PR and FPSCR.SZ (although it doesn't benefit from the SR
flag yet).

Also fixed the failure to check the flags in the common case (code address returned
by previous block) which took away the performance benefits, but oh well.
file annotate diff log rss
936:f394309c399a15 yearsnkeynesReplace fpscr_mask/fpscr flags in xlat_cache_block with a single xlat_sh4_mode, lxdream-mem
930:07e5b11419db15 yearsnkeynesRemove pointer cache and add full address-space map. Much better lxdream-mem
929:fd8cb0c82f5f15 yearsnkeynesFirst pass experiment using cached decoding. lxdream-mem
927:17b6b9e245d815 yearsnkeynesAdd return-address-modifying exception return code to mmu TLB lookups (a little bit faster)
926:68f3e0fe02f115 yearsnkeynesSetup a 'proper' stackframe in translated blocks. This doesn't affect performance noticeably,
911:2f6ba75b84d115 yearsnkeynesDeclare mem_copy_* functions as FASTCALL
908:a00debcf260015 yearsnkeynesFix x86-64 build (typos et al)
905:4c17ebd9ef5e15 yearsnkeynesUse regparam calling conventions for all functions called from translated code,
904:5b92e51ac06b15 yearsnkeynesEnable the FIPR SSE3 code for now, and add a comment on the sh4r.fr alignment
903:1337c7a7dd6b15 yearsnkeynesAdd SSE3 versions of FIPR and FTRV - the latter is about a 4.5% improvement
901:32c5cf5e206f15 yearsnkeynesMove the precision/size tests to translation-time rather than execution-time,
879:a07af43e03c415 yearsnkeynesFix corner flag case with conditional delayed branches
875:2147174fb32015 yearsnkeynesFix a few more subtle flag problems
872:a3041742bb7d15 yearsnkeynesFix CLRS/SETS - These kill the carry value, they don't set it.
824:016cda9d051815 yearsnkeynesCorrect generated UNDEF() => UNDEF(ir) for consistency with UNIMP(ir)
800:0d1be79c9b3315 yearsnkeynesFix x86-64 bugs (only visible on OS X)
789:7e7ec23217fc15 yearsnkeynesFix 64-bit correctness in ptr loads in FTRC
733:633ee022f52e15 yearsnkeynesBug 60: Fix off-by-one in recovery list size
732:f05753bbe72315 yearsnkeynesFix alignment check for 64-bit FMOVs
675:b97020f9af1c15 yearsnkeyneshange 64-bit configuration to use sizeof(void *) rather than the system id
673:44c579439d7315 yearsnkeynesCount fpscr ops separately from other LDS/STS instructions
671:a530ea88eebd15 yearsnkeynesPermanently add SH4 instruction statistics tracking (enabled with --enable-sh4stats)
669:ab344e42bca915 yearsnkeynesCleanup most of the -Wall warnings (getting a bit sloppy...)
626:a010e30a30e916 yearsnkeynesFix LDS/STS to FPUL/FPSCR to check the FPU disabled bit. Fixes
604:1024c3a9cb8816 yearsnkeynesFix backpatching when the block moves during translation
601:d8d1af0d133c16 yearsnkeynesInvoke emulator single-step for untranslatable delay slots (and fix a few
596:dfc0c93d882e16 yearsnkeynesFix MAC.L/MAC.W stack issues
593:6c710c7c683516 yearsnkeynesFix block overruns from long epilogues
591:7b9612fd239516 yearsnkeynesAdd flag to skip breakpoints when it's the very first instruction of a run
590:4db6a084ca3c16 yearsnkeynesEnsure PC correctness in presence of delay-slot exceptions
586:2a3ba82cf24316 yearsnkeynesMerged lxdream-mmu r570:596 to trunk
584:5c29dd7297df16 yearsnkeynesRemove sh4_read_word accidentally left in lxdream-mmu
577:a181aeacd6e816 yearsnkeynesRemove asm file and convert to inline (easier to cope with platform conventions) lxdream-mmu
571:9bc09948d0f216 yearsnkeynesMore MMU work in progess. Much better now... lxdream-mmu
570:d2893980fbf516 yearsnkeynesChange to generate different code for mmu on/off cases lxdream-mmu
569:a1c49e1e877616 yearsnkeynesBring icache partially into line with the mmu, a little less slow with AT off lxdream-mmu
561:533f6b47807116 yearsnkeynesEnable Id keyword on all source files lxdream-mmu
559:06714bc6427116 yearsnkeynesCommit first pass at full TLB support - still needs a lot more work lxdream-mmu
553:4e6166258c2216 yearsnkeynesFix immediate call to MMU_ldtlb (braino...) lxdream_0_8_2
550:a27e3134014716 yearsnkeynesAdd support for the MMIO side of the TLB (and LDTLB)
547:d6e00ffc4adc16 yearsnkeynesFix stack alignment on x86-64
539:75f3e594d4a716 yearsnkeynesAdd support for the darwin ABI
533:9764673fd4a516 yearsnkeynesFix TRAPA (translator) and add test case
532:43653e74803016 yearsnkeynesFix PREF for x86-64, add load_ptr macro
527:14c9489f647e16 yearsnkeynesx86-64 translator work-in-progress
526:ba3da45b575416 yearsnkeynesDon't build the translator if the architecture is unsupported. Also tidy things up a little to allow (theoretically) different translators to be selected at build time.
502:c4ecae2b1b5e16 yearsnkeynesAdd sh4ptr_t type, start converting bare pointer refs to it
417:bd927df302a916 yearsnkeynesSuppress redundant T flag loads
416:714df603c86916 yearsnkeynesRemove INC %esi (and esi in general), replace with load immediates (faster)
409:549e0083544816 yearsnkeynesModify termination again to allow early exit (eg on end-of-page), as well
408:af496b73473416 yearsnkeynesChange block signature to return pointer to next block (if known)
401:f79327f3981816 yearsnkeynesMove support routines to sh4.c
397:64032450532516 yearsnkeynesFix SHLL/SHLR/SHAL/SHAR flag setting
395:c473acbde18616 yearsnkeynesAdd alignment checks to LDC.L/STC.L/LDS.L/STS.L
394:7eb172bfeefe16 yearsnkeynesFix SUBC (not updating T), FTRC (not truncating), and XTRCT (just b0rked)
388:13bae2fb037316 yearsnkeynesMore fixes and complete missing instructions
386:6fb10951326a16 yearsnkeynesImplement MAC.W, MAC.L and DIV1
382:fce3f4da92ab16 yearsnkeynesFix exception handling
381:aade6c9aca4d16 yearsnkeynesFix default block return value
380:2e8166bf683216 yearsnkeynesFix load_spreg/store_spreg
.