src/share/vm/opto/subnode.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File
*** old/src/share/vm/opto/subnode.cpp	Mon Aug  4 14:31:50 2014
--- new/src/share/vm/opto/subnode.cpp	Mon Aug  4 14:31:50 2014

*** 1166,1176 **** --- 1166,1175 ---- //-------------------------------make_predicate-------------------------------- Node* BoolNode::make_predicate(Node* test_value, PhaseGVN* phase) { if (test_value->is_Con()) return test_value; if (test_value->is_Bool()) return test_value; Compile* C = phase->C; if (test_value->is_CMove() && test_value->in(CMoveNode::Condition)->is_Bool()) { BoolNode* bol = test_value->in(CMoveNode::Condition)->as_Bool(); const Type* ftype = phase->type(test_value->in(CMoveNode::IfFalse)); const Type* ttype = phase->type(test_value->in(CMoveNode::IfTrue));
*** 1189,1207 **** --- 1188,1205 ---- } //--------------------------------as_int_value--------------------------------- Node* BoolNode::as_int_value(PhaseGVN* phase) { // Inverse to make_predicate. The CMove probably boils down to a Conv2B. - Node* cmov = CMoveNode::make(phase->C, NULL, this, phase->intcon(0), phase->intcon(1), TypeInt::BOOL); return phase->transform(cmov); } //----------------------------------negate------------------------------------- BoolNode* BoolNode::negate(PhaseGVN* phase) { Compile* C = phase->C; return new BoolNode(in(1), _test.negate()); } //------------------------------Ideal------------------------------------------

src/share/vm/opto/subnode.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File