Mercurial > hg > graal-compiler
diff src/share/vm/opto/chaitin.hpp @ 4137:04b9a2566eec
Merge with hsx23/hotspot.
author | Thomas Wuerthinger <thomas.wuerthinger@oracle.com> |
---|---|
date | Sat, 17 Dec 2011 21:40:27 +0100 |
parents | f6f3bb0ee072 |
children | 5da7201222d5 |
line wrap: on
line diff
--- a/src/share/vm/opto/chaitin.hpp Sat Dec 17 20:50:09 2011 +0100 +++ b/src/share/vm/opto/chaitin.hpp Sat Dec 17 21:40:27 2011 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2011, 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 @@ -50,6 +50,7 @@ //------------------------------LRG-------------------------------------------- // Live-RanGe structure. class LRG : public ResourceObj { + friend class VMStructs; public: enum { SPILL_REG=29999 }; // Register number of a spilled LRG @@ -181,6 +182,7 @@ // Map Node indices to Live RanGe indices. // Array lookup in the optimized case. class LRG_List : public ResourceObj { + friend class VMStructs; uint _cnt, _max; uint* _lidxs; ReallocMark _nesting; // assertion check for reallocations @@ -211,6 +213,7 @@ // abstract! It needs abstraction so I can fiddle with the implementation to // get even more speed. class PhaseIFG : public Phase { + friend class VMStructs; // Current implementation: a triangular adjacency list. // Array of adjacency-lists, indexed by live-range number @@ -294,6 +297,7 @@ //------------------------------Chaitin---------------------------------------- // Briggs-Chaitin style allocation, mostly. class PhaseChaitin : public PhaseRegAlloc { + friend class VMStructs; int _trip_cnt; int _alternate; @@ -482,6 +486,7 @@ } int yank_if_dead( Node *old, Block *current_block, Node_List *value, Node_List *regnd ); + int yank( Node *old, Block *current_block, Node_List *value, Node_List *regnd ); int elide_copy( Node *n, int k, Block *current_block, Node_List &value, Node_List ®nd, bool can_change_regs ); int use_prior_register( Node *copy, uint idx, Node *def, Block *current_block, Node_List &value, Node_List ®nd ); bool may_be_copy_of_callee( Node *def ) const;