[squeak-dev] Anyone know the following about Slang?
David T. Lewis
lewis at mail.msen.com
Mon Jul 7 03:19:06 UTC 2008
On Thu, Jul 03, 2008 at 05:25:51PM -0700, Eliot Miranda wrote:
> Hi All,
>
> does anyone know (or even better has anyone fixed it) how hard it is to
> make Slang inline methods that contain simple type declarations?
Eliot, the attached change sets are a snapshot of some tinkering I've been doing
that relates to Slang generation of inlined C code and declarations. I'm sorry it's
not tidied up better, but the short change sets with bug fixes may be of some use
to you in their current form. I do plan to post the relevant bug fixes on Mantis
some time soon.
HTH,
- Dave
------
"Change Set: PermitInliningCCode-dtl
Date: 6 July 2008
Author: David T. Lewis
Honor a 'self inline: true' request regardless of whether the method contains C code or declarations. Includes a change to case statement generation to support this inlining."!
------
"Change Set: CaseGenerationFixes-dtl
Date: 6 July 2008
Author: David T. Lewis
The main loop of the interpreter dispatches on bytecodes, with the case targets generated by TCaseStmtNode. There are a number of bytecode methods in the interpreter that make assumptions about slang generation of the case targets in order to support early fetching of the next bytecode. This change set adds #flag: markers to identify the interpreter methods that make this assumption, and adds a check to TCaseStmtNode to force the expected slang code generation regardless of the size of the parse tree for the case target."!
------
"Change Set: TMethod-renameVarsFix-dtl
Date: 4 July 2008
Author: David T. Lewis
Fix bug in TMethod>>renameVariablesUsing: that caused incorrect C variable declarations for temporary variables that are renamed during slang inlining."!
------
'From Squeak3.9 of 7 November 2006 [latest update: #7067] on 6 July 2008 at 10:15:15 pm'!
"Change Set: TMethod-TParseNode-comments-dtl
Date: 6 July 2008
Author: David T. Lewis
Class comments, and categorization of some TParseNode methods"!
------
'From Squeak3.9 of 7 November 2006 [latest update: #7067] on 6 July 2008 at 10:09:15 pm'!
"Change Set: MemoryAccess-unresolvedBugs-dtl
Date: 3 July 2008
Author: David T. Lewis
Interpreter>>loadFloatOrIntFrom: should be inlined, but there is now a bug in temp variable handling that prevents this. It is probably a pre-existing bug that was masked by the fact that methods with C declarations previously could not be inlined. I'm saving it here in this change set in case I feel motivated later to try to fix the bug."!
------
'From Squeak3.9 of 7 November 2006 [latest update: #7067] on 6 July 2008 at 10:26:02 pm'!
"Change Set: MemoryAccess-dtl
Date: 29 June 2008
Author: David T. Lewis
MemoryAccess defines the low level mapping of object memory addresses to the underlying machine address space.
Prerequisite change sets:
PermitInliningCCode-dtl
CaseGenerationFixes-dtl
TMethod-renameVarsFix-dtl
TMethod-TParseNode-comments-dtl
MemoryAccess-unresolvedBugs-dtl
This is intended to replace the traditional external definitions in sqMemoryAccess.h
"!
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PermitInliningCCode-dtl.2.cs.gz
Type: application/octet-stream
Size: 2027 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20080706/77d1918a/PermitInliningCCode-dtl.2.cs.obj
-------------- next part --------------
A non-text attachment was scrubbed...
Name: CaseGenerationFixes-dtl.4.cs.gz
Type: application/octet-stream
Size: 1733 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20080706/77d1918a/CaseGenerationFixes-dtl.4.cs.obj
-------------- next part --------------
A non-text attachment was scrubbed...
Name: TMethod-renameVarsFix-dtl.4.cs.gz
Type: application/octet-stream
Size: 762 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20080706/77d1918a/TMethod-renameVarsFix-dtl.4.cs.obj
-------------- next part --------------
A non-text attachment was scrubbed...
Name: TMethod-TParseNode-comments-dtl.1.cs.gz
Type: application/octet-stream
Size: 737 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20080706/77d1918a/TMethod-TParseNode-comments-dtl.1.cs.obj
-------------- next part --------------
A non-text attachment was scrubbed...
Name: MemoryAccess-unresolvedBugs-dtl.4.cs.gz
Type: application/octet-stream
Size: 699 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20080706/77d1918a/MemoryAccess-unresolvedBugs-dtl.4.cs.obj
-------------- next part --------------
A non-text attachment was scrubbed...
Name: MemoryAccess-dtl.10.cs.gz
Type: application/octet-stream
Size: 8508 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20080706/77d1918a/MemoryAccess-dtl.10.cs.obj
More information about the Squeak-dev
mailing list
|