English Amiga Board


Go Back   English Amiga Board > Requests > request.UAE Wishlist

 
 
Thread Tools
Old 16 July 2014, 07:51   #21
rlake
Hittin' the hardware...

rlake's Avatar
 
Join Date: Feb 2002
Location: Mountain View, CA
Age: 38
Posts: 129
Oh, interesting... Ex-Transitive guy here!

A quick take on GCCJIT and QEMU TCG is that they're very basic for the purpose of replacing the UAE JIT and GCC is just heavyweight. If the motivation was to simply compile and run under x86_64 then sticking to the same i386 subset could be far more manageable as there are only a few common problems here such as default size of data pushed to stack, removed instructions (maybe not even applicable); far from a rewrite to port the ABI. I've taken a look at the UAE sources and it's fairly parseable to me but alas I'm likely encumbered.
rlake is offline  
AdSense AdSense  
Old 30 January 2018, 16:05   #22
bernd roesch
Registered User
 
Join Date: Apr 2012
Location: germany
Posts: 124
replace the JIT is not easy. The main problem is that the JIT must check every branch command if a new amiga chipset event need execute.

this cost lots time.

because the problem with X86 is that the CPU flag register need stay correct . and when do the X86 asm commands that check if a new chipset event occur, this register is trash when it is not save.
so the JIT code contain a commands pushf popf. this save and restore teh flags. The problem with this 2 commands is that they need more time than only 1 clock cycle. I think popf/pushf each use 10 X86 clock cycles

https://en.wikipedia.org/wiki/FLAGS_register

so short loops in 68k get very slow for example

loop clr.l (a1)
subq #1, d0
bne.s loop

every time the bne is execute the JIt add code to check if a chipset event happen. (sound, dma, keyboard, mouse CIA)

now we have 2018 with AVX and virtualisation extenstions in CPU, but i did not know if there is a way that the JIT can add some X86 commands to check for chipset events, and the flag Register of X86 is not trash

If AVX or SSE have own flag register and a value compare do not change normal X86 flag register then can avoid that pushf and popf need use and so speed up much
bernd roesch is offline  
AdSense AdSense  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
FS-UAE - Why it have no JIT? nexusle support.FS-UAE 19 13 May 2012 13:39
JIT error Thom87 support.WinUAE 6 05 October 2008 20:38
Jit Error CPC464 support.WinUAE 0 19 August 2002 12:12
JIT problem Unregistered support.WinUAE 0 19 July 2002 06:00
JIT Emulation Doozy support.WinUAE 2 17 January 2002 07:14

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 22:40.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2018, vBulletin Solutions Inc.
Page generated in 0.05561 seconds with 13 queries