A JavaCallWrapper is constructed before each JavaCall and destroyed after the call. Its purpose is to allocate/deallocate a new handle block and to save/restore the last Java fp/sp. A pointer to the JavaCallWrapper is stored on the stack.
Note
this port is very minimal and is only designed to get frame traversal working. FIXME: we will have to add platform- specific stuff later and therefore a factory for these objects.
| Modifier and Type | Field and Description |
|---|---|
| protected static AddressField | |
| private static AddressField | |
| private static AddressField |
| Access | Constructor and Description |
|---|---|
| public |
| Modifier and Type | Method and Description |
|---|---|
| public Address | |
| public Address | |
| private static synchronized void |
| anchorField | back to summary |
|---|---|
| protected static AddressField anchorField | |
| lastJavaPCField | back to summary |
|---|---|
| private static AddressField lastJavaPCField | |
| lastJavaSPField | back to summary |
|---|---|
| private static AddressField lastJavaSPField | |
| JavaCallWrapper | back to summary |
|---|---|
| public JavaCallWrapper(Address addr) | |
| getLastJavaPC | back to summary |
|---|---|
| public Address getLastJavaPC() | |
| getLastJavaSP | back to summary |
|---|---|
| public Address getLastJavaSP() | |
| initialize | back to summary |
|---|---|
| private static synchronized void initialize(TypeDataBase db) | |