English Amiga Board

English Amiga Board (https://eab.abime.net/index.php)
-   support.FS-UAE (https://eab.abime.net/forumdisplay.php?f=122)
-   -   FS-UAE / WinUAE x86-64 JIT Compiler (https://eab.abime.net/showthread.php?t=79762)

FrodeSolheim 11 December 2016 23:55

The JIT engine of ARAnyM (which is based on the UAE one, and closely related to the JIT engine in FS-UAE/WinUAE) supports ARM. However, some UAE specific JIT code (which is not present in ARAnyM) would need to be written for ARM. I'm not currently working on this (and neither am I currently using FS-UAE on ARM).

Solskogen 14 December 2016 07:33

I understand why. FS-UAE on my RPi3 is damn slow.
But it is working very nicely on the Lattepanda!

emufan 14 December 2016 18:02

i get some freezes with Caligari Broadcast. loading an object, skip through the object
hierarchy and emulation is frozen, right after JIT disable, emulation continues.
those halts do occour on differnt occasion, but this example below, one can easily reproduce.

zoned:CaligariBR-freezes.with.JIT.enabled.lha

- tests done with basic a1200 030/882 wb/kick 3.x - standard jit settings. 2mb chip/128+mb fast z3, fastest possible
winuae 3.4b19 (32 bit & 64bit) , 3.2.0 (32bit) and 3.1.0 (32bit).

- in 3.1.0 you could make it freeze, when using the cursor keys (see below),
using the mouse and move around in workspace, is a bit more stable.

#1) extract anywhere - start Caligari-Assigns. next start Caligari.

#2) at start-screen -> select scene design
#3) select AddObj (buttom-center of screen) - choose folder Objects3 -> B747 -> click LOAD, then DONE

#4) hold left mouse and move around, it should freeze after a moment.
#5) or use the cursor keys - up/down/left/ right - it should jump through the object tree

once frozen - nothing happens when moving mouse/push cursor key -> goto config
and disable JIT -> emulation continues.

this behavior is special to Caligari, happens in older versions too, but cannot remember exactly.
Caligari040 is the 68040 version of Caligari Broadcast,
Caligari372 - is somehow fake version of Caligari24 (just skip this, crashes here- I forgot to delete)

i hope you can reproduce this, since its really annoying, when using the app :)

jbl007 14 December 2016 18:51

Quote:

Originally Posted by emufan (Post 1128299)
zoned:CaligariBR-freezes.with.JIT.enabled.lha

I tested different settings and I couldn't get it to freeze. And I never had any problems with jit + updated icon.library. I guess I'm doing something wrong. :)

emufan 14 December 2016 19:17

thanks for testing, but that's not what I wanted to hear - damn :D
i'm using here PeterK's icon.library too, thats the only special thing in my basic a1200 config
on wb/kick 3.1.

within caligary, you see the wireframe model of the b747?, holding left mouse, you get the moving box?
and after releasing the mouse it redraws the model?

i have to move for some seconds holding the left mouse, to make it stop. little green cross-cursor just stops,
sometimes you get the buzy clock., not moving either.

move the object (left mouse) -> redraw -> left mouse move -> redraw, for a couple of times.
spin the object box for some second and while redrawing move again.
it does still freezes here, hmmm.

i dont get those jit halts with other applications, so it is somehow connected with caligari.
hmm, lets see what others report :spin

jbl007 14 December 2016 19:50

Quote:

Originally Posted by emufan (Post 1128317)
within caligary, you see the wireframe model of the b747?, holding left mouse, you get the moving box?
and after releasing the mouse it redraws the model?

Yes, exactly.

What CPU do you have? Perhaps it is just too fast for this prog. Try to set the cpu speed slider some ticks to the left and see if this works.

BTW: The reason why i mentioned icon.library is this thread:
http://eab.abime.net/showthread.php?t=84876

emufan 14 December 2016 20:08

Quote:

BTW: The reason why i mentioned icon.library is this thread:
http://eab.abime.net/showthread.php?t=84876
i saw that report, but i have no such problems.


Quote:

Originally Posted by jbl007 (Post 1128322)
Yes, exactly.
What CPU do you have? Perhaps it is just too fast for this prog. Try to set the cpu speed slider some ticks to the left and see if this works.

this is indeed the trouble maker. good guess, thanks. :cool
jit + full to right gives freezes --- jit+full left --> no problems, but slower.
i never ever played with that slider. so the solutions is to find a slider position, fast enough, but not make caligari freeze.

--> just one step to the left seems enough to make caligari _not_ freezing anymore :spin
cpu display says 95-98% usage, compared to static 100% in the full right postion.
thats not soo much slower, but is more fun now, using this application.

i have a phenom II X4 955 3.2 ghz. not crazy fast, so i would prefer the slider most to the right :)

