[OpenSmalltalk/opensmalltalk-vm] Aarch64 integer compare bug (#<) (#571)

Next Topic
 
classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

[OpenSmalltalk/opensmalltalk-vm] Aarch64 integer compare bug (#<) (#571)

David T Lewis
 

16r80000000 < 16r8000000000000000. "==> false "

[Intel reports true]


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

<script type="application/ld+json">[ { "@context": "http://schema.org", "@type": "EmailMessage", "potentialAction": { "@type": "ViewAction", "target": "https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/571", "url": "https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/571", "name": "View Issue" }, "description": "View this Issue on GitHub", "publisher": { "@type": "Organization", "name": "GitHub", "url": "https://github.com" } } ]</script>
Reply | Threaded
Open this post in threaded view
|

Re: [OpenSmalltalk/opensmalltalk-vm] Aarch64 integer compare bug (#<) (#571)

timrowledge
 
I think "good grief" is the only polite response here...

> On 2021-06-16, at 4:47 PM, Ken Dickey <[hidden email]> wrote:
>
>
> 16r80000000 < 16r8000000000000000. "==> false "
>
> [Intel reports true]
>
> —
> You are receiving this because you are subscribed to this thread.
> Reply to this email directly, view it on GitHub, or unsubscribe.
>


tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
Strange OpCodes: BBL: Branch on Burned out Light


Reply | Threaded
Open this post in threaded view
|

Re: [OpenSmalltalk/opensmalltalk-vm] Aarch64 integer compare bug (#<) (#571)

Bruce O'Neel-2
 
Yes, but that is probably just another manifestation of the 2 raisedTo: 63 or so problem.

This is a nice test though since it shows that it is not at all in the raisedTo: code but rather a very fundemental bug.



On 2021-06-17T01:51:26.000+02:00, tim Rowledge <[hidden email]> wrote:
I think "good grief" is the only polite response here...

On 2021-06-16, at 4:47 PM, Ken Dickey <[hidden email]> wrote:


16r80000000 < 16r8000000000000000. "==> false "

[Intel reports true]


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.



tim
--
tim Rowledge; [hidden email]; www.rowledge.org/tim
Strange OpCodes: BBL: Branch on Burned out Light
Reply | Threaded
Open this post in threaded view
|

Re: [OpenSmalltalk/opensmalltalk-vm] Aarch64 integer compare bug (#<) (#571)

David T Lewis
In reply to this post by David T Lewis
 

That is indeed a great test case that might help narrow it down:

If you "debug into it" you should see that primitive 3 failed for SmallInteger, and it falls back to Integer's version of <. If it doesn't, then it's either the JIT incorrectly short-circuiting the comparison, or primitive 3 incorrectly succeeding.

If instead you do see the super send (as is the case on Intel), then it must be primitive primDigitCompare in LargeIntegers plugin.

Very much sounds like a signed/unsigned problem.


You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.

<script type="application/ld+json">[ { "@context": "http://schema.org", "@type": "EmailMessage", "potentialAction": { "@type": "ViewAction", "target": "https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/571#issuecomment-863488032", "url": "https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/571#issuecomment-863488032", "name": "View Issue" }, "description": "View this Issue on GitHub", "publisher": { "@type": "Organization", "name": "GitHub", "url": "https://github.com" } } ]</script>
Reply | Threaded
Open this post in threaded view
|

Re: [OpenSmalltalk/opensmalltalk-vm] Aarch64 integer compare bug (#<) (#571)

David T Lewis
In reply to this post by David T Lewis
 

On 2021-06-17 11:57, Vanessa Freudenberg wrote:

> That is indeed a great test case that might help narrow it down:
>
> If you "debug into it" you should see that primitive 3 failed for
> SmallInteger, and it falls back to Integer's version of <. If it
> doesn't, then it's either the JIT incorrectly short-circuiting the
> comparison, or primitive 3 incorrectly succeeding.

Tried "Debug It" + "Setp Into" in Squeak and Cuis. Both return 'false'
without interior detail.

Also same with current
~/OpenSmalltalk/oscogvm/build.linux64ARMv8/squeak.cog.spur/build
as well as the "ARMv8 BitBLT speedups provided by RPi/Ben Avison" VM.

vvv==========================vvv
Chromebook:Linux:Arm64:~/Squeak5.3 >>> squeak --version
5.0-202103220146 Sat May 22 19:42:47 PDT 2021 gcc 8 [Production Spur
64-bit VM]
CoInterpreter VMMaker.oscog-eem.2948 uuid:
935d1ee7-0e61-47a5-92e2-953224c7ffcf May 22 2021
StackToRegisterMappingCogit VMMaker.oscog-eem.2946 uuid:
461911e1-d450-4f05-8a40-7b0470487041 May 22 2021
VM: 202103220146 ***@***.***:OpenSmalltalk/Bavison
Date: Sun Mar 21 21:46:24 2021 CommitHash: d494240
Plugins: 202103220146 ***@***.***:OpenSmalltalk/Bavison
Linux penguin 5.4.99-12983-g8b7876ab9f5e #1 SMP PREEMPT Sun Feb 21
11:49:16 PST 2021 aarch64 GNU/Linux
plugin path: /usr/local/bin/../lib/squeak/5.0-202103220146 [default:
/usr/local/lib/squeak/5.0-202103220146/]
Chromebook:Linux:Arm64:~/Squeak5.3 >>>
...
Chromebook:Linux:Arm64:~/OpenSmalltalk/oscogvm/products/sqcogspur64ARMv8linuxht/lib/squeak/5.0-202106162331
>>> ./squeak --version
5.0-202106162331 Wed Jun 16 16:39:14 PDT 2021 gcc 8 [Production Spur
64-bit VM]
CoInterpreter VMMaker.oscog-eem.2967 uuid:
57b9e5f9-0212-436d-acaf-4e501e470621 Jun 16 2021
StackToRegisterMappingCogit VMMaker.oscog-eem.2953 uuid:
9f3d924e-9226-4242-9b6f-3dad93c7a837 Jun 16 2021
VM: 202106162331 ***@***.***:OpenSmalltalk/oscogvm
Date: Wed Jun 16 16:31:37 2021 CommitHash: 58e8b33db
Plugins: 202106162331 ***@***.***:OpenSmalltalk/oscogvm
Linux penguin 5.4.109-26077-g12746d86825a #1 SMP PREEMPT Mon May 17
21:46:50 PDT 2021 aarch64 GNU/Linux
plugin path:
/home/kendi3he/OpenSmalltalk/oscogvm/products/sqcogspur64ARMv8linuxht/lib/squeak/5.0-202106162331/
[default:
/home/kendi3he/OpenSmalltalk/oscogvm/products/sqcogspur64ARMv8linuxht/lib/squeak/5.0-202106162331/]

^^^==========================^^^


You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.

<script type="application/ld+json">[ { "@context": "http://schema.org", "@type": "EmailMessage", "potentialAction": { "@type": "ViewAction", "target": "https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/571#issuecomment-863531725", "url": "https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/571#issuecomment-863531725", "name": "View Issue" }, "description": "View this Issue on GitHub", "publisher": { "@type": "Organization", "name": "GitHub", "url": "https://github.com" } } ]</script>
Reply | Threaded
Open this post in threaded view
|

Re: [OpenSmalltalk/opensmalltalk-vm] Aarch64 integer compare bug (#<) (#571)

David T Lewis
In reply to this post by David T Lewis
 

Thanks for testing that. My guess then would be that the jitted code for < fails to recognize 16r8000000000000000 as being a LargeInteger (which is unlikely), or knowing it's a LargeInt but thinking it can handle the comparison quickly and failing to do so correctly.


You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.

<script type="application/ld+json">[ { "@context": "http://schema.org", "@type": "EmailMessage", "potentialAction": { "@type": "ViewAction", "target": "https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/571#issuecomment-863568544", "url": "https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/571#issuecomment-863568544", "name": "View Issue" }, "description": "View this Issue on GitHub", "publisher": { "@type": "Organization", "name": "GitHub", "url": "https://github.com" } } ]</script>
Reply | Threaded
Open this post in threaded view
|

Re: [OpenSmalltalk/opensmalltalk-vm] Aarch64 integer compare bug (#<) (#571)

David T Lewis
In reply to this post by David T Lewis
 

Has anyone built the GdbARMv8Plugin on a Raspberry Pi?


You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.

<script type="application/ld+json">[ { "@context": "http://schema.org", "@type": "EmailMessage", "potentialAction": { "@type": "ViewAction", "target": "https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/571#issuecomment-864541571", "url": "https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/571#issuecomment-864541571", "name": "View Issue" }, "description": "View this Issue on GitHub", "publisher": { "@type": "Organization", "name": "GitHub", "url": "https://github.com" } } ]</script>
Reply | Threaded
Open this post in threaded view
|

Re: [OpenSmalltalk/opensmalltalk-vm] Aarch64 integer compare bug (#<) (#571)

timrowledge
 


> On 2021-06-20, at 4:47 AM, Craig Latta <[hidden email]> wrote:
>
>
> Has anyone built the GdbARMv8Plugin on a Raspberry Pi?

Not to the best of my knowledge. I'd imagine it should work but the performance might be too slow to make it practical for anything beyond basic generate-method, disassemble etc.

tim
--
tim Rowledge; [hidden email]; http://www.rowledge.org/tim
Oxymorons: Alone together