Comme la génération de code adaptatif déclenche une conversion de vos objets programme et module seulement s'ils sont incompatibles, vous devez parfois intervenir pour que les programmes s'exécutent le plus rapidement possible.
POWER5 et POWER6 : Considérations spéciales
Par exemple, supposons que vous construisiez votre programme sur une plate-forme POWER5 et que vous le restauriez sur une plate-forme POWER6. Comme l’architecture est compatible en amont, votre programme fonctionne correctement en l’état. Par conséquent, il n’est pas converti. Mais il ne profite pas non plus des nouvelles fonctions POWER6. Ainsi, si votre programme utilise beaucoup les pointeurs, vous devez vous assurer que les fonctions POWER6 sont activées.
Si votre programme a des données de création observables, vous pouvez activer des fonctions spéciales simplement en forçant la re-création du programme ou du programme de service. Par exemple, vous pouvez voir le code suivant :
CHGPGM PGM(applib/mypgm) FRCCRT(*YES)
Par ailleurs, il y a deux moyens de forcer la conversion de votre programme pendant une restauration. Si c’est une opération ponctuelle, exécutez la commande RSTOBJ ou RSTLIB avec le paramètre FRCOBJCVN(*YES *ALL). S’il y a de nombreux programmes à convertir, il vaudra mieux mettre la valeur système QFRCCVNRST à 7, puis utiliser RSTOBJ ou RSTLIB autant de fois que nécessaire pour convertir tous les objets.
Vous pouvez aussi supplanter le comportement par défaut de la génération de code adaptatif. Supposons que vous développiez votre application sur la plate-forme POWER6, mais que vous vouliez la distribuer sur des serveurs utilisant POWER5. Pour éviter les coûts de conversion quand l’application est activée pour la première fois sur ces autres serveurs, vous pouvez utiliser le paramètre LICOPT pour obliger le traducteur à n’utiliser que les fonctions qui sont communes à tous les processeurs reconnus par la release cible. Par exemple, vous pouvez utiliser le code suivant :
CHGPGM PGM(applib/mypgm) FRCCRT(*YES)
LICOPT(‘CodeGenTarget=Common’)
Et vous pouvez forcer la génération du code pour un processeur différent de celui sur lequel vous développez, mais seulement si le processeur cible est supporté par votre release du système d’exploitation. Par exemple, vous pouvez utiliser le code suivant :
CHGPGM PGM(applib/mypgm) FRCCRT(*YES)
LICOPT(‘CodeGenTarget=Power7’)
Ce bref aperçu de la génération de code adaptatif est succinct. Pour plus d’informations, voir le manuel ILE Concepts.
Téléchargez cette ressource
Plan de sécurité Microsoft 365
Les attaquants savent comment prendre le contrôle de votre tenant Microsoft 365, et vous, savez-vous comment le reprendre en main ?
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Les agents d’IA fragilisent la sécurité : pour les sécuriser, inutile de repartir de zéro
- Yampa : innovation en IA, souveraineté et sécurité au service des DSI
- Les marchés publics peuvent-ils encore faire émerger des champions numériques français ?
- ESET accélère en France et mise sur l’IA face à la montée des cybermenaces
Articles les + lus
Computex 2026 : 5 signaux forts à retenir
La chaîne d’approvisionnement, point de rupture récurent du SI
Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
Rhea1 : SiPearl allume le CPU européen le plus ambitieux pour le HPC et l’IA souveraine
Analyse Patch Tuesday Mai 2026
À la une de la chaîne Tech
- Computex 2026 : 5 signaux forts à retenir
- La chaîne d’approvisionnement, point de rupture récurent du SI
- Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
- Rhea1 : SiPearl allume le CPU européen le plus ambitieux pour le HPC et l’IA souveraine
- Analyse Patch Tuesday Mai 2026