BastyCDGS 03 February 2017 16:07

Hi!

I'd be interesting in a JIT for 24-bit addressing modes (68000 and 68EC020).

The reason is the following:
I'm using GFA-BASIC for RPG game development.
However, on original 68k speeds it takes ages to compute the actions of AI controlled characters / monsters when started from the interpreter (up to multiple minutes for a single action decision for a high level wizard).

The GFA-BASIC Interpreter doesn't work with true 32-bit addressing CPU's, hence I can't use it with JIT.
If I compile, it works at reasonable speed as well as on true 32-bit addressing CPU's, but it's wasting a lot of time.

I don't need maximum CPU compatibility or something like that. So using current JIT and doing something like the following in indrect mode is enough for me:
AND EAX,0FFFFFFh (with EAX being the address being accessed).

68000 itself is not really needed, 68EC020 is enough.

Can this be done easily? Thanks very much in advance!

jbl007 08 November 2017 17:54

For some reason I lost the ability to get jit direct memory working on my Arch linux systems. I need to set
uae_comp_trustword=indirectks
and
uae_comp_trustlong=indirectks
"trustbyte" and "trustnadd" direct is ok. Speed loss is about 10%, not really a big deal, but I'm curious what's wrong here.
To be more precise: new compiled versions crash on start, old compiled versions still work. It must be some system upgrade, that broke it, gcc/libc... whatever.
So the question is: do other bleeding edge distros (e.g. Fedora, Gentoo) have this problem as well and can it be fixed?

Enverex 08 November 2017 18:12

For anyone wondering: It still segfaults on 64bit for me. Just trying with -no-pie now to see if that workaround still works.

EDIT: Still fails even with -no-pie now - "Segmentation fault (core dumped)". Works fine using jbl's uae_comp_* values above.

jbl007 08 November 2017 19:15

Quote:

Originally Posted by Enverex (Post 1198036)
Still fails even with -no-pie

Didn't help here either.

I downgraded lib32-gcc-libs, gcc-libs-multilib, gcc-multilib (7.2.0-1 -> 6.3.1-2) - no luck. It must be something else.

FrodeSolheim 12 December 2017 16:30

I can confirm that something has changed; direct memory access no longer works with Ubuntu 17.10 either. Could be related to new instruction usage which must be handled by the direct memory exception handler.

Workaround for now is to use --jit-memory=indirect.

FrodeSolheim 12 December 2017 17:18

Problem found, the direct memory exception handler was not active at all due to "struct ucontext" having been changed to "struct ucontext_t" in recent glibc versions.

I've added support for struct ucontext_t and code is available in git:
https://github.com/FrodeSolheim/fs-u...381efa03dd73d5

Fix will be included in the next development release :)

jbl007 15 December 2017 15:39

Quote:

Originally Posted by FrodeSolheim (Post 1205628)
the direct memory exception handler was not active at all

Ah, that also explains why there wasn't any sign of jit related output in the log file.
Now it works again. Thanks Frode. :great

Foul 30 March 2018 15:43

Don't know if it can affect WinUAE : http://eab.abime.net/showthread.php?p=1231156


All times are GMT +2. The time now is 10:36.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.

Page generated in 0.05103 seconds with 11 queries