< prev index next >

src/hotspot/share/classfile/classListParser.hpp

Print this page

*** 1,7 **** /* ! * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. --- 1,7 ---- /* ! * Copyright (c) 2015, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation.
*** 25,58 **** #ifndef SHARE_VM_MEMORY_CLASSLISTPARSER_HPP #define SHARE_VM_MEMORY_CLASSLISTPARSER_HPP #include "utilities/exceptions.hpp" #include "utilities/globalDefinitions.hpp" #include "utilities/hashtable.hpp" ! class CDSClassInfo; ! ! // Look up from ID -> InstanceKlass* ! class ID2KlassTable : public Hashtable<InstanceKlass*, mtClass> { public: ! ID2KlassTable() : Hashtable<InstanceKlass*, mtClass>(1987, sizeof(HashtableEntry<InstanceKlass*, mtClass>)) { } ! void add(int id, InstanceKlass* klass) { ! unsigned int hash = (unsigned int)id; ! HashtableEntry<InstanceKlass*, mtClass>* entry = new_entry(hash, klass); ! add_entry(hash_to_index(hash), entry); ! } ! ! InstanceKlass* lookup(int id) { ! unsigned int hash = (unsigned int)id; ! int index = hash_to_index(id); ! for (HashtableEntry<InstanceKlass*, mtClass>* e = bucket(index); e != NULL; e = e->next()) { ! if (e->hash() == hash) { ! return e->literal(); ! } ! } ! return NULL; ! } }; class ClassListParser : public StackObj { enum { _unspecified = -999, --- 25,40 ---- #ifndef SHARE_VM_MEMORY_CLASSLISTPARSER_HPP #define SHARE_VM_MEMORY_CLASSLISTPARSER_HPP #include "utilities/exceptions.hpp" #include "utilities/globalDefinitions.hpp" + #include "utilities/growableArray.hpp" #include "utilities/hashtable.hpp" ! class ID2KlassTable : public KVHashtable<int, InstanceKlass*> { public: ! ID2KlassTable() : KVHashtable<int, InstanceKlass*>(1987) {} }; class ClassListParser : public StackObj { enum { _unspecified = -999,
< prev index next >