1.1 --- a/src/share/vm/c1/c1_IR.hpp Wed Sep 22 23:51:03 2010 -0700 1.2 +++ b/src/share/vm/c1/c1_IR.hpp Tue Dec 29 19:08:54 2009 +0100 1.3 @@ -132,8 +132,6 @@ 1.4 // hierarchy 1.5 Compilation* _compilation; // the current compilation 1.6 IRScope* _caller; // the caller scope, or NULL 1.7 - int _caller_bci; // the caller bci of the corresponding (inlined) invoke, or < 0 1.8 - ValueStack* _caller_state; // the caller state, or NULL 1.9 int _level; // the inlining level 1.10 ciMethod* _method; // the corresponding method 1.11 IRScopeList _callees; // the inlined method scopes 1.12 @@ -144,15 +142,9 @@ 1.13 bool _monitor_pairing_ok; // the monitor pairing info 1.14 BlockBegin* _start; // the start block, successsors are method entries 1.15 1.16 - // lock stack management 1.17 - int _lock_stack_size; // number of expression stack elements which, if present, 1.18 - // must be spilled to the stack because of exception 1.19 - // handling inside inlined methods 1.20 - 1.21 BitMap _requires_phi_function; // bit is set if phi functions at loop headers are necessary for a local variable 1.22 1.23 // helper functions 1.24 - BlockBegin* header_block(BlockBegin* entry, BlockBegin::Flag f, ValueStack* state); 1.25 BlockBegin* build_graph(Compilation* compilation, int osr_bci); 1.26 1.27 public: 1.28 @@ -162,33 +154,16 @@ 1.29 // accessors 1.30 Compilation* compilation() const { return _compilation; } 1.31 IRScope* caller() const { return _caller; } 1.32 - int caller_bci() const { return _caller_bci; } 1.33 - ValueStack* caller_state() const { return _caller_state; } 1.34 int level() const { return _level; } 1.35 ciMethod* method() const { return _method; } 1.36 int max_stack() const; // NOTE: expensive 1.37 - int lock_stack_size() const { 1.38 - assert(_lock_stack_size != -1, "uninitialized"); 1.39 - return _lock_stack_size; 1.40 - } 1.41 BitMap& requires_phi_function() { return _requires_phi_function; } 1.42 1.43 - // mutators 1.44 - // Needed because caller state is not ready at time of IRScope construction 1.45 - void set_caller_state(ValueStack* state) { _caller_state = state; } 1.46 - // Needed because caller state changes after IRScope construction. 1.47 - // Computes number of expression stack elements whose state must be 1.48 - // preserved in the case of an exception; these may be seen by 1.49 - // caller scopes. Zero when inlining of methods containing exception 1.50 - // handlers is disabled, otherwise a conservative approximation. 1.51 - void compute_lock_stack_size(); 1.52 - 1.53 // hierarchy 1.54 bool is_top_scope() const { return _caller == NULL; } 1.55 void add_callee(IRScope* callee) { _callees.append(callee); } 1.56 int number_of_callees() const { return _callees.length(); } 1.57 IRScope* callee_no(int i) const { return _callees.at(i); } 1.58 - int top_scope_bci() const; 1.59 1.60 // accessors, graph 1.61 bool is_valid() const { return start() != NULL; } 1.62 @@ -266,9 +241,6 @@ 1.63 XHandlers* _exception_handlers; 1.64 OopMap* _oop_map; 1.65 ValueStack* _stack; // used by deoptimization (contains also monitors 1.66 - int _bci; 1.67 - CodeEmitInfo* _next; 1.68 - int _id; 1.69 bool _is_method_handle_invoke; // true if the associated call site is a MethodHandle call site. 1.70 1.71 FrameMap* frame_map() const { return scope()->compilation()->frame_map(); } 1.72 @@ -277,23 +249,10 @@ 1.73 public: 1.74 1.75 // use scope from ValueStack 1.76 - CodeEmitInfo(int bci, ValueStack* stack, XHandlers* exception_handlers); 1.77 - 1.78 - // used by natives 1.79 - CodeEmitInfo(IRScope* scope, int bci) 1.80 - : _scope(scope) 1.81 - , _bci(bci) 1.82 - , _oop_map(NULL) 1.83 - , _scope_debug_info(NULL) 1.84 - , _stack(NULL) 1.85 - , _exception_handlers(NULL) 1.86 - , _next(NULL) 1.87 - , _id(-1) 1.88 - , _is_method_handle_invoke(false) { 1.89 - } 1.90 + CodeEmitInfo(ValueStack* stack, XHandlers* exception_handlers); 1.91 1.92 // make a copy 1.93 - CodeEmitInfo(CodeEmitInfo* info, bool lock_stack_only = false); 1.94 + CodeEmitInfo(CodeEmitInfo* info, ValueStack* stack = NULL); 1.95 1.96 // accessors 1.97 OopMap* oop_map() { return _oop_map; } 1.98 @@ -301,17 +260,10 @@ 1.99 IRScope* scope() const { return _scope; } 1.100 XHandlers* exception_handlers() const { return _exception_handlers; } 1.101 ValueStack* stack() const { return _stack; } 1.102 - int bci() const { return _bci; } 1.103 1.104 void add_register_oop(LIR_Opr opr); 1.105 void record_debug_info(DebugInformationRecorder* recorder, int pc_offset); 1.106 1.107 - CodeEmitInfo* next() const { return _next; } 1.108 - void set_next(CodeEmitInfo* next) { _next = next; } 1.109 - 1.110 - int id() const { return _id; } 1.111 - void set_id(int id) { _id = id; } 1.112 - 1.113 bool is_method_handle_invoke() const { return _is_method_handle_invoke; } 1.114 void set_is_method_handle_invoke(bool x) { _is_method_handle_invoke = x; } 1.115 };