joeq.Class
Class jq_CompiledCode

java.lang.Object
  extended by joeq.Class.jq_CompiledCode
All Implemented Interfaces:
Comparable

public class jq_CompiledCode
extends Object
implements Comparable

Version:
$Id: jq_CompiledCode.java 1931 2004-09-22 22:17:47Z joewhaley $
Author:
John Whaley

Field Summary
static jq_InstanceField _entrypoint
           
protected  jq_BytecodeMap bcm
           
protected  List code_reloc
           
protected  List data_reloc
           
protected  Object ed
           
protected  CodeAddress entrypoint
           
protected  jq_TryCatch[] handlers
           
protected  int length
           
protected  jq_Method method
           
protected  int stackframesize
           
protected  CodeAddress start
           
static boolean TRACE
           
static boolean TRACE_REDIRECT
           
 
Constructor Summary
jq_CompiledCode(jq_Method method, CodeAddress start, int length, CodeAddress entrypoint, jq_TryCatch[] handlers, jq_BytecodeMap bcm, Object ed, int stackframesize, List code_reloc, List data_reloc)
           
 
Method Summary
 int compareTo(jq_CompiledCode that)
           
 int compareTo(Object o)
           
 boolean contains(CodeAddress address)
           
 void deliverException(jq_TryCatch tc, StackAddress fp, Throwable x)
           
 boolean equals(Object o)
           
 jq_TryCatch findCatchBlock(CodeAddress ip, jq_Class extype)
           
 int getBytecodeIndex(CodeAddress ip)
           
 CodeAddress getEntrypoint()
           
 int getLength()
           
 jq_Method getMethod()
           
 int getStackFrameSize()
           
 CodeAddress getStart()
           
 Object getThisPointer(CodeAddress ip, StackAddress fp)
           
 int hashCode()
          NOTE that this violates the contract of hashCode when comparing against InstructionPointer objects!
 void patchDirectBindCalls()
           
 void patchDirectBindCalls(jq_Method method, jq_CompiledCode cc)
           
 void redirect(jq_CompiledCode that)
          Rewrite the entrypoint to branch to the given compiled code.
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

TRACE

public static boolean TRACE

TRACE_REDIRECT

public static boolean TRACE_REDIRECT

entrypoint

protected final CodeAddress entrypoint

method

protected final jq_Method method

start

protected final CodeAddress start

length

protected final int length

handlers

protected final jq_TryCatch[] handlers

bcm

protected final jq_BytecodeMap bcm

ed

protected final Object ed

stackframesize

protected final int stackframesize

code_reloc

protected final List code_reloc

data_reloc

protected final List data_reloc

_entrypoint

public static final jq_InstanceField _entrypoint
Constructor Detail

jq_CompiledCode

public jq_CompiledCode(jq_Method method,
                       CodeAddress start,
                       int length,
                       CodeAddress entrypoint,
                       jq_TryCatch[] handlers,
                       jq_BytecodeMap bcm,
                       Object ed,
                       int stackframesize,
                       List code_reloc,
                       List data_reloc)
Method Detail

getMethod

public jq_Method getMethod()

getStart

public CodeAddress getStart()

getLength

public int getLength()

getEntrypoint

public CodeAddress getEntrypoint()

getStackFrameSize

public int getStackFrameSize()

findCatchBlock

public jq_TryCatch findCatchBlock(CodeAddress ip,
                                  jq_Class extype)

deliverException

public void deliverException(jq_TryCatch tc,
                             StackAddress fp,
                             Throwable x)

getThisPointer

public Object getThisPointer(CodeAddress ip,
                             StackAddress fp)

getBytecodeIndex

public int getBytecodeIndex(CodeAddress ip)

redirect

public void redirect(jq_CompiledCode that)
Rewrite the entrypoint to branch to the given compiled code.


toString

public String toString()
Overrides:
toString in class Object

contains

public boolean contains(CodeAddress address)

patchDirectBindCalls

public void patchDirectBindCalls()

patchDirectBindCalls

public void patchDirectBindCalls(jq_Method method,
                                 jq_CompiledCode cc)

compareTo

public int compareTo(jq_CompiledCode that)

compareTo

public int compareTo(Object o)
Specified by:
compareTo in interface Comparable

equals

public boolean equals(Object o)
Overrides:
equals in class Object

hashCode

public int hashCode()
NOTE that this violates the contract of hashCode when comparing against InstructionPointer objects!

Overrides:
hashCode in class Object


Copyright © 2001-2008 John Whaley. All Rights Reserved.