Un cache en ligne polymorphe (PIC) fonctionne en mettant en cache la méthode actuelle par le type de l'objet, afin d'éviter les procédures de recherche coûteuses (généralement une recherche hashtable).Comment les caches polymorphes en ligne fonctionnent-ils avec des types mutables?
Comment peut-on gérer la comparaison de type si les objets de type sont mutables (c'est-à-dire que la méthode peut être modifiée de singe dans quelque chose de différent au moment de l'exécution)? La seule idée que j'ai trouvée est un "compteur de classes" qui s'incrémente à chaque fois qu'une méthode est ajustée, mais cela semble être exceptionnellement cher dans un environnement fortement corrigé, car cela tue tous les PIC pour cette classe, même si les méthodes pour eux n'ont pas été modifiées.
Je suis sûr qu'il doit y avoir une bonne solution à ce problème, car ce problème est directement applicable à JavaScript, et AFAIK les trois grandes machines virtuelles JavaScript ont des PIC.
Cela ressemble à une recette pour un désastre. –