-
公开(公告)号:DE112012003780T5
公开(公告)日:2014-06-18
申请号:DE112012003780
申请日:2012-10-01
Applicant: IBM
Inventor: MUNROE STEVEN , BLAINEY ROBERT , GSCHWIND MICHAEL , MCINNES JAMES , MEISSNER MICHAEL
IPC: G06F9/45
Abstract: Eine Codefolge, die aus mehreren Anweisungen besteht und eine relative Adresse von einer Basisadresse angibt, wird in einer Objektdatei identifiziert. Die relative Adresse von der Basisadresse entspricht einem Speicherort einer relativen Adresse in einem Speicher, der konfiguriert ist, um eine Variablen- oder eine Datenadresse zu speichern. Die identifizierte Codefolge ist so konfiguriert, dass sie eine Speicherreferenz-Funktion oder eine Speicheradressberechnungs-Funktion ausführt. Es wird ermittelt, dass sich der Speicherort der relativen Adresse in einem angegebenen Abstand von der Basisadresse befindet, und dass eine Ersetzung der identifizierten Codefolge durch eine neue Codefolge die Programmsemantik nicht ändert. Die identifizierte Codefolge in der Objektdatei wird durch die neue Codefolge ersetzt, die eine Nulloperations-(NOP)Anweisung oder weniger Anweisungen als die identifizierte Codefolge enthält. Ein verknüpfter ausführbarer Code wird auf der Grundlage der Objektdatei erzeugt, und der verknüpfte ausführbare Code wird ausgegeben.
-
公开(公告)号:DE112012003714T5
公开(公告)日:2014-05-22
申请号:DE112012003714
申请日:2012-09-14
Applicant: IBM
Inventor: GSCHWIND MICHAEL , BLAINEY ROBERT , MCINNES JAMES , MUNROE STEVEN
IPC: G06F9/45
Abstract: Kompilieren von Code für eine erweiterte binäre Anwendungsschnittstelle (ABI), der ein Identifizieren einer Codefolge durch einen Computer enthält, die so konfiguriert ist, dass sie eine Variablenadress-Referenztabellenfunktion ausführt, einschließlich eines Zugriffs auf eine Variable an einer relativen Adresse außerhalb eines Speicherorts in einer Variablenadress-Referenztabelle. Die Codefolge enthält eine IR (IR) einer ersten Anweisung und eine IR einer zweiten Anweisung. Die zweite Anweisung ist von der ersten Anweisung abhängig. Eine Planerkostenfunktion, die mindestens einer der IR der ersten Anweisung und der IR der zweiten Anweisung zugehörig ist, wird modifiziert. Das Modifizieren enthält ein Erzeugen einer modifizierten Planerkostenfunktion, die so konfiguriert ist, dass sie die erste Anweisung neben die zweiten Anweisung stellt. Eine Objektdatei wird in Reaktion auf die modifizierte Planerkostenfunktion erzeugt. Die Objektdatei enthält die erste Anweisung, die neben die zweiten Anweisung gestellt ist. Die Objektdatei wird ausgegeben.
-