That sounds good. Unfortunately for me, my work environment is using
RedHat6/CentOS6 with glibc 2.12. Is there Pharo6 with glibc < 2.15 support.
Or is there a way for me to build that myself?

It's quite a departure to change my DSL into defining multiple methods. But
that's my own problem.

I'm happy to hear Pharo 6 can support a lot more literals. I tested my code
on Pharo 6 (on my Windows box) and it works. I see SistaV1 compiler in
Pharo 5 setting, but that causes Pharo to crash.

Thank you guys for your answers. I think I have the information I need to
make decision. But if there is a way to get Pharo 6 that works with glibc <
2.15, please let me know.

Thank you
--
Andreas

On Tue, Aug 29, 2017 at 12:34 AM, Clément Bera <bera.clem...@gmail.com>
wrote:

> Hi,
>
> If your tool works in Pharo 6, you can use the other bytecode set which
> supports up to 32k literals. To do so, go to:
> World Menu > Settings > Compiler > Encoder
> and pick SistaV1 instead of V3PlusClosures
> Try to load your code. The default Pharo 6 VM supports both bytecode sets.
>
> Alternatively you need to split your methods with many literals in
> multiple methods with less literals, which is usually quite tricky to do
> right.
>
> On Tue, Aug 29, 2017 at 4:52 AM, Andreas Sunardi <a.suna...@gmail.com>
> wrote:
>
>> I have written a tool (Pharo5) where user gives an input file to it,
>> where the content is a smalltalk code, a DSL. I used a subclass of
>> CodeImporter class to evaluate this input file.
>>
>> Recently my user used an input file where it hit the 256 literal limit
>> (total of unique string, number, method name, etc), down in
>> OpalEncoderForV3PlusClosures >> genPushLiteral:. The number seems to be
>> hard coded and related to byte code generator, not something I can simply
>> increase. I wasn't aware of this limitation.
>>
>> Before I overhaul my tool, I thought I should ask. Is there another
>> alternative to evaluate a smalltalk file/script? The file is small, 27k,
>> but the number of unique literals in it is > 256. Is it possible at all,
>> seeing that the limit is related to byte code generator.
>>
>> Thank you in advance
>> --
>> Andreas Sunardi
>>
>
>

Reply via email to