[Vm-dev] [Squeak 0007821]: Make generated interpreter code
compatible with Plan9's POSIX C compiler
bert at freudenbergs.de
Thu Oct 2 14:44:27 UTC 2014
On 02.10.2014, at 16:05, Alex Franchuk <alex.franchuk at gmail.com> wrote:
> The changes were:
> 1. Fix a couple incorrect/faulty C type declarations for certain methods and scoped variables within the methods.
> 2. Ensure functions which declare a return type will return some value at the end of the block (defaulting to null).
> 3. Ensure assignments are properly casted when type data about the expression and variable is available.
> 4. Ensure functions arguments are properly casted when type data about the function's parameters and the argument expressions is available.
That sounds rather useful. I need better type information, too.
E.g., I'd like to know that firstIndexableField() is really an 'unsigned char *' here, not a 'void *' as declared:
unsafeByteOf: bytesOop at: ix
"Argument bytesOop must not be aSmallInteger!"
| pointer |
<var: #pointer type: #'unsigned char *'>
^(pointer := interpreterProxy firstIndexableField: bytesOop) at: ix - 1
I thought I could use the scopeStack but that appears to not be available when generating code ...
- Bert -
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 4142 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20141002/260f8ab9/smime.bin
More information about the Vm-dev