1

yop,


La doc de HeapDeref dit ça :
Note: HeapDeref returns garbage if Handle is H_NULL.

Ca veut dire quoi "retourner un garbage" ? Ca appelle HeapCompress et ça ne renvoie rien de précis ? J'ai pas tracé AMS pour le savoir. En tout cas, PedroM ne fait rien de particulier s'il trouve H_NULL en argument :
HeapDeref:
	moveq	#0,d0
	move.w	4(a7),d0
	lsl.w	#2,d0
	movea.l	HEAP_PTR,a0
	move.l	0(a0,d0.w),a0
	rts

Ca va juste renvoyer l'adresse du handle numéro #0, qui est d'ailleurs utilisé à je ne sais quoi... C'est un bug ?

2

Ça veut dire que la valeur renvoyée peut être quelconque, mais à priori que la fonction ne plantera pas pour autant (vu que ce n'est pas indiqué). Donc non, l'implémentation de PedroM n'est pas buguée.
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

3

Ok, merci bien. smile

4

Je confirme ce que dit Zerosquare, "return garbage" veut dire ce que ça veut dire, il retourne n'importe quoi. Et la fonction HeapDeref ne provoque jamais un HeapCompress.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

5

oué : http://www.wordreference.com/enfr/garbage
Rien à voir avec le "garbage collection" du tas.

6

Okay. J'avais effectivement un problème de vocabulaire hehe

7

Dans tous les cas, ça veut dire qu'il ne faut pas appeler HeapDeref() avec H_NULL, vu que toute utilisation (déréférencement, comparaison à NULL, etc.) de la valeur de retour causera un comportement indéfini.
Et vu que HeapDeref n'a aucun effet de bord, la seule raison de l'appeler est d'utiliser sa valeur de retour...
avatar
Maintenant j'ai la flemme de garder une signature à jour sur ce site. Je n'ai même plus ma chaîne Exec sous la main.

8

Ouais enfin faut pas être trop parano non plus tongue

La valeur de retour est dans un registre, donc la lire ne peut pas provoquer d'effet secondaire, c'est juste qu'elle peut valoir n'importe quoi.
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

9

Oui, c'est pourquoi j'ai dit "utiliser" et non "lire".
avatar
Maintenant j'ai la flemme de garder une signature à jour sur ce site. Je n'ai même plus ma chaîne Exec sous la main.

10

Hum hum cheeky
Link (./8) :
comparaison à NULL


avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

11

Disons que le résultat de la comparaison sera indéfini, et donc que toute action conditionnelle en dépendant le sera. Évidemment, il n'a jamais été dans mon intention d'insinuer que la comparaison elle-même causerait un plantage avant la fin de l'instruction TST...
avatar
Maintenant j'ai la flemme de garder une signature à jour sur ce site. Je n'ai même plus ma chaîne Exec sous la main.

12

Link (./7) :
vu que toute utilisation (déréférencement, comparaison à NULL, etc.) de la valeur de retour

déréférencement d'adresse ?

hmmmm cheeky
Link (./11) :
Évidemment, il n'a jamais été dans mon intention d'insinuer que la comparaison elle-même causerait un plantage avant la fin de l'instruction TST...

tst.l a0 ?

hmmmm cheeky

13

tst.l %a0 n'existe pas, il faut un move.l %a0,%dn, ou si on ne veut pas détruire de registre de données, cmpa.l #0,%a0.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

14

De toute façon, moi je préfère le trap #3 tongue

(et t'inquiète, je sais que tst.l an n'existe pas, cf le "cheeky")