[Vm-dev] [OpenSmalltalk/opensmalltalk-vm] Mixed SmallInteger/Float comparison is inexact in Spur64 when jitted (#417)

Eliot Miranda notifications at github.com
Mon Aug 26 22:29:10 UTC 2019


Hi Nicolas,

    I apologize for not having noticed this issue until now.  As far as writing the tests so that the JIT code will be run, you can either write the test recursively, e.g.

fooTest
    self fooTest: 0

fooTest: n
    n < 2 ifTrue: [^self fooTest: n + 1]. "Make sure method is JITTED"
   ...

or run the tests in a block and make sure the block is repeated, say, 10 times.  There is a secret primitive in the VM one can use to test for JITTED ness.  See Context>>X-ray in Cog-Tests.  If you need this in the KernelTests then you can add it as an extension.

xray
	"Lift the veil from a context and answer an integer describing its interior state.
	 Used for e.g. VM tests so they can verify they're testing what they think they're testing.
	 0 implies a vanilla heap context.
	 Bit 0 = is or was married to a frame
	 Bit 1 = is still married to a frame
	 Bit 2 = frame is executing machine code
	 Bit 3 = has machine code pc (as opposed to nil or a bytecode pc)
	 Bit 4 = method is currently compiled to machine code"
	<primitive: 213>
	^0 "Can only fail if unimplemented; therefore simply answer 0"

-- 
You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/417#issuecomment-525057991
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20190826/e688ff36/attachment.html>


More information about the Vm-dev mailing list