comparison src/share/vm/c1/c1_IR.cpp @ 1579:e9ff18c4ace7

Merge
author jrose
date Wed, 02 Jun 2010 22:45:42 -0700
parents c18cbe5936b8 61b2245abf36
children b812ff5abc73
comparison
equal deleted inserted replaced
1562:dfe27f03244a 1579:e9ff18c4ace7
228 , _scope_debug_info(NULL) 228 , _scope_debug_info(NULL)
229 , _oop_map(NULL) 229 , _oop_map(NULL)
230 , _stack(stack) 230 , _stack(stack)
231 , _exception_handlers(exception_handlers) 231 , _exception_handlers(exception_handlers)
232 , _next(NULL) 232 , _next(NULL)
233 , _id(-1) { 233 , _id(-1)
234 , _is_method_handle_invoke(false) {
234 assert(_stack != NULL, "must be non null"); 235 assert(_stack != NULL, "must be non null");
235 assert(_bci == SynchronizationEntryBCI || Bytecodes::is_defined(scope()->method()->java_code_at_bci(_bci)), "make sure bci points at a real bytecode"); 236 assert(_bci == SynchronizationEntryBCI || Bytecodes::is_defined(scope()->method()->java_code_at_bci(_bci)), "make sure bci points at a real bytecode");
236 } 237 }
237 238
238 239
239 CodeEmitInfo::CodeEmitInfo(CodeEmitInfo* info, bool lock_stack_only) 240 CodeEmitInfo::CodeEmitInfo(CodeEmitInfo* info, bool lock_stack_only)
240 : _scope(info->_scope) 241 : _scope(info->_scope)
241 , _exception_handlers(NULL) 242 , _exception_handlers(NULL)
242 , _bci(info->_bci) 243 , _bci(info->_bci)
243 , _scope_debug_info(NULL) 244 , _scope_debug_info(NULL)
244 , _oop_map(NULL) { 245 , _oop_map(NULL)
246 , _is_method_handle_invoke(info->_is_method_handle_invoke) {
245 if (lock_stack_only) { 247 if (lock_stack_only) {
246 if (info->_stack != NULL) { 248 if (info->_stack != NULL) {
247 _stack = info->_stack->copy_locks(); 249 _stack = info->_stack->copy_locks();
248 } else { 250 } else {
249 _stack = NULL; 251 _stack = NULL;
257 _exception_handlers = new XHandlers(info->_exception_handlers); 259 _exception_handlers = new XHandlers(info->_exception_handlers);
258 } 260 }
259 } 261 }
260 262
261 263
262 void CodeEmitInfo::record_debug_info(DebugInformationRecorder* recorder, int pc_offset, bool is_method_handle_invoke) { 264 void CodeEmitInfo::record_debug_info(DebugInformationRecorder* recorder, int pc_offset) {
263 // record the safepoint before recording the debug info for enclosing scopes 265 // record the safepoint before recording the debug info for enclosing scopes
264 recorder->add_safepoint(pc_offset, _oop_map->deep_copy()); 266 recorder->add_safepoint(pc_offset, _oop_map->deep_copy());
265 _scope_debug_info->record_debug_info(recorder, pc_offset, true/*topmost*/, is_method_handle_invoke); 267 _scope_debug_info->record_debug_info(recorder, pc_offset, true/*topmost*/, _is_method_handle_invoke);
266 recorder->end_safepoint(pc_offset); 268 recorder->end_safepoint(pc_offset);
267 } 269 }
268 270
269 271
270 void CodeEmitInfo::add_register_oop(LIR_Opr opr) { 272 void CodeEmitInfo::add_register_oop(LIR_Opr opr) {