writes:
[...]
| Mais c'est effectivement important à noter qu'au contraire de
| mutable, il fait bien partie du système de types.
Ah, « mutable » ne fait plus partie du système de type. Depuis
quand ?
kanze@gabi-soft.fr writes:
[...]
| Mais c'est effectivement important à noter qu'au contraire de
| mutable, il fait bien partie du système de types.
Ah, « mutable » ne fait plus partie du système de type. Depuis
quand ?
writes:
[...]
| Mais c'est effectivement important à noter qu'au contraire de
| mutable, il fait bien partie du système de types.
Ah, « mutable » ne fait plus partie du système de type. Depuis
quand ?
"Christophe Lephay" writes:Je ne parle pas de ce qui est écrit dans la norme mais de la
réponse
de drkm qu'il oppose à la phrase de James.
Je ne sais pas ce que tu veux d'autre que ce que dit la norme (dont
un extrait constituait d'ailleurs ma seule réponse à James). James
disait :Mais ce qui constitue un accès dans cette contexte
est
défini par l'implémentation.
Ce à quoi j'ai répondu :Même pas, « because the value of the object might be changed
by
means undetectable by an implementation ».
Quelque chose qui échappe à une implémentation n'est pas défini
par
elle. Si ?
"Christophe Lephay" <christophe-lephay@wanadoo.fr> writes:
Je ne parle pas de ce qui est écrit dans la norme mais de la
réponse
de drkm qu'il oppose à la phrase de James.
Je ne sais pas ce que tu veux d'autre que ce que dit la norme (dont
un extrait constituait d'ailleurs ma seule réponse à James). James
disait :
Mais ce qui constitue un accès dans cette contexte
est
défini par l'implémentation.
Ce à quoi j'ai répondu :
Même pas, « because the value of the object might be changed
by
means undetectable by an implementation ».
Quelque chose qui échappe à une implémentation n'est pas défini
par
elle. Si ?
"Christophe Lephay" writes:Je ne parle pas de ce qui est écrit dans la norme mais de la
réponse
de drkm qu'il oppose à la phrase de James.
Je ne sais pas ce que tu veux d'autre que ce que dit la norme (dont
un extrait constituait d'ailleurs ma seule réponse à James). James
disait :Mais ce qui constitue un accès dans cette contexte
est
défini par l'implémentation.
Ce à quoi j'ai répondu :Même pas, « because the value of the object might be changed
by
means undetectable by an implementation ».
Quelque chose qui échappe à une implémentation n'est pas défini
par
elle. Si ?
"Gabriel Dos Reis" a écrit dans le message
news:qu'appelles-tu « optimiser » ?
Comme d'habitude, tu connais la réponse à ta question.
Mais puisque ça m'intéresse de voir où tu veux en venir,
voici juste l'exemple de deux affectations :
x = a ;
y = a ;
(mettons que ce soient des entiers)
J'ai déjà vu du code généré qui ressemblait à ceci :
1 chercher la valeur de a en mémoire et la charger dans un registre
2 copie du registre vers l'emplacement mémoire de x
3 chercher valeur de a et la charger en registre (le même)
4 copie du registre vers emplecament mémoire de y
On peut être tenté d'omettre l'étape 3 ;-)
J'appelle ça une optimisation.
Maintenant, s'agissant de 4 instructions machine, ce code
est interruptible, et par conséquent dans un contexte multi
thread rien ne garantit que les deux façons de faire seront
équivalentes puisque a peut avoir été modifié by means
undetectable by the present implementation.
Je dis aussi que volatile interdit l'omission mentionnée
ci-dessus.
"Gabriel Dos Reis" <gdr@integrable-solutions.net> a écrit dans le message
news: m33bxwrcl6.fsf@uniton.integrable-solutions.net...
qu'appelles-tu « optimiser » ?
Comme d'habitude, tu connais la réponse à ta question.
Mais puisque ça m'intéresse de voir où tu veux en venir,
voici juste l'exemple de deux affectations :
x = a ;
y = a ;
(mettons que ce soient des entiers)
J'ai déjà vu du code généré qui ressemblait à ceci :
1 chercher la valeur de a en mémoire et la charger dans un registre
2 copie du registre vers l'emplacement mémoire de x
3 chercher valeur de a et la charger en registre (le même)
4 copie du registre vers emplecament mémoire de y
On peut être tenté d'omettre l'étape 3 ;-)
J'appelle ça une optimisation.
Maintenant, s'agissant de 4 instructions machine, ce code
est interruptible, et par conséquent dans un contexte multi
thread rien ne garantit que les deux façons de faire seront
équivalentes puisque a peut avoir été modifié by means
undetectable by the present implementation.
Je dis aussi que volatile interdit l'omission mentionnée
ci-dessus.
"Gabriel Dos Reis" a écrit dans le message
news:qu'appelles-tu « optimiser » ?
Comme d'habitude, tu connais la réponse à ta question.
Mais puisque ça m'intéresse de voir où tu veux en venir,
voici juste l'exemple de deux affectations :
x = a ;
y = a ;
(mettons que ce soient des entiers)
J'ai déjà vu du code généré qui ressemblait à ceci :
1 chercher la valeur de a en mémoire et la charger dans un registre
2 copie du registre vers l'emplacement mémoire de x
3 chercher valeur de a et la charger en registre (le même)
4 copie du registre vers emplecament mémoire de y
On peut être tenté d'omettre l'étape 3 ;-)
J'appelle ça une optimisation.
Maintenant, s'agissant de 4 instructions machine, ce code
est interruptible, et par conséquent dans un contexte multi
thread rien ne garantit que les deux façons de faire seront
équivalentes puisque a peut avoir été modifié by means
undetectable by the present implementation.
Je dis aussi que volatile interdit l'omission mentionnée
ci-dessus.
drkm wrote:Mais ce qui constitue un accès dans cette contexte
est défini par l'implémentation.
Ce à quoi j'ai répondu :Même pas, « because the value of the object might be changed
by means undetectable by an implementation ».
Quelque chose qui échappe à une implémentation n'est pas défini
par elle. Si ?
Mais quel rapport. Tous les « accès » ne proviennent pas de
l'implémentation, et surtout, on considère ici la possibilité que la
valeur peut changer sans un accès.
drkm wrote:
Mais ce qui constitue un accès dans cette contexte
est défini par l'implémentation.
Ce à quoi j'ai répondu :
Même pas, « because the value of the object might be changed
by means undetectable by an implementation ».
Quelque chose qui échappe à une implémentation n'est pas défini
par elle. Si ?
Mais quel rapport. Tous les « accès » ne proviennent pas de
l'implémentation, et surtout, on considère ici la possibilité que la
valeur peut changer sans un accès.
drkm wrote:Mais ce qui constitue un accès dans cette contexte
est défini par l'implémentation.
Ce à quoi j'ai répondu :Même pas, « because the value of the object might be changed
by means undetectable by an implementation ».
Quelque chose qui échappe à une implémentation n'est pas défini
par elle. Si ?
Mais quel rapport. Tous les « accès » ne proviennent pas de
l'implémentation, et surtout, on considère ici la possibilité que la
valeur peut changer sans un accès.
drkm wrote:writes:Mais ce qui constitue un accès dans cette contexte
est défini par l'implémentation.
Même pas, « because the value of the object might be changed by
means undetectable by an implementation ».
Ça, c'est un autre aspect. Ici, il n'est question que des « accès »
par l'implémentation.
drkm wrote:
kanze@gabi-soft.fr writes:
Mais ce qui constitue un accès dans cette contexte
est défini par l'implémentation.
Même pas, « because the value of the object might be changed by
means undetectable by an implementation ».
Ça, c'est un autre aspect. Ici, il n'est question que des « accès »
par l'implémentation.
drkm wrote:writes:Mais ce qui constitue un accès dans cette contexte
est défini par l'implémentation.
Même pas, « because the value of the object might be changed by
means undetectable by an implementation ».
Ça, c'est un autre aspect. Ici, il n'est question que des « accès »
par l'implémentation.
"Alain Naigeon" writes:
| "Gabriel Dos Reis" a écrit dans le
message
| news:
|
| > qu'appelles-tu « optimiser » ?
|
|
| Comme d'habitude, tu connais la réponse à ta question.
Bah non, puisque c'est toi qui utilises un terme que je ne comprends pas.
| Mais puisque ça m'intéresse de voir où tu veux en venir,
| voici juste l'exemple de deux affectations :
| x = a ;
| y = a ;
| (mettons que ce soient des entiers)
|
| J'ai déjà vu du code généré qui ressemblait à ceci :
| 1 chercher la valeur de a en mémoire et la charger dans un registre
| 2 copie du registre vers l'emplacement mémoire de x
| 3 chercher valeur de a et la charger en registre (le même)
| 4 copie du registre vers emplecament mémoire de y
|
| On peut être tenté d'omettre l'étape 3 ;-)
| J'appelle ça une optimisation.
mais, je ne sais pas ce que c'est qu'un registre.
Et surtout comment
je vérifie que c'est quelque chose que fait le compilateur ?
|
| Maintenant, s'agissant de 4 instructions machine, ce code
| est interruptible,
Comment et où ?
?
"Alain Naigeon" <anaigeon@free.fr> writes:
| "Gabriel Dos Reis" <gdr@integrable-solutions.net> a écrit dans le
message
| news: m33bxwrcl6.fsf@uniton.integrable-solutions.net...
|
| > qu'appelles-tu « optimiser » ?
|
|
| Comme d'habitude, tu connais la réponse à ta question.
Bah non, puisque c'est toi qui utilises un terme que je ne comprends pas.
| Mais puisque ça m'intéresse de voir où tu veux en venir,
| voici juste l'exemple de deux affectations :
| x = a ;
| y = a ;
| (mettons que ce soient des entiers)
|
| J'ai déjà vu du code généré qui ressemblait à ceci :
| 1 chercher la valeur de a en mémoire et la charger dans un registre
| 2 copie du registre vers l'emplacement mémoire de x
| 3 chercher valeur de a et la charger en registre (le même)
| 4 copie du registre vers emplecament mémoire de y
|
| On peut être tenté d'omettre l'étape 3 ;-)
| J'appelle ça une optimisation.
mais, je ne sais pas ce que c'est qu'un registre.
Et surtout comment
je vérifie que c'est quelque chose que fait le compilateur ?
|
| Maintenant, s'agissant de 4 instructions machine, ce code
| est interruptible,
Comment et où ?
?
"Alain Naigeon" writes:
| "Gabriel Dos Reis" a écrit dans le
message
| news:
|
| > qu'appelles-tu « optimiser » ?
|
|
| Comme d'habitude, tu connais la réponse à ta question.
Bah non, puisque c'est toi qui utilises un terme que je ne comprends pas.
| Mais puisque ça m'intéresse de voir où tu veux en venir,
| voici juste l'exemple de deux affectations :
| x = a ;
| y = a ;
| (mettons que ce soient des entiers)
|
| J'ai déjà vu du code généré qui ressemblait à ceci :
| 1 chercher la valeur de a en mémoire et la charger dans un registre
| 2 copie du registre vers l'emplacement mémoire de x
| 3 chercher valeur de a et la charger en registre (le même)
| 4 copie du registre vers emplecament mémoire de y
|
| On peut être tenté d'omettre l'étape 3 ;-)
| J'appelle ça une optimisation.
mais, je ne sais pas ce que c'est qu'un registre.
Et surtout comment
je vérifie que c'est quelque chose que fait le compilateur ?
|
| Maintenant, s'agissant de 4 instructions machine, ce code
| est interruptible,
Comment et où ?
?
"Alain Naigeon" writes:
[...]
| > Et surtout comment
| > je vérifie que c'est quelque chose que fait le compilateur ?
|
| Je croyais tu écrivais des parties de compilateurs.
Mais cela n'explique pas ce que tu as écrit. Et tsurtout cela ne
m;explique pas comment *tu* envisages qu'on vérifie ce que le
compilateur pond.
| > |
| > | Maintenant, s'agissant de 4 instructions machine, ce code
| > | est interruptible,
| >
| > Comment et où ?
|
| Bah, tu sais, j'ai programmé des routines d'interruption,
| alors arrête de botter en touche sans apporter un seul
| élément positif,
Tu fais des affirmations ; on te demande plus d'explications et des
justifications et tu appelles cela botter en touche. Ahem.
"Alain Naigeon" <anaigeon@free.fr> writes:
[...]
| > Et surtout comment
| > je vérifie que c'est quelque chose que fait le compilateur ?
|
| Je croyais tu écrivais des parties de compilateurs.
Mais cela n'explique pas ce que tu as écrit. Et tsurtout cela ne
m;explique pas comment *tu* envisages qu'on vérifie ce que le
compilateur pond.
| > |
| > | Maintenant, s'agissant de 4 instructions machine, ce code
| > | est interruptible,
| >
| > Comment et où ?
|
| Bah, tu sais, j'ai programmé des routines d'interruption,
| alors arrête de botter en touche sans apporter un seul
| élément positif,
Tu fais des affirmations ; on te demande plus d'explications et des
justifications et tu appelles cela botter en touche. Ahem.
"Alain Naigeon" writes:
[...]
| > Et surtout comment
| > je vérifie que c'est quelque chose que fait le compilateur ?
|
| Je croyais tu écrivais des parties de compilateurs.
Mais cela n'explique pas ce que tu as écrit. Et tsurtout cela ne
m;explique pas comment *tu* envisages qu'on vérifie ce que le
compilateur pond.
| > |
| > | Maintenant, s'agissant de 4 instructions machine, ce code
| > | est interruptible,
| >
| > Comment et où ?
|
| Bah, tu sais, j'ai programmé des routines d'interruption,
| alors arrête de botter en touche sans apporter un seul
| élément positif,
Tu fais des affirmations ; on te demande plus d'explications et des
justifications et tu appelles cela botter en touche. Ahem.