[squeak-dev] More than 256 literals referenced

Eliot Miranda eliot.miranda at gmail.com
Thu Mar 14 17:28:06 UTC 2013


Hi David,

    one thing you can do is make that large brace expression a set of
literal arrays.  e.g.

installSS := Installer ss.
installSqueak := Installer squeak.
"Use the following array of arrays to reduce total number of literals
is this script, allows log message for each package load."
{
{ installSS . 'Speech' . 'SharedPool-Speech' } .
{ installSqueak . 'FFI' . 'FFI-Pools' } .
{ installSS . 'Alien' . 'Alien' } .
{ installSqueak . 'VMMaker' . 'Balloon-Engine-Pools' } .
{ installSqueak . 'VMMaker' . vmmBranch } .
{ installSqueak . 'VMMaker' . 'Cog' } .
{ installSS . 'Alien' . 'Alien-VMMaker-Plugins' } .
{ installSS . 'OSProcessPlugin' . osppBranch } .
{ installSS . 'AioPlugin' . 'VMConstruction-Plugins-AioPlugin' } .
{ installSS . 'XDCP' . 'VMConstruction-Plugins-XDisplayControlPlugin' } .
{ installSS . 'Balloon3D' . 'Balloon3D-Constants' } .
{ installSS . 'Balloon3D' . 'Balloon3D-Plugins' } .
{ installSS . 'FreeTypePlus' . 'FreeType' } .
{ installSS . 'FreetypePlugin' . 'Freetype-Plugin' } .
{ installSS . 'dbus' . 'DBus-Plugin' } .
{ installSS . 'Rome' . 'Rome-Base' } .
{ installSS . 'Rome' . 'Rome-PluginCanvas' } .
{ installSS . 'Rome' . 'Rome-Plugin' }
} do: [ :package |
log value: 'install ', package third.
(package first project: package second) install: package third.
].

=>
"Use the following array of arrays to reduce total number of literals
is this script, allows log message for each package load."
#(
#( ss 'Speech' 'SharedPool-Speech' )
#( squeak 'FFI' 'FFI-Pools' )
#( ss 'Alien' 'Alien' )
#( squeak 'VMMaker' 'Balloon-Engine-Pools' )
#( squeak 'VMMaker' vmmBranch )
#( squeak 'VMMaker' 'Cog' )
#( ss 'Alien' 'Alien-VMMaker-Plugins' )
#( ss 'OSProcessPlugin' osppBranch )
#( ss 'AioPlugin' 'VMConstruction-Plugins-AioPlugin' )
#( ss 'XDCP' 'VMConstruction-Plugins-XDisplayControlPlugin' )
#( ss 'Balloon3D' 'Balloon3D-Constants' )
#( ss 'Balloon3D' 'Balloon3D-Plugins' )
#( ss 'FreeTypePlus' 'FreeType' )
#( ss 'FreetypePlugin' 'Freetype-Plugin' )
#( ss 'dbus' 'DBus-Plugin' )
#( ss 'Rome' 'Rome-Base' )
#( ss 'Rome' 'Rome-PluginCanvas' )
#( ss 'Rome' 'Rome-Plugin' )
) do: [ :package |
log value: 'install ', package third.
((Installer perform: package first) project: package second) install:
package third.
].

On Wed, Mar 13, 2013 at 4:48 PM, David T. Lewis <lewis at mail.msen.com> wrote:

> Something changed in trunk a couple of days ago that results in a 'More
> than
> 256 literals referenced' error in a filein script that previously did not
> display this problem (see attached). It does not seem to be anything in the
> Compiler package (I reverted back a half dozen versions, no change), so I'm
> looking at the CI builds for reference. The problem appears in the image
> from
> SqueakTrunk build #213 and later, and is not  present in the image from
> build #212 and earlier.
>
> I spotted the problem in the CogVM build job, which has been failing for a
> couple of days. The failures are due to the above issue, and the script
> file
> that fails on filein is
> http://build.squeak.org/job/CogVM/ws/VMCogUnixBuild.st
> The problem showed up in the CogVM job by coincidence and is not related to
> the VM.
>
> Filing this VMCogUnixBuild.st into an updated trunk image will reproduce
> the problem.
>
> Dave
>


However, I have an instruction set that lifts the 256 literal limit to
65535 ;)

-- 
best,
Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20130314/4f82251e/attachment.htm


More information about the Squeak-dev mailing list