src/share/vm/adlc/output_c.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File 6953576 Cdiff src/share/vm/adlc/output_c.cpp

src/share/vm/adlc/output_c.cpp

Print this page

        

*** 1380,1390 **** for( int unmatched_edge = 1; unmatched_edge < op_base; ++unmatched_edge ) { fprintf(fp, " root->add_req(inst%d->in(%d)); // unmatched ideal edge\n", inst_num, unmatched_edge); } // If new instruction captures bottom type ! if( root_form->captures_bottom_type() ) { // Get bottom type from instruction whose result we are replacing fprintf(fp, " root->_bottom_type = inst%d->bottom_type();\n", inst_num); } // Define result register and result operand fprintf(fp, " ra_->add_reference(root, inst%d);\n", inst_num); --- 1380,1390 ---- for( int unmatched_edge = 1; unmatched_edge < op_base; ++unmatched_edge ) { fprintf(fp, " root->add_req(inst%d->in(%d)); // unmatched ideal edge\n", inst_num, unmatched_edge); } // If new instruction captures bottom type ! if( root_form->captures_bottom_type(globals) ) { // Get bottom type from instruction whose result we are replacing fprintf(fp, " root->_bottom_type = inst%d->bottom_type();\n", inst_num); } // Define result register and result operand fprintf(fp, " ra_->add_reference(root, inst%d);\n", inst_num);
*** 2961,2971 **** // Output code to convert to the cisc version, if applicable used |= instr->define_cisc_version(*this, fp); // Output code to convert to the short branch version, if applicable ! used |= instr->define_short_branch_methods(fp); } // Construct the method called by cisc_version() to copy inputs and operands. define_fill_new_machnode(used, fp); --- 2961,2971 ---- // Output code to convert to the cisc version, if applicable used |= instr->define_cisc_version(*this, fp); // Output code to convert to the short branch version, if applicable ! used |= instr->define_short_branch_methods(*this, fp); } // Construct the method called by cisc_version() to copy inputs and operands. define_fill_new_machnode(used, fp);
*** 3706,3716 **** fprintf(fp_cpp, " );\n"); // ##### } // Fill in the bottom_type where requested ! if ( inst->captures_bottom_type() ) { fprintf(fp_cpp, "%s node->_bottom_type = _leaf->bottom_type();\n", indent); } if( inst->is_ideal_if() ) { fprintf(fp_cpp, "%s node->_prob = _leaf->as_If()->_prob;\n", indent); fprintf(fp_cpp, "%s node->_fcnt = _leaf->as_If()->_fcnt;\n", indent); --- 3706,3716 ---- fprintf(fp_cpp, " );\n"); // ##### } // Fill in the bottom_type where requested ! if ( inst->captures_bottom_type(_globalNames) ) { fprintf(fp_cpp, "%s node->_bottom_type = _leaf->bottom_type();\n", indent); } if( inst->is_ideal_if() ) { fprintf(fp_cpp, "%s node->_prob = _leaf->as_If()->_prob;\n", indent); fprintf(fp_cpp, "%s node->_fcnt = _leaf->as_If()->_fcnt;\n", indent);
*** 3760,3770 **** fprintf(fp_cpp, "// Build CISC version of this instruction\n"); fprintf(fp_cpp, "MachNode *%sNode::cisc_version( int offset, Compile* C ) {\n", this->_ident); // Create the MachNode object fprintf(fp_cpp, " %sNode *node = new (C) %sNode();\n", name, name); // Fill in the bottom_type where requested ! if ( this->captures_bottom_type() ) { fprintf(fp_cpp, " node->_bottom_type = bottom_type();\n"); } uint cur_num_opnds = num_opnds(); if (cur_num_opnds > 1 && cur_num_opnds != num_unique_opnds()) { --- 3760,3770 ---- fprintf(fp_cpp, "// Build CISC version of this instruction\n"); fprintf(fp_cpp, "MachNode *%sNode::cisc_version( int offset, Compile* C ) {\n", this->_ident); // Create the MachNode object fprintf(fp_cpp, " %sNode *node = new (C) %sNode();\n", name, name); // Fill in the bottom_type where requested ! if ( this->captures_bottom_type(AD.globalNames()) ) { fprintf(fp_cpp, " node->_bottom_type = bottom_type();\n"); } uint cur_num_opnds = num_opnds(); if (cur_num_opnds > 1 && cur_num_opnds != num_unique_opnds()) {
*** 3796,3806 **** } } //---------------------------define_short_branch_methods----------------------- // Build definitions for short branch methods ! bool InstructForm::define_short_branch_methods(FILE *fp_cpp) { if (has_short_branch_form()) { InstructForm *short_branch = short_branch_form(); const char *name = short_branch->_ident; // Construct short_branch_version() method. --- 3796,3806 ---- } } //---------------------------define_short_branch_methods----------------------- // Build definitions for short branch methods ! bool InstructForm::define_short_branch_methods(ArchDesc &AD, FILE *fp_cpp) { if (has_short_branch_form()) { InstructForm *short_branch = short_branch_form(); const char *name = short_branch->_ident; // Construct short_branch_version() method.
*** 3811,3821 **** if( is_ideal_if() ) { fprintf(fp_cpp, " node->_prob = _prob;\n"); fprintf(fp_cpp, " node->_fcnt = _fcnt;\n"); } // Fill in the bottom_type where requested ! if ( this->captures_bottom_type() ) { fprintf(fp_cpp, " node->_bottom_type = bottom_type();\n"); } fprintf(fp_cpp, "\n"); // Short branch version must use same node index for access --- 3811,3821 ---- if( is_ideal_if() ) { fprintf(fp_cpp, " node->_prob = _prob;\n"); fprintf(fp_cpp, " node->_fcnt = _fcnt;\n"); } // Fill in the bottom_type where requested ! if ( this->captures_bottom_type(AD.globalNames()) ) { fprintf(fp_cpp, " node->_bottom_type = bottom_type();\n"); } fprintf(fp_cpp, "\n"); // Short branch version must use same node index for access
src/share/vm/adlc/output_c.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File