deoptimization.hpp revision 3863
2N/A * or visit www.oracle.com if you need additional information or have any
2N/A#include "memory/allocation.hpp"
2N/A#include "runtime/frame.inline.hpp"
2N/Aclass ProfileData;
2N/Aclass vframeArray;
2N/Aclass MonitorValue;
2N/Aclass ObjectValue;
2N/A enum DeoptReason {
2N/A enum DeoptAction {
2N/A _action_shift = 0,
2N/A enum UnpackType {
2N/A static int deoptimize_dependents();
2N/A static bool realloc_objects(JavaThread* thread, frame* fr, GrowableArray<ScopeValue*>* objects, TRAPS);
2N/A static void reassign_type_array_elements(frame* fr, RegisterMap* reg_map, ObjectValue* sv, typeArrayOop obj, BasicType type);
2N/A static void reassign_object_array_elements(frame* fr, RegisterMap* reg_map, ObjectValue* sv, objArrayOop obj);
2N/A static void reassign_fields(frame* fr, RegisterMap* reg_map, GrowableArray<ScopeValue*>* objects);
2N/A static vframeArray* create_vframeArray(JavaThread* thread, frame fr, RegisterMap *reg_map, GrowableArray<compiledVFrame*>* chunk);
2N/A int caller_adjustment,
2N/A int number_of_frames,
2N/A ~UnrollBlock();
2N/A int size_of_frames() const;
2N/A static int size_of_deoptimized_frame_offset_in_bytes() { return offset_of(UnrollBlock, _size_of_deoptimized_frame); }
2N/A static int caller_adjustment_offset_in_bytes() { return offset_of(UnrollBlock, _caller_adjustment); }
2N/A static int number_of_frames_offset_in_bytes() { return offset_of(UnrollBlock, _number_of_frames); }
2N/A static int total_frame_sizes_offset_in_bytes() { return offset_of(UnrollBlock, _total_frame_sizes); }
2N/A static int register_block_offset_in_bytes() { return offset_of(UnrollBlock, _register_block); }
2N/A static int sender_sp_temp_offset_in_bytes() { return offset_of(UnrollBlock, _sender_sp_temp); }
2N/A static void print_statistics();
2N/A if (trap_request < 0)
2N/A return (DeoptReason)
2N/A return Reason_unloaded;
2N/A if (trap_request < 0)
2N/A return (DeoptAction)
2N/A return _unloaded_action;
2N/A if (trap_request < 0)
2N/A return trap_request;
2N/A int trap_request;
2N/A return trap_request;
2N/A int trap_state);
2N/A return Reason_none;
2N/A int trap_request);
2N/A static void popframe_preserve_args(JavaThread* thread, int bytes_to_save, void* start_address);
2N/A static methodDataOop get_method_data(JavaThread* thread, methodHandle m, bool create_if_missing);
2N/A bool& ret_maybe_prior_trap,
2N/A bool& ret_maybe_prior_recompile);
2N/A static void update_method_data_from_interpreter(methodDataHandle trap_mdo, int trap_bci, int reason);
2N/A static bool _is_active;