src/share/vm/ci/ciField.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File
*** old/src/share/vm/ci/ciField.hpp	Mon Dec 19 14:46:42 2016
--- new/src/share/vm/ci/ciField.hpp	Mon Dec 19 14:46:42 2016

*** 122,147 **** --- 122,133 ---- bool is_shared() { // non-static fields of shared holders are cached return _holder->is_shared() && !is_static(); } ! // Is this field a constant? See ciField::initialize_from() for details // // Clarification: A field is considered constant if: // 1. The field is both static and final // 2. The canonical holder of the field has undergone // static initialization. // 3. If the field is an object or array, then the oop // in question is allocated in perm space. // 4. The field is not one of the special static/final // non-constant fields. These are java.lang.System.in // and java.lang.System.out. Abomination. // // A field is also considered constant if it is marked @Stable // and is non-null (or non-zero, if a primitive). // For non-static fields, the null/zero check must be // arranged by the user, as constant_value().is_null_or_zero(). + // about how a field is determined to be constant. bool is_constant() { return _is_constant; } // Get the constant value of this field. ciConstant constant_value() { assert(is_static() && is_constant(), "illegal call to constant_value()");
*** 174,183 **** --- 160,172 ---- bool is_static () { return flags().is_static(); } bool is_final () { return flags().is_final(); } bool is_stable () { return flags().is_stable(); } bool is_volatile () { return flags().is_volatile(); } bool is_transient () { return flags().is_transient(); } + // The field is modified outside of instance initializer methods + // (or class/initializer methods if the field is static). + bool has_initialized_final_update() { return flags().has_initialized_final_update(); } bool is_call_site_target() { ciInstanceKlass* callsite_klass = CURRENT_ENV->CallSite_klass(); if (callsite_klass == NULL) return false;

src/share/vm/ci/ciField.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File