Mercurial > hg > graal-jvmci-8
comparison src/share/vm/adlc/formssel.cpp @ 415:4d9884b01ba6
6754519: don't emit flag fixup for NaN when condition being tested doesn't need it
Reviewed-by: kvn, rasbold
author | never |
---|---|
date | Tue, 28 Oct 2008 09:31:30 -0700 |
parents | 1ee8caae33af |
children | a1980da045cc |
comparison
equal
deleted
inserted
replaced
407:ebfd4ae89bf6 | 415:4d9884b01ba6 |
---|---|
1572 return Opcode::TERTIARY; | 1572 return Opcode::TERTIARY; |
1573 } | 1573 } |
1574 return Opcode::NOT_AN_OPCODE; | 1574 return Opcode::NOT_AN_OPCODE; |
1575 } | 1575 } |
1576 | 1576 |
1577 void Opcode::print_opcode(FILE *fp, Opcode::opcode_type desired_opcode) { | 1577 bool Opcode::print_opcode(FILE *fp, Opcode::opcode_type desired_opcode) { |
1578 // Default values previously provided by MachNode::primary()... | 1578 // Default values previously provided by MachNode::primary()... |
1579 const char *description = "default_opcode()"; | 1579 const char *description = NULL; |
1580 const char *value = "-1"; | 1580 const char *value = NULL; |
1581 // Check if user provided any opcode definitions | 1581 // Check if user provided any opcode definitions |
1582 if( this != NULL ) { | 1582 if( this != NULL ) { |
1583 // Update 'value' if user provided a definition in the instruction | 1583 // Update 'value' if user provided a definition in the instruction |
1584 switch (desired_opcode) { | 1584 switch (desired_opcode) { |
1585 case PRIMARY: | 1585 case PRIMARY: |
1597 default: | 1597 default: |
1598 assert( false, "ShouldNotReachHere();"); | 1598 assert( false, "ShouldNotReachHere();"); |
1599 break; | 1599 break; |
1600 } | 1600 } |
1601 } | 1601 } |
1602 fprintf(fp, "(%s /*%s*/)", value, description); | 1602 if (value != NULL) { |
1603 fprintf(fp, "(%s /*%s*/)", value, description); | |
1604 } | |
1605 return value != NULL; | |
1603 } | 1606 } |
1604 | 1607 |
1605 void Opcode::dump() { | 1608 void Opcode::dump() { |
1606 output(stderr); | 1609 output(stderr); |
1607 } | 1610 } |
2608 if ( _disp != NULL ) fprintf(fp," disp == %s\n", _disp); | 2611 if ( _disp != NULL ) fprintf(fp," disp == %s\n", _disp); |
2609 // fprintf(fp,"\n"); | 2612 // fprintf(fp,"\n"); |
2610 } | 2613 } |
2611 | 2614 |
2612 //------------------------------CondInterface---------------------------------- | 2615 //------------------------------CondInterface---------------------------------- |
2613 CondInterface::CondInterface(char *equal, char *not_equal, | 2616 CondInterface::CondInterface(const char* equal, const char* equal_format, |
2614 char *less, char *greater_equal, | 2617 const char* not_equal, const char* not_equal_format, |
2615 char *less_equal, char *greater) | 2618 const char* less, const char* less_format, |
2619 const char* greater_equal, const char* greater_equal_format, | |
2620 const char* less_equal, const char* less_equal_format, | |
2621 const char* greater, const char* greater_format) | |
2616 : Interface("COND_INTER"), | 2622 : Interface("COND_INTER"), |
2617 _equal(equal), _not_equal(not_equal), | 2623 _equal(equal), _equal_format(equal_format), |
2618 _less(less), _greater_equal(greater_equal), | 2624 _not_equal(not_equal), _not_equal_format(not_equal_format), |
2619 _less_equal(less_equal), _greater(greater) { | 2625 _less(less), _less_format(less_format), |
2620 // | 2626 _greater_equal(greater_equal), _greater_equal_format(greater_equal_format), |
2627 _less_equal(less_equal), _less_equal_format(less_equal_format), | |
2628 _greater(greater), _greater_format(greater_format) { | |
2621 } | 2629 } |
2622 CondInterface::~CondInterface() { | 2630 CondInterface::~CondInterface() { |
2623 // not owner of any character arrays | 2631 // not owner of any character arrays |
2624 } | 2632 } |
2625 | 2633 |