|Anonymous | Login||09-18-2021 23:55 UTC|
|Main | My View | View Issues | Change Log | Docs|
|Viewing Issue Simple Details [ Jump to Notes ]||[ View Advanced ] [ Issue History ] [ Print ]|
|ID||Category||Severity||Reproducibility||Date Submitted||Last Update|
|0007384||[Squeak] VM||minor||always||08-18-09 11:37||04-19-10 02:48|
|Summary||0007384: GeniePlugin does not compile on closure-enabled images|
|Description||Plugin source (and hence VMMaker package) does not load in a closure-enabled image due to too many method temporary variables.|
|Additional Information||Discussed on vm-dev, pharo, and squeak-dev lists in May 2009.|
|Attached Files||GeniePlugin-closureFix-dtl-M7384.1.cs [^] (9,391 bytes) 08-18-09 11:47|
(0013237 - 54 - 54 - 54 - 54 - 54 - 54)
|The fix is included in VMMaker-dtl.135 on SqueakSource|
(0013242 - 473 - 515 - 627 - 627 - 627 - 627)
On squeak-dev, I confirmed Genie now installs in 3.10.2 image if you follow eg. this procedure:
- use the latest 4.2.1beta1U vm
- install VMMaker from Package Universe (or install the dependencies directly)
- install latest VMMaker .135 from http://squeaksource.com/VMMaker [^]
- install Genie from Package Universe
I think this must have been 3.10.2-7179; I haven't found a way to do it with latest 3.10 trunk, due to other installation problems there (FFI, VMMaker).
(0013718 - 585 - 609 - 835 - 835 - 835 - 835)
Thanks for updating this, unfortunately the issue remains so I'm re-opening.
I tried loading Genie.67 from squeaksource into Squeak 4.1, and got Error: genPushClosureCopyNumCopiedValues:numArgs:jumpSize: num copied index 16 is out of range 0 to 15 error. A simpler way to reproduce is to try saving the problem method, see http://gist.github.com/raw/370604/5e768cdc8282c6c5e891cf4cc69ec8a521aabe29/gistfile1.txt [^] .
I tried the workaround procedure I reported in '09, but that no longer works. VMMaker.135 no longer loads in 4.1, and latest VMMaker.169 has no effect on this issue.
(0013719 - 649 - 649 - 649 - 649 - 649 - 649)
|Hi Simon, the problem that you are encountering in Genie is very similar to the one that I addressed for GeniePlugin. The new closure compiler restricts the number of temporary variables for a method (formerly was 16, now 15) due to some internal limitations. The solution that I implemented for the GeniePlugin was to rewrite the problem method to reduce the number of temporary variables used in the method. Most likely you will need to do something similar for the #multiResLocalLookup:symmetric:result:alreadyIncludedRes: method in order to get it to compile. You will need to make a fix in the Genie package itself in order to get this working.|
(0013720 - 404 - 426 - 426 - 426 - 426 - 426)
This Mantis issue is for the GeniePlugin, for which a fix has been provided. For that reason, I am setting status back to "resolved".
An additional (and similar) issue exists in the Genie package (now maintained on SqueakSource). This will need to be addressed separately, and will require a rewrite of at least one method in the Genie package to support loading into images with the closure compiler.
|08-18-09 11:37||lewis||New Issue|
|08-18-09 11:37||lewis||Status||new => assigned|
|08-18-09 11:37||lewis||Assigned To||=> lewis|
|08-18-09 11:38||lewis||Relationship added||related to 0007382|
|08-18-09 11:47||lewis||File Added: GeniePlugin-closureFix-dtl-M7384.1.cs|
|08-18-09 11:54||lewis||Status||assigned => resolved|
|08-18-09 11:54||lewis||Resolution||open => fixed|
|08-18-09 11:54||lewis||Note Added: 0013237|
|08-21-09 02:06||simon||Note Added: 0013242|
|04-18-10 22:06||andreas||Status||resolved => closed|
|04-18-10 23:30||simon||Status||closed => feedback|
|04-18-10 23:30||simon||Resolution||fixed => reopened|
|04-18-10 23:30||simon||Note Added: 0013718|
|04-18-10 23:46||simon||Issue Monitored: simon|
|04-19-10 02:40||lewis||Note Added: 0013719|
|04-19-10 02:48||lewis||Status||feedback => resolved|
|04-19-10 02:48||lewis||Resolution||reopened => fixed|
|04-19-10 02:48||lewis||Note Added: 0013720|
| Mantis 1.0.8[^]
Copyright © 2000 - 2007 Mantis Group
68 total queries executed.|
42 unique queries executed.