< prev index next >

src/share/vm/opto/reg_split.cpp

Print this page

        

*** 1,7 **** /* ! * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. --- 1,7 ---- /* ! * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation.
*** 57,67 **** // not cover the input (or output), use the input (or output) mask instead. Node *PhaseChaitin::get_spillcopy_wide( Node *def, Node *use, uint uidx ) { // If ideal reg doesn't exist we've got a bad schedule happening // that is forcing us to spill something that isn't spillable. // Bail rather than abort ! int ireg = def->ideal_reg(); if( ireg == 0 || ireg == Op_RegFlags ) { assert(false, "attempted to spill a non-spillable item"); C->record_method_not_compilable("attempted to spill a non-spillable item"); return NULL; } --- 57,67 ---- // not cover the input (or output), use the input (or output) mask instead. Node *PhaseChaitin::get_spillcopy_wide( Node *def, Node *use, uint uidx ) { // If ideal reg doesn't exist we've got a bad schedule happening // that is forcing us to spill something that isn't spillable. // Bail rather than abort ! uint ireg = def->ideal_reg(); if( ireg == 0 || ireg == Op_RegFlags ) { assert(false, "attempted to spill a non-spillable item"); C->record_method_not_compilable("attempted to spill a non-spillable item"); return NULL; }
*** 1161,1171 **** set_was_spilled(n); assert(!n->is_Phi(),"Cannot insert Phi into DEFS list"); // Grab UP info for DEF const RegMask &dmask = n->out_RegMask(); bool defup = dmask.is_UP(); ! int ireg = n->ideal_reg(); bool is_vect = RegMask::is_vector(ireg); // Only split at Def if this is a HRP block or bound (and spilled once) if( !n->rematerialize() && (((dmask.is_bound(ireg) || !is_vect && dmask.is_misaligned_pair()) && (deflrg._direct_conflict || deflrg._must_spill)) || --- 1161,1171 ---- set_was_spilled(n); assert(!n->is_Phi(),"Cannot insert Phi into DEFS list"); // Grab UP info for DEF const RegMask &dmask = n->out_RegMask(); bool defup = dmask.is_UP(); ! uint ireg = n->ideal_reg(); bool is_vect = RegMask::is_vector(ireg); // Only split at Def if this is a HRP block or bound (and spilled once) if( !n->rematerialize() && (((dmask.is_bound(ireg) || !is_vect && dmask.is_misaligned_pair()) && (deflrg._direct_conflict || deflrg._must_spill)) ||
< prev index next >