Mercurial > hg > graal-jvmci-8
diff src/share/vm/ci/ciSymbol.hpp @ 6725:da91efe96a93
6964458: Reimplement class meta-data storage to use native memory
Summary: Remove PermGen, allocate meta-data in metaspace linked to class loaders, rewrite GC walking, rewrite and rename metadata to be C++ classes
Reviewed-by: jmasa, stefank, never, coleenp, kvn, brutisso, mgerdin, dholmes, jrose, twisti, roland
Contributed-by: jmasa <jon.masamitsu@oracle.com>, stefank <stefan.karlsson@oracle.com>, mgerdin <mikael.gerdin@oracle.com>, never <tom.rodriguez@oracle.com>
author | coleenp |
---|---|
date | Sat, 01 Sep 2012 13:25:18 -0400 |
parents | 1d7922586cf6 |
children | e522a00b91aa bd7a7ce2e264 |
line wrap: on
line diff
--- a/src/share/vm/ci/ciSymbol.hpp Fri Aug 31 16:39:35 2012 -0700 +++ b/src/share/vm/ci/ciSymbol.hpp Sat Sep 01 13:25:18 2012 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2011, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2012, 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 @@ -25,6 +25,7 @@ #ifndef SHARE_VM_CI_CISYMBOL_HPP #define SHARE_VM_CI_CISYMBOL_HPP +#include "ci/ciBaseObject.hpp" #include "ci/ciObject.hpp" #include "ci/ciObjectFactory.hpp" #include "classfile/vmSymbols.hpp" @@ -34,9 +35,8 @@ // // This class represents a Symbol* in the HotSpot virtual // machine. -class ciSymbol : public ResourceObj { +class ciSymbol : public ciBaseObject { Symbol* _symbol; - uint _ident; CI_PACKAGE_ACCESS // These friends all make direct use of get_symbol: @@ -65,11 +65,7 @@ // Make a ciSymbol from a C string (implementation). static ciSymbol* make_impl(const char* s); - void set_ident(uint id) { _ident = id; } public: - // A number unique to this object. - uint ident() { return _ident; } - // The enumeration ID from vmSymbols, or vmSymbols::NO_SID if none. vmSymbols::SID sid() const { return _sid; } @@ -105,6 +101,8 @@ _symbol->print(); } + virtual bool is_symbol() const { return true; } + // Are two ciSymbols equal? bool equals(ciSymbol* obj) { return this->_symbol == obj->get_symbol(); }