5 research outputs found

    Étude de l'impact des weak references sur la gestion mémoire d'un langage à objets de haut niveau

    Get PDF
    Stage de DEA. Rapport de stage.Ce rapport présente mon travail sur la conception et l'implantation de références faibles sûres dans le projet SmartEiffel. J'étudie dans un premier temps la notion de référence faible et j'analyse l'existant dans d'autres langages. Je travaille ensuite sur les concepts précédemment développés en vue de les intégrer au langage Eiffel. Enfin, je montre leur implantation dans le ramasse-miettes de SmartEiffel, le compilateur GNU Eiffel. || In this report, I present my work on the design and implementation of safe weak references within the SmartEiffel project. First, I introduce the known concept of weak references and summarize existing implementations in other languages. Then, I study th

    Profiling Initialisation Behaviour in Java

    No full text
    Freshly created objects are a blank slate: their mutable state and their constant properties must be initialised before they can be used. Programming languages like Java typically support object initialisation by providing constructor methods. This thesis examines the actual initialisation of objects in real-world programs to determine whether constructor methods support the initialisation that programmers actually perform. Determining which object initialisation techniques are most popular and how they can be identified will allow language designers to better understand the needs of programmers, and give insights that VM designers could use to optimise the performance of language implementations, reduce memory consumption, and improve garbage collection behaviour. Traditional profiling typically either focuses on timing, or uses sampling or heap snapshots to approximate whole program analysis. Classifying the behaviour of objects throughout their lifetime requires analysis of all program behaviour without approximation. This thesis presents two novel whole-program object profilers: one using purely class modification (#prof ), and a hybrid approach utilising class modification and JVM support (rprof ). #prof modifies programs using aspect-oriented programming tools to generate and aggregate data and examines objects that enter different collections to determine whether correlation exists between initialisation behaviour and the use of equality operators and collections. rprof confirms the results of an existing static analysis study of field initialisation using runtime analysis, and provides a novel study of object initialisation behaviour patterns

    Efficient object sampling via weak references

    No full text

    Efficient object sampling via weak references

    No full text
    corecore