415 |
415 |
416 // Mapping from CI type system to compiler type: |
416 // Mapping from CI type system to compiler type: |
417 static const Type* get_typeflow_type(ciType* type); |
417 static const Type* get_typeflow_type(ciType* type); |
418 |
418 |
419 static const Type* make_from_constant(ciConstant constant, |
419 static const Type* make_from_constant(ciConstant constant, |
420 bool require_constant = false); |
420 bool require_constant = false, |
421 |
421 int stable_dimension = 0, |
422 static const Type* make_constant(ciField* field, Node* obj); |
422 bool is_narrow = false, |
|
423 bool is_autobox_cache = false); |
|
424 |
|
425 static const Type* make_constant_from_field(ciInstance* holder, |
|
426 int off, |
|
427 bool is_unsigned_load, |
|
428 BasicType loadbt); |
|
429 |
|
430 static const Type* make_constant_from_field(ciField* field, |
|
431 ciInstance* holder, |
|
432 BasicType loadbt, |
|
433 bool is_unsigned_load); |
|
434 |
|
435 static const Type* make_constant_from_array_element(ciArray* array, |
|
436 int off, |
|
437 int stable_dimension, |
|
438 BasicType loadbt, |
|
439 bool is_unsigned_load); |
423 |
440 |
424 // Speculative type helper methods. See TypePtr. |
441 // Speculative type helper methods. See TypePtr. |
425 virtual const TypePtr* speculative() const { return NULL; } |
442 virtual const TypePtr* speculative() const { return NULL; } |
426 virtual ciKlass* speculative_type() const { return NULL; } |
443 virtual ciKlass* speculative_type() const { return NULL; } |
427 virtual ciKlass* speculative_type_not_null() const { return NULL; } |
444 virtual ciKlass* speculative_type_not_null() const { return NULL; } |