#include <java_bytecode_convert_method_class.h>
address a value of type type_char stored in the JVM's slot arg. find_initializers_for_slot above for more detail. find_initializers_for_slot above for more detail. methodid from class classname is a method inherited from a class or interface from which classname inherits, either directly or indirectly. class_identifier.component_name Note this may be inherited from either a parent or an interface. method_id :/. Definition at line 35 of file java_bytecode_convert_method_class.h.
Definition at line 242 of file java_bytecode_convert_method_class.h.
Definition at line 65 of file java_bytecode_convert_method_class.h.
Definition at line 64 of file java_bytecode_convert_method_class.h.
Definition at line 261 of file java_bytecode_convert_method_class.h.
Definition at line 123 of file java_bytecode_convert_method_class.h.
Definition at line 66 of file java_bytecode_convert_method_class.h.
Definition at line 67 of file java_bytecode_convert_method_class.h.
Definition at line 77 of file java_bytecode_convert_method_class.h.
Definition at line 63 of file java_bytecode_convert_method_class.h.
Definition at line 207 of file java_bytecode_convert_method_class.h.
Definition at line 170 of file java_bytecode_convert_method_class.h.
| Enumerator | |
|---|---|
| VARIABLE | |
| ARRAY_REF | |
| STATIC_FIELD | |
| FIELD | |
Definition at line 339 of file java_bytecode_convert_method_class.h.
| Enumerator | |
|---|---|
| INST_INDEX | |
| INST_INDEX_CONST | |
Definition at line 178 of file java_bytecode_convert_method_class.h.
| Enumerator | |
|---|---|
| CAST_AS_NEEDED | |
| NO_CAST | |
Definition at line 190 of file java_bytecode_convert_method_class.h.
Definition at line 38 of file java_bytecode_convert_method_class.h.
Definition at line 534 of file java_bytecode_convert_method.cpp.
Definition at line 2993 of file java_bytecode_convert_method.cpp.
Definition at line 3059 of file java_bytecode_convert_method.cpp.
Definition at line 2423 of file java_bytecode_convert_method.cpp.
Definition at line 2407 of file java_bytecode_convert_method.cpp.
Definition at line 2767 of file java_bytecode_convert_method.cpp.
Definition at line 2739 of file java_bytecode_convert_method.cpp.
Definition at line 2169 of file java_bytecode_convert_method.cpp.
Definition at line 2122 of file java_bytecode_convert_method.cpp.
Definition at line 2135 of file java_bytecode_convert_method.cpp.
Definition at line 2148 of file java_bytecode_convert_method.cpp.
Definition at line 2693 of file java_bytecode_convert_method.cpp.
Definition at line 2896 of file java_bytecode_convert_method.cpp.
Definition at line 2920 of file java_bytecode_convert_method.cpp.
Definition at line 2874 of file java_bytecode_convert_method.cpp.
Definition at line 2852 of file java_bytecode_convert_method.cpp.
Definition at line 2823 of file java_bytecode_convert_method.cpp.
Definition at line 1055 of file java_bytecode_convert_method.cpp.
Definition at line 2231 of file java_bytecode_convert_method.cpp.
Definition at line 3089 of file java_bytecode_convert_method.cpp.
Load reference from local variable.
index must be an unsigned byte and an index in the local variable array of the current frame. The type of the local variable at index index must:
type_char is 'a'type_char is 'i', a typecast to int is added if neededjava_type_of_char(type_char) otherwise index Definition at line 3013 of file java_bytecode_convert_method.cpp.
Definition at line 2099 of file java_bytecode_convert_method.cpp.
Definition at line 2542 of file java_bytecode_convert_method.cpp.
Definition at line 2627 of file java_bytecode_convert_method.cpp.
Definition at line 2569 of file java_bytecode_convert_method.cpp.
Definition at line 1006 of file java_bytecode_convert_method.cpp.
Definition at line 2033 of file java_bytecode_convert_method.cpp.
Definition at line 2682 of file java_bytecode_convert_method.cpp.
Definition at line 2651 of file java_bytecode_convert_method.cpp.
Definition at line 2944 of file java_bytecode_convert_method.cpp.
Definition at line 2787 of file java_bytecode_convert_method.cpp.
Definition at line 3034 of file java_bytecode_convert_method.cpp.
Definition at line 2049 of file java_bytecode_convert_method.cpp.
Definition at line 2804 of file java_bytecode_convert_method.cpp.
actually create a temporary variable to hold the value of a stack entry
Definition at line 3431 of file java_bytecode_convert_method.cpp.
Definition at line 2461 of file java_bytecode_convert_method.cpp.
Definition at line 3160 of file java_bytecode_convert_method.cpp.
See find_initializers_for_slot above for more detail.
Combines entries in vars which flow together.
amap Definition at line 691 of file java_local_variable_table.cpp.
Given a sequence of users of the same local variable slot, this figures out which ones are related by control flow, and combines them into a single entry with holes, such that after combination we can create a single GOTO variable per variable table entry, placed at the live range's start address, which may be moved back so that the declaration dominates all uses.
Side-effect: merges variable table entries which flow into one another (e.g. there are branches from one live range to another without re-initializing the local slot).
Definition at line 597 of file java_local_variable_table.cpp.
See above.
address. Definition at line 852 of file java_local_variable_table.cpp.
'tree' describes a tree of code_blockt objects; this_block is the corresponding block (thus they are both trees with the same shape).
The caller is looking for the single block in the tree that most closely encloses bytecode address range [address_start,address_limit). 'next_block_start_address' is the start address of 'tree's successor sibling and is used to determine when the range spans out of its bounds.
Definition at line 729 of file java_bytecode_convert_method.cpp.
Each static access to classname should be prefixed with a check for necessary static init; this returns a call implementing that check.
Definition at line 984 of file java_bytecode_convert_method.cpp.
As above, but this version can additionally create a new branch in the block_tree-node and code_blockt trees to envelop the requested address range.
For example, if the tree was initially flat, with nodes (1-10), (11-20), (21-30) and the caller asked for range 13-28, this would build a surrounding tree node, leaving the tree of shape (1-10), ^( (11-20), (21-30) )^, and return a reference to the new branch highlighted with ^^. 'tree' and 'this_block' trees are always maintained with equal shapes. ('this_block' may additionally contain code_declt children which are ignored for this purpose).
get_block_for_pcrange. Definition at line 766 of file java_bytecode_convert_method.cpp.
Get static field identifier referred to by class_identifier.component_name Note this may be inherited from either a parent or an interface.
Definition at line 3330 of file java_bytecode_convert_method.cpp.
Returns true iff method methodid from class classname is a method inherited from a class or interface from which classname inherits, either directly or indirectly.
Definition at line 3315 of file java_bytecode_convert_method.cpp.
Returns true iff the slot index of the local variable of a method (coming from the LVT) is a parameter of that method.
Assumes that slots_for_parameters is initialized upon call.
Definition at line 219 of file java_bytecode_convert_method_class.h.
Definition at line 158 of file java_bytecode_convert_method.cpp.
Definition at line 69 of file java_bytecode_convert_method_class.h.
Definition at line 124 of file java_bytecode_convert_method.cpp.
removes minimum(n, stack.size()) elements from the stack
Definition at line 142 of file java_bytecode_convert_method.cpp.
Definition at line 149 of file java_bytecode_convert_method.cpp.
Definition at line 2392 of file java_bytecode_convert_method.cpp.
Find all goto statements in 'repl' that target 'old_label' and redirect them to 'new_label'.
old_label with. Definition at line 695 of file java_bytecode_convert_method.cpp.
Create temporary variables if a write instruction can have undesired side- effects.
Definition at line 3349 of file java_bytecode_convert_method.cpp.
See find_initializers_for_slot above for more detail.
Populates this->vars_with_holes equal to this->local_variable_table, only with variable table entries that flow together combined. Also symbol-table registers all locals.
m Definition at line 740 of file java_local_variable_table.cpp.
Definition at line 163 of file java_bytecode_convert_method.cpp.
Definition at line 3177 of file java_bytecode_convert_method.cpp.
Returns an expression indicating a local variable suitable to load/store from a bytecode at address address a value of type type_char stored in the JVM's slot arg.
arg, this is only used in the case where a new unnamed local variable is created arg for this bytecode Definition at line 196 of file java_bytecode_convert_method.cpp.
Definition at line 545 of file java_bytecode_convert_method_class.h.
Definition at line 175 of file java_bytecode_convert_method_class.h.
Definition at line 85 of file java_bytecode_convert_method_class.h.
Definition at line 174 of file java_bytecode_convert_method_class.h.
Definition at line 176 of file java_bytecode_convert_method_class.h.
A copy of method_id :/.
Definition at line 95 of file java_bytecode_convert_method_class.h.
Definition at line 80 of file java_bytecode_convert_method_class.h.
Definition at line 83 of file java_bytecode_convert_method_class.h.
Definition at line 173 of file java_bytecode_convert_method_class.h.
Fully qualified name of the method under translation.
Initialized by convert. Example: "my.package.ClassName.myMethodName:(II)I"
Definition at line 92 of file java_bytecode_convert_method_class.h.
Return type of the method under conversion.
Initialized by convert.
Definition at line 99 of file java_bytecode_convert_method_class.h.
Definition at line 87 of file java_bytecode_convert_method_class.h.
Definition at line 82 of file java_bytecode_convert_method_class.h.
Number of local variable slots used by the JVM to pass parameters upon invocation of the method under translation.
Initialized in convert.
Definition at line 106 of file java_bytecode_convert_method_class.h.
Definition at line 208 of file java_bytecode_convert_method_class.h.
Definition at line 101 of file java_bytecode_convert_method_class.h.
Definition at line 81 of file java_bytecode_convert_method_class.h.
Definition at line 86 of file java_bytecode_convert_method_class.h.
Definition at line 84 of file java_bytecode_convert_method_class.h.
Definition at line 199 of file java_bytecode_convert_method_class.h.
Definition at line 172 of file java_bytecode_convert_method_class.h.
Definition at line 171 of file java_bytecode_convert_method_class.h.