[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Liberty-eiffel] GC

From: Raphael Mack
Subject: Re: [Liberty-eiffel] GC
Date: Thu, 23 Oct 2014 21:06:08 +0000
User-agent: Internet Messaging Program (IMP) H5 (6.2.1)

So let us continue with details about the GC generation:

Cyril do you have a glue what the parameter string_at_run_time in MEMORY_HANDLER.manifest_string_in is good for? I see only ONE call of this feature, whith the constant True.

Similar for MEMORY_HANDLER.native9_in:
* I dislike the name
* I don't see any call of it
* the implementation of this deferred feature in SEGC and BDW is quite different (call of se_malloc in the opposite branch)

Can you enlighten me here?

And could you describe the special handlings for NATIVE_ARRAYs with respect to garbage collection? - I don't understand the idea behind LIVE_TYPE_NATIVE_ARRAY_COLLECTOR.


Zitat von Cyril ADRIAN <address@hidden>:
Hello Raphael,

2014-10-09 19:29 GMT+02:00 Raphael Mack <address@hidden>:

last days I digged into the code to understand what eiffeldoc currently
fails and in my eyes it turns out to be GC related.

Great! I know there are problems with the GC but I never could pinpoint
them. New eyes are a boon.

I guess it is the same problem, why eiffeltest recently failed. Locally I
tried also with the SmartEiffel GC (which I somehow don't want see dying)

(neither do I)

and it seems to be the very same problem also. Some object only referenced
by a weak reference is collected and accessed afterwards. The interesting
thing is that it happens with both collectors. On 32 bit systems it somehow
looks different but still doesn't work (maybe we see a another bug there).
So my question is whether you remember some "recent" change in the weak
reference handling (maybe related to threading) or a date, when these
"random" faults started - We already saw these topics before you started to
integrate BDW. What is your feeling? Was this the same problem back then?

I think so. The problem is quite old; maybe even before LibertyEiffel (I
don't remember).

How important/heavily used are weak references? - Could we easily
(temporary) remove their use from the core tools?

The weak references are used to allow to free memory when the GC is in
used. It is used quite a lot in the core libs to ensure that they work as
well with and without GC, without wasting memory (no GC), and without
memory retention (with GC).

I am not sure how easy it would be to remove them.

How stable have the weak references been in the HEAD of SmartEiffel repo?

Actually I don't remember. I guess we should checkout the repo and check.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]