[Vm-dev] VM Maker Inbox: VMMaker.oscog-KenD.2511.mcz
Eliot Miranda
eliot.miranda at gmail.com
Tue Jan 22 18:08:29 UTC 2019
Hi Ken,
I don’t understand this proposed change. float is a 32-bit datatype, double is a 64-bit datatype. My understanding is that on ARM64 floating-point arguments are passed as doubles. What am I missing?
_,,,^..^,,,_ (phone)
> On Jan 22, 2019, at 9:02 AM, commits at source.squeak.org wrote:
>
>
> A new version of VMMaker was added to project VM Maker Inbox:
> http://source.squeak.org/VMMakerInbox/VMMaker.oscog-KenD.2511.mcz
>
> ==================== Summary ====================
>
> Name: VMMaker.oscog-KenD.2511
> Author: KenD
> Time: 22 January 2019, 9:00:55.084764 am
> UUID: d4e9e0d4-b0bb-4bf0-84c0-b173cf9d8362
> Ancestors: VMMaker.oscog-eem.2510
>
> Needed
> StackInterpreter initializeMiscConstants.
> and
> double -> float for floatArgRegisters
>
> =============== Diff against VMMaker.oscog-eem.2510 ===============
>
> Item was changed:
> ----- Method: ThreadedFFICalloutStateForARM64 class>>instVarNamesAndTypesForTranslationDo: (in category 'translation') -----
> instVarNamesAndTypesForTranslationDo: aBinaryBlock
> "enumerate aBinaryBlock with the names and C type strings for the inst vars to include in a ThreadedFFICalloutState struct."
>
> superclass instVarNamesAndTypesForTranslationDo: aBinaryBlock.
> self instVarNames do:
> [:ivn|
> aBinaryBlock
> value: ivn
> value: (ivn caseOf: {
> ['integerRegisters'] -> [{#sqInt. '[NumIntRegArgs]'}].
> + ['floatRegisters'] -> [{#float. '[NumFloatRegArgs]'}] }
> - ['floatRegisters'] -> [{#double. '[NumFloatRegArgs]'}] }
> otherwise:
> [#sqInt])]!
>
More information about the Vm-dev
mailing list