Hello Armin,
I have read the test codes of test_llinterp.py and llinterp.py. I am
writing a summary below. I just want you to point out my mistakes if I am
wrong. Please help me to understand this.

Basically, llinterp is an object that can interpret given a python function
and function's arguments. It is used to test any component of pypy. If we
plug any component (that we want to test) into llinterp such as if we plug
it with a heap that has semispace gc the interpreter will use semispace gc
when it needs to use gc functionality. So if I get desired output with
semispace gc when I plug it into llinterp and do my test then I can assume
that if I build pypy properly using semispace gc that newly build pypy
would behave the same given the same test input.

Please do me a favor by commenting on this summary. This will help to know
whether my understanding is right on this matter.

Moreover, can you tell me why some of the member functions written in class
LLFrame (inside lliterp.py) only raise
NotImplmentedError exception. Methods such as op_gc_heap_stats,
op_gc_obtain_free_space, and many more just only raise this exception
without doing anything.

Thanks a lot!
-Raihan

On Sun, May 23, 2021 at 9:00 PM Raihan Rasheed Apurbo <apurb...@gmail.com>
wrote:

> Hello Armin,
> Thanks for pointing that out. I will definitely take a look at the test
> code of that module first.
> -Raihan
>
> On Sun, May 23, 2021 at 1:27 PM Carl Friedrich Bolz-Tereick <cfb...@gmx.de>
> wrote:
>
>> Hi Raihan,
>>
>> Could you please describe a bit what you are trying to implement? That
>> way we could give you a bit more targeted advice.
>>
>> Cheers,
>>
>> Carl Friedrich
>>
>> On May 23, 2021 8:22:48 AM GMT+02:00, Armin Rigo <armin.r...@gmail.com>
>> wrote:
>>>
>>> Hi Raihan,
>>>
>>> On Sat, 22 May 2021 at 14:40, Raihan Rasheed Apurbo <apurb...@gmail.com> 
>>> wrote:
>>>
>>>>  Thanks for helping me out. I was actually looking for a generalized 
>>>> solution. The last paragraph of your answer covers that. What I understand 
>>>> from that is, if I want to understand how pypy gc works and if i want to 
>>>> write my own version of GC at first I have to understand all the tests 
>>>> written on rpython/memory. I will now look extensively into that.
>>>>
>>>>  I have tried to understand some of the test codes earlier but there is a 
>>>> problem that I faced. Suppose gc_test_base.py written in 
>>>> rpython/memory/test not only uses modules written in rpython.memory but 
>>>> also uses modules like llinterp from rpython.rtyper. As I don't know how 
>>>> those modules work how do I figure out their function written in the test 
>>>> codes? Do you have any suggestions for someone who is facing this issue?
>>>>
>>>
>>> Modules from rpython.rtyper.lltypesystem are essential.  You need to
>>> learn about them to the extent that they are used.  They have test
>>> files in "test" subdirectories, like almost every file in PyPy and
>>> RPython.
>>>
>>> Armin
>>> ------------------------------
>>> pypy-dev mailing list
>>> pypy-dev@python.org
>>> https://mail.python.org/mailman/listinfo/pypy-dev
>>>
>>>
_______________________________________________
pypy-dev mailing list
pypy-dev@python.org
https://mail.python.org/mailman/listinfo/pypy-dev

Reply via email to