comparison src/share/vm/adlc/formssel.cpp @ 3853:11211f7cb5a0

7079317: Incorrect branch's destination block in PrintoOptoAssembly output Summary: save/restore label and block in scratch_emit_size() Reviewed-by: never
author kvn
date Tue, 16 Aug 2011 11:53:57 -0700
parents 95134e034042
children 1af104d6cf99
comparison
equal deleted inserted replaced
3852:fdb992d83a87 3853:11211f7cb5a0
338 if( _matrule == NULL ) return false; 338 if( _matrule == NULL ) return false;
339 339
340 return _matrule->is_ideal_jump(); 340 return _matrule->is_ideal_jump();
341 } 341 }
342 342
343 // Return 'true' if instruction matches ideal 'If' | 'Goto' | 343 // Return 'true' if instruction matches ideal 'If' | 'Goto' | 'CountedLoopEnd'
344 // 'CountedLoopEnd' | 'Jump'
345 bool InstructForm::is_ideal_branch() const { 344 bool InstructForm::is_ideal_branch() const {
346 if( _matrule == NULL ) return false; 345 if( _matrule == NULL ) return false;
347 346
348 return _matrule->is_ideal_if() || _matrule->is_ideal_goto() || _matrule->is_ideal_jump(); 347 return _matrule->is_ideal_if() || _matrule->is_ideal_goto();
349 } 348 }
350 349
351 350
352 // Return 'true' if this instruction matches an ideal 'Return' node 351 // Return 'true' if this instruction matches an ideal 'Return' node
353 bool InstructForm::is_ideal_return() const { 352 bool InstructForm::is_ideal_return() const {
381 } 380 }
382 381
383 bool InstructForm::is_ideal_control() const { 382 bool InstructForm::is_ideal_control() const {
384 if ( ! _matrule) return false; 383 if ( ! _matrule) return false;
385 384
386 return is_ideal_return() || is_ideal_branch() || is_ideal_halt(); 385 return is_ideal_return() || is_ideal_branch() || _matrule->is_ideal_jump() || is_ideal_halt();
387 } 386 }
388 387
389 // Return 'true' if this instruction matches an ideal 'Call' node 388 // Return 'true' if this instruction matches an ideal 'Call' node
390 Form::CallType InstructForm::is_ideal_call() const { 389 Form::CallType InstructForm::is_ideal_call() const {
391 if( _matrule == NULL ) return Form::invalid_type; 390 if( _matrule == NULL ) return Form::invalid_type;