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
Mac en entreprise : le levier d’un poste de travail moderne
Ce livre blanc répond aux 9 questions clés des entreprises sur l’intégration du Mac : sécurité, compatibilité, gestion, productivité, coûts, attractivité talents, RSE et IA, et l’accompagnement sur mesure proposé par inmac wstore.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Hôpitaux virtuels : renforcer le système de santé français grâce au numérique
- Cybercriminalité bancaire : l’IA industrialise les attaques en 2026
- Shadow AI en France : les RSSI alertent, mais la gouvernance des agents IA reste à la traîne
- Attaques edge : les fournisseurs, nouvelle cible prioritaire des cybercriminels
Articles les + lus
Quand les « travailleurs numériques » pallient le manque de bras dans l’industrie
Model Context Protocol : le contexte, grand oublié du débat
Microsoft dévoile MAI-Thinking-1 : un modèle de raisonnement « enterprise-grade » en preview publique
Couchbase lance AI Data Plane pour industrialiser l’IA agentique
Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
À la une de la chaîne Tech
- Quand les « travailleurs numériques » pallient le manque de bras dans l’industrie
- Model Context Protocol : le contexte, grand oublié du débat
- Microsoft dévoile MAI-Thinking-1 : un modèle de raisonnement « enterprise-grade » en preview publique
- Couchbase lance AI Data Plane pour industrialiser l’IA agentique
- Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
