Mercurial > hg > graal-jvmci-8
comparison src/share/vm/opto/type.hpp @ 1009:03b336640699
6885584: A particular class structure causes large allocation spike for jit
Reviewed-by: kvn
author | never |
---|---|
date | Wed, 07 Oct 2009 15:38:37 -0700 |
parents | 6a8ccac44f41 |
children | 7c57aead6d3e |
comparison
equal
deleted
inserted
replaced
1008:e90521d61f9a | 1009:03b336640699 |
---|---|
166 int higher_equal( const Type *t ) const { return !cmp(meet(t),t); } | 166 int higher_equal( const Type *t ) const { return !cmp(meet(t),t); } |
167 | 167 |
168 // MEET operation; lower in lattice. | 168 // MEET operation; lower in lattice. |
169 const Type *meet( const Type *t ) const; | 169 const Type *meet( const Type *t ) const; |
170 // WIDEN: 'widens' for Ints and other range types | 170 // WIDEN: 'widens' for Ints and other range types |
171 virtual const Type *widen( const Type *old ) const { return this; } | 171 virtual const Type *widen( const Type *old, const Type* limit ) const { return this; } |
172 // NARROW: complement for widen, used by pessimistic phases | 172 // NARROW: complement for widen, used by pessimistic phases |
173 virtual const Type *narrow( const Type *old ) const { return this; } | 173 virtual const Type *narrow( const Type *old ) const { return this; } |
174 | 174 |
175 // DUAL operation: reflect around lattice centerline. Used instead of | 175 // DUAL operation: reflect around lattice centerline. Used instead of |
176 // join to ensure my lattice is symmetric up and down. | 176 // join to ensure my lattice is symmetric up and down. |
407 | 407 |
408 virtual bool is_finite() const; // Has a finite value | 408 virtual bool is_finite() const; // Has a finite value |
409 | 409 |
410 virtual const Type *xmeet( const Type *t ) const; | 410 virtual const Type *xmeet( const Type *t ) const; |
411 virtual const Type *xdual() const; // Compute dual right now. | 411 virtual const Type *xdual() const; // Compute dual right now. |
412 virtual const Type *widen( const Type *t ) const; | 412 virtual const Type *widen( const Type *t, const Type* limit_type ) const; |
413 virtual const Type *narrow( const Type *t ) const; | 413 virtual const Type *narrow( const Type *t ) const; |
414 // Do not kill _widen bits. | 414 // Do not kill _widen bits. |
415 virtual const Type *filter( const Type *kills ) const; | 415 virtual const Type *filter( const Type *kills ) const; |
416 // Convenience common pre-built types. | 416 // Convenience common pre-built types. |
417 static const TypeInt *MINUS_1; | 417 static const TypeInt *MINUS_1; |
463 | 463 |
464 virtual bool is_finite() const; // Has a finite value | 464 virtual bool is_finite() const; // Has a finite value |
465 | 465 |
466 virtual const Type *xmeet( const Type *t ) const; | 466 virtual const Type *xmeet( const Type *t ) const; |
467 virtual const Type *xdual() const; // Compute dual right now. | 467 virtual const Type *xdual() const; // Compute dual right now. |
468 virtual const Type *widen( const Type *t ) const; | 468 virtual const Type *widen( const Type *t, const Type* limit_type ) const; |
469 virtual const Type *narrow( const Type *t ) const; | 469 virtual const Type *narrow( const Type *t ) const; |
470 // Do not kill _widen bits. | 470 // Do not kill _widen bits. |
471 virtual const Type *filter( const Type *kills ) const; | 471 virtual const Type *filter( const Type *kills ) const; |
472 // Convenience common pre-built types. | 472 // Convenience common pre-built types. |
473 static const TypeLong *MINUS_1; | 473 static const TypeLong *MINUS_1; |