matcher.cpp (5976:2b8e28fdf503) matcher.cpp (5983:2113136690bc)
1/*
2 * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation.
8 *

--- 811 unchanged lines hidden (view full) ---

820 Node *fp = ret->in(TypeFunc::FramePtr);
821 Node *mem = ret->in(TypeFunc::Memory);
822 const TypePtr* atp = TypePtr::BOTTOM;
823 // Share frame pointer while making spill ops
824 set_shared(fp);
825
826 // Compute generic short-offset Loads
827#ifdef _LP64
1/*
2 * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation.
8 *

--- 811 unchanged lines hidden (view full) ---

820 Node *fp = ret->in(TypeFunc::FramePtr);
821 Node *mem = ret->in(TypeFunc::Memory);
822 const TypePtr* atp = TypePtr::BOTTOM;
823 // Share frame pointer while making spill ops
824 set_shared(fp);
825
826 // Compute generic short-offset Loads
827#ifdef _LP64
828 MachNode *spillCP = match_tree(new (C) LoadNNode(NULL,mem,fp,atp,TypeInstPtr::BOTTOM));
828 MachNode *spillCP = match_tree(new (C) LoadNNode(NULL,mem,fp,atp,TypeInstPtr::BOTTOM,MemNode::unordered));
829#endif
829#endif
830 MachNode *spillI = match_tree(new (C) LoadINode(NULL,mem,fp,atp));
831 MachNode *spillL = match_tree(new (C) LoadLNode(NULL,mem,fp,atp));
832 MachNode *spillF = match_tree(new (C) LoadFNode(NULL,mem,fp,atp));
833 MachNode *spillD = match_tree(new (C) LoadDNode(NULL,mem,fp,atp));
834 MachNode *spillP = match_tree(new (C) LoadPNode(NULL,mem,fp,atp,TypeInstPtr::BOTTOM));
830 MachNode *spillI = match_tree(new (C) LoadINode(NULL,mem,fp,atp,TypeInt::INT,MemNode::unordered));
831 MachNode *spillL = match_tree(new (C) LoadLNode(NULL,mem,fp,atp,TypeLong::LONG,MemNode::unordered,false));
832 MachNode *spillF = match_tree(new (C) LoadFNode(NULL,mem,fp,atp,Type::FLOAT,MemNode::unordered));
833 MachNode *spillD = match_tree(new (C) LoadDNode(NULL,mem,fp,atp,Type::DOUBLE,MemNode::unordered));
834 MachNode *spillP = match_tree(new (C) LoadPNode(NULL,mem,fp,atp,TypeInstPtr::BOTTOM,MemNode::unordered));
835 assert(spillI != NULL && spillL != NULL && spillF != NULL &&
836 spillD != NULL && spillP != NULL, "");
835 assert(spillI != NULL && spillL != NULL && spillF != NULL &&
836 spillD != NULL && spillP != NULL, "");
837
838 // Get the ADLC notion of the right regmask, for each basic type.
839#ifdef _LP64
840 idealreg2regmask[Op_RegN] = &spillCP->out_RegMask();
841#endif
842 idealreg2regmask[Op_RegI] = &spillI->out_RegMask();
843 idealreg2regmask[Op_RegL] = &spillL->out_RegMask();
844 idealreg2regmask[Op_RegF] = &spillF->out_RegMask();
845 idealreg2regmask[Op_RegD] = &spillD->out_RegMask();

--- 1586 unchanged lines hidden ---
837 // Get the ADLC notion of the right regmask, for each basic type.
838#ifdef _LP64
839 idealreg2regmask[Op_RegN] = &spillCP->out_RegMask();
840#endif
841 idealreg2regmask[Op_RegI] = &spillI->out_RegMask();
842 idealreg2regmask[Op_RegL] = &spillL->out_RegMask();
843 idealreg2regmask[Op_RegF] = &spillF->out_RegMask();
844 idealreg2regmask[Op_RegD] = &spillD->out_RegMask();

--- 1586 unchanged lines hidden ---