|
|||||||||
Home >> All >> [ Clazz overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: ![]() ![]() ![]() |
DETAIL: FIELD | CONSTR | METHOD |
Clazz
Class jq_CompiledCode

java.lang.ObjectClazz.jq_CompiledCode
- All Implemented Interfaces:
- java.lang.Comparable
- public class jq_CompiledCode
- extends java.lang.Object
- implements java.lang.Comparable
- extends java.lang.Object
- Version:
- $Id: jq_CompiledCode.java,v 1.22 2003/05/12 10:05:09 joewhaley Exp $
Nested Class Summary | |
(package private) static interface |
jq_CompiledCode.Delegate
|
Field Summary | |
private static jq_CompiledCode.Delegate |
_delegate
|
static jq_InstanceField |
_entrypoint
|
protected jq_BytecodeMap |
bcm
|
protected java.util.List |
code_reloc
|
protected java.util.List |
data_reloc
|
protected java.lang.Object |
ed
|
protected Memory.CodeAddress |
entrypoint
|
protected jq_TryCatch[] |
handlers
|
protected int |
length
|
protected jq_Method |
method
|
protected int |
stackframesize
|
protected Memory.CodeAddress |
start
|
static boolean |
TRACE
|
static boolean |
TRACE_REDIRECT
|
Constructor Summary | |
jq_CompiledCode(jq_Method method,
Memory.CodeAddress start,
int length,
Memory.CodeAddress entrypoint,
jq_TryCatch[] handlers,
jq_BytecodeMap bcm,
java.lang.Object ed,
int stackframesize,
java.util.List code_reloc,
java.util.List data_reloc)
|
Method Summary | |
private static jq_CompiledCode.Delegate |
attemptDelegate(java.lang.String s)
|
int |
compareTo(jq_CompiledCode that)
|
int |
compareTo(java.lang.Object o)
Compares this object with another, and returns a numerical result based on the comparison. |
boolean |
contains(Memory.CodeAddress address)
|
void |
deliverException(jq_TryCatch tc,
Memory.StackAddress fp,
java.lang.Throwable x)
|
boolean |
equals(java.lang.Object o)
Determine whether this Object is semantically equal to another Object. |
jq_TryCatch |
findCatchBlock(Memory.CodeAddress ip,
jq_Class extype)
|
int |
getBytecodeIndex(Memory.CodeAddress ip)
|
Memory.CodeAddress |
getEntrypoint()
|
int |
getLength()
|
jq_Method |
getMethod()
|
int |
getStackFrameSize()
|
Memory.CodeAddress |
getStart()
|
java.lang.Object |
getThisPointer(Memory.CodeAddress ip,
Memory.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. |
java.lang.String |
toString()
Convert this Object to a human-readable String. |
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 Memory.CodeAddress entrypoint
method
protected final jq_Method method
start
protected final Memory.CodeAddress start
length
protected final int length
handlers
protected final jq_TryCatch[] handlers
bcm
protected final jq_BytecodeMap bcm
ed
protected final java.lang.Object ed
stackframesize
protected final int stackframesize
code_reloc
protected final java.util.List code_reloc
data_reloc
protected final java.util.List data_reloc
_delegate
private static jq_CompiledCode.Delegate _delegate
_entrypoint
public static final jq_InstanceField _entrypoint
Constructor Detail |
jq_CompiledCode
public jq_CompiledCode(jq_Method method, Memory.CodeAddress start, int length, Memory.CodeAddress entrypoint, jq_TryCatch[] handlers, jq_BytecodeMap bcm, java.lang.Object ed, int stackframesize, java.util.List code_reloc, java.util.List data_reloc)
Method Detail |
getMethod
public jq_Method getMethod()
getStart
public Memory.CodeAddress getStart()
getLength
public int getLength()
getEntrypoint
public Memory.CodeAddress getEntrypoint()
getStackFrameSize
public int getStackFrameSize()
findCatchBlock
public jq_TryCatch findCatchBlock(Memory.CodeAddress ip, jq_Class extype)
deliverException
public void deliverException(jq_TryCatch tc, Memory.StackAddress fp, java.lang.Throwable x)
getThisPointer
public java.lang.Object getThisPointer(Memory.CodeAddress ip, Memory.StackAddress fp)
getBytecodeIndex
public int getBytecodeIndex(Memory.CodeAddress ip)
redirect
public void redirect(jq_CompiledCode that)
- Rewrite the entrypoint to branch to the given compiled code.
toString
public java.lang.String toString()
- Description copied from class:
java.lang.Object
- Convert this Object to a human-readable String.
There are no limits placed on how long this String
should be or what it should contain. We suggest you
make it as intuitive as possible to be able to place
it into System.out.println() 55
and such.
It is typical, but not required, to ensure that this method never completes abruptly with a java.lang.RuntimeException.
This method will be called when performing string concatenation with this object. If the result is
null
, string concatenation will instead use"null"
.The default implementation returns
getClass().getName() + "@" + Integer.toHexString(hashCode())
.
contains
public boolean contains(Memory.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(java.lang.Object o)
- Description copied from interface:
java.lang.Comparable
- Compares this object with another, and returns a numerical result based
on the comparison. If the result is negative, this object sorts less
than the other; if 0, the two are equal, and if positive, this object
sorts greater than the other. To translate this into boolean, simply
perform
o1.compareTo(o2) <op> 0
, where op is one of <, <=, =, !=, >, or >=.You must make sure that the comparison is mutual, ie.
sgn(x.compareTo(y)) == -sgn(y.compareTo(x))
(where sgn() is defined as -1, 0, or 1 based on the sign). This includes throwing an exception in either direction if the two are not comparable; hence,compareTo(null)
should always throw an Exception.You should also ensure transitivity, in two forms:
x.compareTo(y) > 0 && y.compareTo(z) > 0
impliesx.compareTo(z) > 0
; andx.compareTo(y) == 0
impliesx.compareTo(z) == y.compareTo(z)
.- Specified by:
compareTo
in interfacejava.lang.Comparable
equals
public boolean equals(java.lang.Object o)
- Description copied from class:
java.lang.Object
- Determine whether this Object is semantically equal
to another Object.
There are some fairly strict requirements on this method which subclasses must follow:
- It must be transitive. If
a.equals(b)
andb.equals(c)
, thena.equals(c)
must be true as well. - It must be symmetric.
a.equals(b)
andb.equals(a)
must have the same value. - It must be reflexive.
a.equals(a)
must always be true. - It must be consistent. Whichever value a.equals(b) returns on the first invocation must be the value returned on all later invocations.
a.equals(null)
must be false.- It must be consistent with hashCode(). That is,
a.equals(b)
must implya.hashCode() == b.hashCode()
. The reverse is not true; two objects that are not equal may have the same hashcode, but that has the potential to harm hashing performance.
This is typically overridden to throw a java.lang.ClassCastException if the argument is not comparable to the class performing the comparison, but that is not a requirement. It is legal for
a.equals(b)
to be true even thougha.getClass() != b.getClass()
. Also, it is typical to never cause a java.lang.NullPointerException.In general, the Collections API (
java.util
) use theequals
method rather than the==
operator to compare objects. However, java.util.IdentityHashMap is an exception to this rule, for its own good reasons.The default implementation returns
this == o
. - It must be transitive. If
hashCode
public int hashCode()
- NOTE that this violates the contract of hashCode when comparing against InstructionPointer objects!
attemptDelegate
private static jq_CompiledCode.Delegate attemptDelegate(java.lang.String s)
|
|||||||||
Home >> All >> [ Clazz overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: ![]() ![]() ![]() |
DETAIL: FIELD | CONSTR | METHOD |