Class X86PcodeStateInitializer

java.lang.Object
ghidra.pcode.emu.x86.X86PcodeStateInitializer
All Implemented Interfaces:
PcodeStateInitializer, ExtensionPoint

public class X86PcodeStateInitializer extends Object implements PcodeStateInitializer
  • Constructor Details

    • X86PcodeStateInitializer

      public X86PcodeStateInitializer()
  • Method Details

    • isApplicable

      public boolean isApplicable(Language language)
      Description copied from interface: PcodeStateInitializer
      Check if this initializer applies to the given language
      Specified by:
      isApplicable in interface PcodeStateInitializer
      Parameters:
      language - the language to check
      Returns:
      true if it applies, false otherwise
    • initializeThread

      public <T> void initializeThread(PcodeThread<T> thread)
      Description copied from interface: PcodeStateInitializer
      The thread's register state has just been initialized, and additional initialization is needed for Sleigh execution

      Initialization generally consists of setting "virtual" registers using data from the real ones. Virtual registers are those specified in the Sleigh, but which don't actually exist on the target processor. Often, they exist to simplify static analysis, but unfortunately cause a minor headache for dynamic execution.

      Specified by:
      initializeThread in interface PcodeStateInitializer
      Type Parameters:
      T - the type of values in the machine state
      Parameters:
      thread - the newly-initialized thread