Mercurial > hg > truffle
comparison src/share/vm/opto/machnode.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 | 3d42f82cd811 |
children | e3b0dcc327b9 |
comparison
equal
deleted
inserted
replaced
3852:fdb992d83a87 | 3853:11211f7cb5a0 |
---|---|
387 } | 387 } |
388 return skipped; | 388 return skipped; |
389 } | 389 } |
390 | 390 |
391 | 391 |
392 //------------------------------negate----------------------------------------- | |
393 // Negate conditional branches. Error for non-branch Nodes | |
394 void MachNode::negate() { | |
395 ShouldNotCallThis(); | |
396 } | |
397 | |
398 //------------------------------peephole--------------------------------------- | 392 //------------------------------peephole--------------------------------------- |
399 // Apply peephole rule(s) to this instruction | 393 // Apply peephole rule(s) to this instruction |
400 MachNode *MachNode::peephole( Block *block, int block_index, PhaseRegAlloc *ra_, int &deleted, Compile* C ) { | 394 MachNode *MachNode::peephole( Block *block, int block_index, PhaseRegAlloc *ra_, int &deleted, Compile* C ) { |
401 return NULL; | 395 return NULL; |
402 } | 396 } |
403 | 397 |
404 //------------------------------add_case_label--------------------------------- | 398 //------------------------------add_case_label--------------------------------- |
405 // Adds the label for the case | 399 // Adds the label for the case |
406 void MachNode::add_case_label( int index_num, Label* blockLabel) { | 400 void MachNode::add_case_label( int index_num, Label* blockLabel) { |
407 ShouldNotCallThis(); | |
408 } | |
409 | |
410 //------------------------------label_set-------------------------------------- | |
411 // Set the Label for a LabelOper, if an operand for this instruction | |
412 void MachNode::label_set( Label* label, uint block_num ) { | |
413 ShouldNotCallThis(); | 401 ShouldNotCallThis(); |
414 } | 402 } |
415 | 403 |
416 //------------------------------method_set------------------------------------- | 404 //------------------------------method_set------------------------------------- |
417 // Set the absolute address of a method | 405 // Set the absolute address of a method |
513 | 501 |
514 void MachNullCheckNode::emit(CodeBuffer &cbuf, PhaseRegAlloc *ra_) const { | 502 void MachNullCheckNode::emit(CodeBuffer &cbuf, PhaseRegAlloc *ra_) const { |
515 // only emits entries in the null-pointer exception handler table | 503 // only emits entries in the null-pointer exception handler table |
516 } | 504 } |
517 void MachNullCheckNode::label_set(Label* label, uint block_num) { | 505 void MachNullCheckNode::label_set(Label* label, uint block_num) { |
506 // Nothing to emit | |
507 } | |
508 void MachNullCheckNode::save_label( Label** label, uint* block_num ) { | |
518 // Nothing to emit | 509 // Nothing to emit |
519 } | 510 } |
520 | 511 |
521 const RegMask &MachNullCheckNode::in_RegMask( uint idx ) const { | 512 const RegMask &MachNullCheckNode::in_RegMask( uint idx ) const { |
522 if( idx == 0 ) return RegMask::Empty; | 513 if( idx == 0 ) return RegMask::Empty; |