src/share/vm/code/dependencies.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File JDK-8034839 Cdiff src/share/vm/code/dependencies.hpp

src/share/vm/code/dependencies.hpp

Print this page

        

*** 30,39 **** --- 30,40 ---- #include "ci/ciMethodHandle.hpp" #include "classfile/systemDictionary.hpp" #include "code/compressedStream.hpp" #include "code/nmethod.hpp" #include "utilities/growableArray.hpp" + #include "utilities/hashtable.hpp" //** Dependencies represent assertions (approximate invariants) within // the runtime system, e.g. class hierarchy changes. An example is an // assertion that a given method is not overridden; another example is // that a type has only one concrete subtype. Compiled code which
*** 524,564 **** static void print_statistics() PRODUCT_RETURN; }; ! class DependencySignature : public ResourceObj { private: int _args_count; uintptr_t _argument_hash[Dependencies::max_arg_count]; Dependencies::DepType _type; - public: DependencySignature(Dependencies::DepStream& dep) { _args_count = dep.argument_count(); _type = dep.type(); for (int i = 0; i < _args_count; i++) { _argument_hash[i] = dep.get_identifier(i); } } ! bool equals(const DependencySignature& sig) const; int args_count() const { return _args_count; } uintptr_t arg(int idx) const { return _argument_hash[idx]; } Dependencies::DepType type() const { return _type; } }; - class DependencySignatureBuffer : public StackObj { - private: - GrowableArray<DependencySignature*>** _signatures; - - public: - DependencySignatureBuffer(); - bool add_if_missing(const DependencySignature& sig); - }; // Every particular DepChange is a sub-class of this class. class DepChange : public StackObj { public: // What kind of DepChange is this? --- 525,557 ---- static void print_statistics() PRODUCT_RETURN; }; ! class DependencySignature : public GenericHashtableEntry<DependencySignature, ResourceObj> { private: int _args_count; uintptr_t _argument_hash[Dependencies::max_arg_count]; Dependencies::DepType _type; public: DependencySignature(Dependencies::DepStream& dep) { _args_count = dep.argument_count(); _type = dep.type(); for (int i = 0; i < _args_count; i++) { _argument_hash[i] = dep.get_identifier(i); } } ! bool equals(DependencySignature* sig) const; ! uintptr_t hash() const { return _argument_hash[0] >> 2; } int args_count() const { return _args_count; } uintptr_t arg(int idx) const { return _argument_hash[idx]; } Dependencies::DepType type() const { return _type; } }; // Every particular DepChange is a sub-class of this class. class DepChange : public StackObj { public: // What kind of DepChange is this?
src/share/vm/code/dependencies.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File