[Vm-dev] vmmaker plugin generator issues?

Eliot Miranda eliot.miranda at gmail.com
Fri Aug 10 14:53:50 UTC 2018


He Alistair,


> On Aug 10, 2018, at 12:01 AM, Alistair Grant <akgrant0710 at gmail.com> wrote:
> 
> 
> Hi Everyone,
> 
> I've just generated the FilePlugin for the first time and some of the
> differences in the generated code to the previous version are
> unexpected:

This looks like an initialization bug due to not having generated a VM source tree (eg spur64src/vm) before having generated a plug-in.  Can you confirm whether you generated the FilePlugin in isolation or not?

It should be fixed and I hope it will be easy to fix, but a workaround is simply to generate any VM configuration and then the plugin, and then use gitrevert to discard the generated VM.

> 
> #if !defined(COGMTVM) /* Allow this to be overridden on the compiler
> command line */
> -# define COGMTVM 0
> +# define COGMTVM null
> #endif
> #define DirBadPath 2
> #define DirNoMoreEntries 1
> #if !defined(PharoVM) /* Allow this to be overridden on the compiler
> command line */
> -# define PharoVM 0
> +# define PharoVM null
> #endif
> #define PrimErrBadArgument 3
> #define PrimErrBadIndex 4
> @@ -51,7 +51,7 @@ static char __buildInfo[] = "FilePlugin
> VMMaker.oscog-VB.2383 uuid: a0681b83-711
> #define PrimErrUnsupported 7
> #define PrimNoErr 0
> #if !defined(SPURVM) /* Allow this to be overridden on the compiler
> command line */
> -# define SPURVM 1
> +# define SPURVM null
> #endif
> 
> 
> Should I expect macros that were previously assigned a value of 0 or 1
> are now assigned null?
> 
> Also, the VMMakerTool gave the following warnings which I don't
> remember previously:
> 
> warning, signature of InterpreterProxy>>characterTable does not match
> reference implementation.
> warning, signature of InterpreterProxy>>fullGC does not match
> reference implementation.
> warning, signature of
> InterpreterProxy>>instantiateClass:indexableSize: does not match
> reference implementation.
> warning, signature of InterpreterProxy>>pop:thenPush: does not match
> reference implementation.
> warning, signature of InterpreterProxy>>positive32BitValueOf: does not
> match reference implementation.
> warning, signature of InterpreterProxy>>pushRemappableOop: does not
> match reference implementation.
> internal plugin FilePlugin generated as FilePlugin
> 10 August 2018 8:54:39 am
> 
> 
> OS: Ubuntu 16.04
> 
> Image (generated with buildspurtrunkvmmaker64image.sh):
> Squeak5.2alpha
> latest update: #18167
> Current Change Set: Unnamed1
> Image format 68021 (64 bit)
> 
> VMMaker.oscog-eem.2424 (plus my changes to FilePlugin)
> 
> Thanks,
> Alistair


More information about the Vm-dev mailing list