Tests | #testMaxLiteralsWithClassReferenceInClosure works for SistaV1 bytecode set but not V3PlusClosures

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Tests | #testMaxLiteralsWithClassReferenceInClosure works for SistaV1 bytecode set but not V3PlusClosures

marcel.taeumel
Hi all!

The test CompilerTest >> #testMaxLiteralsWithClassReferenceInClosure fails for V3PlusClosures. It is off by 5 literals.

Could it be because V3PlusClosures inlines blocks in the same compiled method but SistaV1 extracts them into an extra compiled block?

I was wondering whether that "[ DateAndTime now. Date today. Time ]." accounts for 5 literals ... even though I am only seeing 4. :-)

Any thoughts?

Best,
Marcel


Reply | Threaded
Open this post in threaded view
|

Re: Tests | #testMaxLiteralsWithClassReferenceInClosure works for SistaV1 bytecode set but not V3PlusClosures

Eliot Miranda-2
Hi Marcel,


On Jul 4, 2019, at 5:04 AM, Marcel Taeumel <[hidden email]> wrote:

Hi all!

The test CompilerTest >> #testMaxLiteralsWithClassReferenceInClosure fails for V3PlusClosures. It is off by 5 literals.

Could it be because V3PlusClosures inlines blocks in the same compiled method but SistaV1 extracts them into an extra compiled block?

Almost certainly.  Use the explore view to verify.


I was wondering whether that "[ DateAndTime now. Date today. Time ]." accounts for 5 literals ... even though I am only seeing 4. :-)

It should indeed be 5.  Weird :-)


Any thoughts?

Best,
Marcel



Reply | Threaded
Open this post in threaded view
|

Re: Tests | #testMaxLiteralsWithClassReferenceInClosure works for SistaV1 bytecode set but not V3PlusClosures

marcel.taeumel
Oha! Now I am seeing the 5. :-D

Thanks,
Marcel

Am 05.07.2019 00:32:53 schrieb Eliot Miranda <[hidden email]>:

Hi Marcel,


On Jul 4, 2019, at 5:04 AM, Marcel Taeumel <[hidden email]> wrote:

Hi all!

The test CompilerTest >> #testMaxLiteralsWithClassReferenceInClosure fails for V3PlusClosures. It is off by 5 literals.

Could it be because V3PlusClosures inlines blocks in the same compiled method but SistaV1 extracts them into an extra compiled block?

Almost certainly.  Use the explore view to verify.


I was wondering whether that "[ DateAndTime now. Date today. Time ]." accounts for 5 literals ... even though I am only seeing 4. :-)

It should indeed be 5.  Weird :-)


Any thoughts?

Best,
Marcel