<?xml version="1.0" encoding="utf-8"?>
<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" type="topic" id="faq" xml:lang="ca">

    <info>
      <link type="guide" xref="index#faq"/>
    </info>
    <title>Què significa monticle?</title>

    <section id="what-does-heap-mean">
      <title>Què significa «Al fitxer [monticle]»?</title>

      <p>Això indica que el sysprof creu que es va cridar una funció des d'algun lloc del monticle del programa (on <code>malloc</code> assigna memòria) en comptes de la secció de codi (on hi és normalment el codi executable). Diverses causes són possibles.</p>
    </section>

    <section id="jit">
      <title>Compiladors de JIT (Just a temps)</title>

      <p>Llenguatges com el Java poden generar codi executable mentre s'executa un programa i emmagatzemar-lo al monticle. El Sysprof informa amb exactitud de la situació en aquest cas.</p>
    </section>

    <section id="optimizing">
      <title>Optimització de compiladors</title>

      <p>Els compiladors C i C++ poden optimitzar la informació necessària per a determinar la persona que crida una funció, de manera que es confon amb [monticle]. Encara podeu saber amb quina freqüència el programa crida cada funció, però no sempre des d'on.</p>

      <note>
        <p>Per a gcc, la marca <code>-fno-omit-frame-pointer</code> impedirà aquesta optimització. El senyalador no sempre és necessari, per exemple a les màquines x86_64 només es necessita amb l'optimització -O3.</p>
      </note>

      <note>
        <p>Per a obtenir l'arbre de crides més detallat i precís a partir d'un codi no optimitzat, utilitzeu aquests indicadors: 1<code>-ggdb -fno-omit-frame-pointer -O0</code></p>
      </note>
    </section>
</page>
