( asch | 2020. 12. 03., cs – 08:22 )

Igen, működik abban az értelemben, hogy elindul és minden rendben látszik. Ameddig éppen egy rosszul megírt program egy versenyhelyzet miatt nem fut hibára. Olvass utána ennek az issue-nak létezik, és ha a szálat végigolvasnád, le van írva, hogy ez ismert probléma és még HW feature-t is fejlesztettek miatta.

Az is igaz, hogy ha valaki betartja a Java memory modellt és csak annak a garanciáira épít, akkor helyesen fog működni a programja ARM-eken is. Csak sajnos a valóság programjai nem mind ilyenek, hadd ne mondjam a legtöbb fejlesztő azt sem tudja, hogy ezek a dolgok léteznek, nem hogy betartaná a szabályaikat.

Na most ez hasonló probléma az összes ilyen specifikáción kívüli programokból adódó inkompatibilitáshoz: végsősoron a program a hibás, de a user csak azt fogja látni, hogy ARM-en nem működik, tehát az ARM a szar. Ráadásul javítani csillió pénzekbe kerülne az összes ilyen összehányt szutykot, ezért marad az x86 még jó darabig.

Kb 1 éve nézegettem cikkeket arról, hogy hol áll a Java on ARM, és abban a cikkben is említették ezt a problémát, hogy a Java is érintett ebben az issue-ban - igaz csak a rosszul megírt programok, de ezek x86-on tökéletesen működnek!