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
SIEM & PME : Comment construire la boîte noire de votre SI ?
Passez à la cybersécurité proactive, transformez la collecte et l’analyse des logs en un bouclier dynamique contre les cybermenaces. Découvrez comment mettre en place une approche SIEM modulaire, évolutive et accessible, pour anticiper, détecter et réagir efficacement aux attaques.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Visibilité, réputation, clients : ce que les petites entreprises ne pourront plus déléguer en 2027
- IA souveraine : l’Europe avance, mais son interconnexion prend du retard
- Cloud public : la sécurité des données s’impose comme premier critère pour les agents publics
- Le champ de bataille des fournisseurs de services n’est plus l’IA, mais la confiance
Articles les + lus
Continuer avec Exchange Server : quelles conséquences ?
Raccourcis Réseau et Navigateur : le kit de Diagnostic des Professionnels IT
Raccourcis PowerShell et Windows Terminal pour les Professionnels IT
Commandes Windows 11 : le Guide des Outils accessibles avec Win + R
Sécurité : une approche dans la durée avant tout
À la une de la chaîne Tech
- Continuer avec Exchange Server : quelles conséquences ?
- Raccourcis Réseau et Navigateur : le kit de Diagnostic des Professionnels IT
- Raccourcis PowerShell et Windows Terminal pour les Professionnels IT
- Commandes Windows 11 : le Guide des Outils accessibles avec Win + R
- Sécurité : une approche dans la durée avant tout
