Branch: refs/heads/Cog
Home: https://github.com/OpenSmalltalk/opensmalltalk-vm
Commit: c6c18805f2a5ba03b5ea3e765bb7fec1a2fce248
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/c6c18805f2a5ba03b5…
Author: Eliot Miranda <eliot.miranda(a)gmail.com>
Date: 2021-08-12 (Thu, 12 Aug 2021)
Changed paths:
M nsspur64src/vm/cogit.h
M nsspur64src/vm/cogitARMv8.c
M nsspur64src/vm/cogitX64SysV.c
M nsspur64src/vm/cogitX64WIN64.c
M nsspur64src/vm/cointerp.c
M nsspur64src/vm/cointerp.h
M nsspur64src/vm/gcc3x-cointerp.c
M spur64src/vm/cogit.h
M spur64src/vm/cogitARMv8.c
M spurlowcode64src/vm/cogit.h
M spurlowcode64src/vm/cogitARMv8.c
M spursista64src/vm/cogit.h
M spursista64src/vm/cogitARMv8.c
Log Message:
-----------
CogVM source as per VMMaker.oscog-eem.3034
CogARMv8Compiler: Make sure the generated cache flush code flushes the range
(startAddress to endAddress], i.e. never flush endAddress, only addresses
less than endAddress. Flushing endAddress can cause a segmentation violation
if the endAddress is on an empty page.
VM: win32x86.cog.spur (202011160746, VMMaker.oscog-eem.2887)
OS: Windows 10
SQ: Squeak6.0alpha #20077
I suppose that `Context >> #objectClass:` (primitive 111) answers `Context` from time to time. I cannot really debug it, though. Sometimes `Context >> #printOn:` does the right thing.
![grafik](https://user-images.githubusercontent.com/5765308/99515452-459d5b00-298d-11eb-93f3-a617c099a95a.png)
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/536
The linux builds are failing for a while after some re-arrangement of header order.
It happens that config.h cannot work after linux features.h, so the former should be included before the later.
An #error directive checks and protect against this case.
One possible workaround could be to move #include "config.h" ahead in a few files...
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/560
Is it possible to migrate to GitHub prereleases? Also, the badge in the README should be updated.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/564
In an FFI plugin that supports the new integer primitives, `maxVal` is wrong for unsigned types other than "uint8_t":
![grafik](https://user-images.githubusercontent.com/5765308/128748244-322f9952-c19c-4c8b-8970-290c38b04b2e.png)
This issue can be reproduced in any "FFI-Kernel" that supports those primitives such as "FFI-Kernel-mt.187" and newer:
```Smalltalk
#( int8_t uint8_t int16_t uint16_t int32_t uint32_t int64_t uint64_t )
collect: [:typeName | | type |
type := ExternalType typeNamed: typeName.
typeName -> (type minVal to: type maxVal)]
as: OrderedDictionary
```
**The older primitives "primitiveFFIIntegerAt" and "primitiveFFIIntegerAtPut" worked as expected.** The `maxVal` implementation writes single bytes but reads as much as the type demands. Here is an excerpt for the "unsigned" case:
```Smalltalk
| data bytes |
bytes := ByteArray new: self byteSize.
data := ExternalData fromHandle: bytes type: self size: 1.
bytes atAllPut: 16rFF. "Set all bits for maxVal of an unsigned integer. Uses older primitive 145."
^ data value. "-> ends up calling the new primitive in ByteArray such as uint16At:"
```
Note that "int8_t" and "uint8_t" work as expected.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/584
Branch: refs/heads/Cog
Home: https://github.com/OpenSmalltalk/opensmalltalk-vm
Commit: f86afd03a388da253aa5fb0881e497d08e3e022e
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/f86afd03a388da253a…
Author: Eliot Miranda <eliot.miranda(a)gmail.com>
Date: 2021-08-12 (Thu, 12 Aug 2021)
Changed paths:
M build.linux64ARMv8/bochsx64/conf.COG
M build.linux64ARMv8/bochsx64/conf.COG.dbg
M build.linux64ARMv8/bochsx86/conf.COG
M build.linux64ARMv8/bochsx86/conf.COG.dbg
M platforms/unix/plugins/BochsIA32Plugin/Makefile.inc
M platforms/unix/plugins/BochsX64Plugin/Makefile.inc
Log Message:
-----------
The Bochs processor plugins need -fPIC to link and run on linux. Add -fPIC for
linux64ARMv8. [ci skip]
Branch: refs/heads/Cog
Home: https://github.com/OpenSmalltalk/opensmalltalk-vm
Commit: 40b4d2a8dde448a6e067f2e8475e2cb1d489034a
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/40b4d2a8dde448a6e0…
Author: Eliot Miranda <eliot.miranda(a)gmail.com>
Date: 2021-08-10 (Tue, 10 Aug 2021)
Changed paths:
A build.linux64ARMv8/bochsx64/conf.COG
A build.linux64ARMv8/bochsx64/conf.COG.dbg
A build.linux64ARMv8/bochsx64/exploration/Makefile
A build.linux64ARMv8/bochsx64/makeclean
A build.linux64ARMv8/bochsx64/makeem
A build.linux64ARMv8/bochsx86/conf.COG
A build.linux64ARMv8/bochsx86/conf.COG.dbg
A build.linux64ARMv8/bochsx86/exploration/Makefile
A build.linux64ARMv8/bochsx86/makeclean
A build.linux64ARMv8/bochsx86/makeem
A build.linux64ARMv8/gdbarm32/clean
A build.linux64ARMv8/gdbarm32/conf.COG
A build.linux64ARMv8/gdbarm32/makeem
A build.linux64ARMv8/gdbarm64/clean
A build.linux64ARMv8/gdbarm64/conf.COG
A build.linux64ARMv8/gdbarm64/makeem
M platforms/Cross/plugins/ProcessorSimulatorPlugin.h
M processors/IA32/bochs/config.guess
M processors/IA32/bochs/cpu/cpu.cc
Log Message:
-----------
Allow the processor simulator plugins to build on linux64ARMv8 [ci skip]
Branch: refs/heads/Cog
Home: https://github.com/OpenSmalltalk/opensmalltalk-vm
Commit: cd21eb09377c8b29c817e48f8ddb4b9dc0ebc8f5
https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/cd21eb09377c8b29c8…
Author: Eliot Miranda <eliot.miranda(a)gmail.com>
Date: 2021-08-09 (Mon, 09 Aug 2021)
Changed paths:
M spur64src/vm/cogit.h
M spur64src/vm/cogitARMv8.c
M spur64src/vm/cogitX64SysV.c
M spur64src/vm/cogitX64WIN64.c
M spur64src/vm/cointerp.c
M spur64src/vm/cointerp.h
M spur64src/vm/cointerpmt.c
M spur64src/vm/cointerpmt.h
M spur64src/vm/gcc3x-cointerp.c
M spur64src/vm/gcc3x-cointerpmt.c
M spurlowcode64src/vm/cogit.h
M spurlowcode64src/vm/cogitARMv8.c
M spurlowcode64src/vm/cogitX64SysV.c
M spurlowcode64src/vm/cogitX64WIN64.c
M spurlowcode64src/vm/cointerp.c
M spurlowcode64src/vm/cointerp.h
M spurlowcode64src/vm/gcc3x-cointerp.c
M spurlowcodesrc/vm/cogit.h
M spurlowcodesrc/vm/cogitARMv5.c
M spurlowcodesrc/vm/cogitIA32.c
M spurlowcodesrc/vm/cointerp.c
M spurlowcodesrc/vm/cointerp.h
M spurlowcodesrc/vm/gcc3x-cointerp.c
M spurlowcodestack64src/vm/gcc3x-interp.c
M spurlowcodestack64src/vm/interp.c
M spurlowcodestacksrc/vm/gcc3x-interp.c
M spurlowcodestacksrc/vm/interp.c
M spursista64src/vm/cogit.h
M spursista64src/vm/cogitARMv8.c
M spursista64src/vm/cogitX64SysV.c
M spursista64src/vm/cogitX64WIN64.c
M spursista64src/vm/cointerp.c
M spursista64src/vm/cointerp.h
M spursista64src/vm/gcc3x-cointerp.c
M spursistasrc/vm/cogit.h
M spursistasrc/vm/cogitARMv5.c
M spursistasrc/vm/cogitIA32.c
M spursistasrc/vm/cointerp.c
M spursistasrc/vm/cointerp.h
M spursistasrc/vm/gcc3x-cointerp.c
M spursrc/vm/cogit.h
M spursrc/vm/cogitARMv5.c
M spursrc/vm/cogitIA32.c
M spursrc/vm/cointerp.c
M spursrc/vm/cointerp.h
M spursrc/vm/cointerpmt.c
M spursrc/vm/cointerpmt.h
M spursrc/vm/gcc3x-cointerp.c
M spursrc/vm/gcc3x-cointerpmt.c
M spurstack64src/vm/gcc3x-interp.c
M spurstack64src/vm/interp.c
M spurstack64src/vm/validImage.c
M spurstacksrc/vm/gcc3x-interp.c
M spurstacksrc/vm/interp.c
M spurstacksrc/vm/validImage.c
M src/vm/cogit.h
M src/vm/cogitARMv5.c
M src/vm/cogitIA32.c
M src/vm/cointerp.c
M src/vm/cointerp.h
M src/vm/gcc3x-cointerp.c
M stacksrc/vm/gcc3x-interp.c
M stacksrc/vm/interp.c
Log Message:
-----------
VMMaker.oscog-eem.3033
Cogit/AndreasSystemProfiling: fix major slip in genCheckForProfileTimerTick:;
only take a sample if nextProfileTick > 0. primitiveFlushExternalPrimitives.
primitiveUnloadModule & primitiveProfileSemaphore can also endure code movement
and need to be side-ways called. Make sure ceActivateFailingPrimitiveMethod:
gathers profile samples when profiling. Nuke ceCheckProfileTick and replace
it by ceTakeProfileSample: which interpeets null as attributing to newMethod.
Interpreter: abstract comparing a Smalltalk oop aganst a C string.
Fix stack access bugs in compileInterpreterPrimitive:flags: after calling
ceTakeProfileSample:, and in genPrimReturnEnterCogCodeEnilopmart: on calling
ceCheckProfileTick.