X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=process.tex;h=b484b17501d8713af29616ad8fe1e6e0034ed41f;hp=1fbfc066b28f187c2629615f12537be93288a89d;hb=758b135b7f04cdcebc4fe2726dc540cb24d116ba;hpb=8350dd34c88cc0c336fdc33d642320dde1e942f7 diff --git a/process.tex b/process.tex index 1fbfc06..b484b17 100644 --- a/process.tex +++ b/process.tex @@ -1581,7 +1581,7 @@ un punto precedentemente stabilito con \func{setjmp} si usa la funzione \end{functions} La funzione ripristina il contesto dello stack salvato da una chiamata a -\func{setjmp} nell'argomento \param{env}. Dopo l'esecuzione della funzione +\func{setjmp} nell'argomento \param{env}. Dopo l'esecuzione della funzione il programma prosegue nel codice successivo al ritorno della \func{setjmp} con cui si era salvato \param{env}, che restituirà il valore \param{val} invece di zero. Il valore di \param{val} specificato nella chiamata deve essere diverso @@ -1631,7 +1631,7 @@ e statiche mantengono i valori che avevano al momento della chiamata di Quello che succede infatti è che i valori delle variabili che sono tenute in memoria manterranno il valore avuto al momento della chiamata di \func{longjmp}, mentre quelli tenuti nei registri del processore (che nella -chiamata ad un'altra funzioni vengono salvati nel contesto nello stack) +chiamata ad un'altra funzione vengono salvati nel contesto nello stack) torneranno al valore avuto al momento della chiamata di \func{setjmp}; per questo quando si vuole avere un comportamento coerente si può bloccare l'ottimizzazione che porta le variabili nei registri dichiarandole tutte come