< prev index next >
src/share/vm/opto/type.hpp
Print this page
@@ -410,12 +410,13 @@
// Mapping from CI type system to compiler type:
static const Type* get_typeflow_type(ciType* type);
static const Type* make_from_constant(ciConstant constant,
- bool require_constant = false,
- bool is_autobox_cache = false);
+ bool require_constant = false);
+
+ static const Type* make_constant(ciField* field, Node* obj);
// Speculative type helper methods. See TypePtr.
virtual const TypePtr* speculative() const { return NULL; }
virtual ciKlass* speculative_type() const { return NULL; }
virtual ciKlass* speculative_type_not_null() const { return NULL; }
@@ -971,12 +972,11 @@
// Creates a singleton type given an object.
// If the object cannot be rendered as a constant,
// may return a non-singleton type.
// If require_constant, produce a NULL if a singleton is not possible.
static const TypeOopPtr* make_from_constant(ciObject* o,
- bool require_constant = false,
- bool not_null_elements = false);
+ bool require_constant = false);
// Make a generic (unclassed) pointer to an oop.
static const TypeOopPtr* make(PTR ptr, int offset, int instance_id,
const TypePtr* speculative = NULL,
int inline_depth = InlineDepthBottom);
@@ -1182,10 +1182,12 @@
virtual const Type *xdual() const; // Compute dual right now.
const TypeAryPtr* cast_to_stable(bool stable, int stable_dimension = 1) const;
int stable_dimension() const;
+ const TypeAryPtr* cast_to_autobox_cache(bool cache) const;
+
// Convenience common pre-built types.
static const TypeAryPtr *RANGE;
static const TypeAryPtr *OOPS;
static const TypeAryPtr *NARROWOOPS;
static const TypeAryPtr *BYTES;
@@ -1673,15 +1675,15 @@
}
inline const TypePtr* Type::make_ptr() const {
return (_base == NarrowOop) ? is_narrowoop()->get_ptrtype() :
((_base == NarrowKlass) ? is_narrowklass()->get_ptrtype() :
- (isa_ptr() ? is_ptr() : NULL));
+ isa_ptr());
}
inline const TypeOopPtr* Type::make_oopptr() const {
- return (_base == NarrowOop) ? is_narrowoop()->get_ptrtype()->is_oopptr() : is_oopptr();
+ return (_base == NarrowOop) ? is_narrowoop()->get_ptrtype()->isa_oopptr() : isa_oopptr();
}
inline const TypeNarrowOop* Type::make_narrowoop() const {
return (_base == NarrowOop) ? is_narrowoop() :
(isa_ptr() ? TypeNarrowOop::make(is_ptr()) : NULL);
< prev index next >