OpenSmalltalk
/
opensmalltalk-vm
|
Cog
|
33 mins and 50 secs
|
Eliot Miranda
|
CogVM source as per VMMaker.oscog-eem.2705
Cogit: Add support for a substitute SPReg to cope with the ARMv8's typical 16-byte stack pointer alignment requirement. Implement NativePopR:& NativePushR:. Fix compilation warnings for cStack/FramePointerAddress access. Fix nextProfileTickAddress for 64-bit simulation. Write stackLimitAddress & vmOwnerLockAddress in the modern style. Move genLoadStackPointers from Cogit to CogAbstractInstruction where it lives with the other stack load/store generartors, allowing ARMv8 to easily override to use ldp/stp as desired.
Consequently... - add NativePopR NativePushR NativeRetN abstract instructions (so far only NativeRetN needs to be implemented; see ceCaptureCStackPointers) - add ABICalleeSavedRegisterMask & ABICallerSavedRegisterMask to CogAbstractRegisters - Add ABIResultReg and ABIResultRegHigh and nuke the cResultRegister accessor. - Rename genGetLeafCallStackPointer to genGetLeafCallStackPointers, and have ceGetSP answer the native stack pointer.
Add support for cache flushing in the dual mapped regime, hence rename maybeGenerateICacheFlush to maybeGenerateCacheFlush.
Slang: Sort variables by size so that they occupy a little less space. reenterInterpreter does *not* need to be exported. Nuke unused Cogit Lowcode vars when not generating a LowcodeVM.
FFI Plugins: Let X64 SysV FFI handle passing/returning union
This can be tricky because we can have union in struct, struct in union etc... So we must correctly peel the union.
|
|
|
Would you like to stay up-to-date with the upcoming Travis CI build environment updates? We set up a mailing list for you!
SIGN UP HERE
|
|
|
|
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"action": {
"@type": "ViewAction",
"url": "https://travis-ci.org/OpenSmalltalk/opensmalltalk-vm/builds/646146189?utm_medium=notification&utm_source=email",
"name": "View Build"
},
"description": "View Build #1941 on Travis CI"
}
</script>