< prev index next >

src/hotspot/share/memory/allocation.hpp

Print this page

*** 1,7 **** /* ! * Copyright (c) 1997, 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) 1997, 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.
*** 225,237 **** class ClassLoaderData; class MetaspaceClosure; class MetaspaceObj { public: bool is_metaspace_object() const; ! bool is_shared() const; void print_address_on(outputStream* st) const; // nonvirtual address printing #define METASPACE_OBJ_TYPES_DO(f) \ f(Class) \ f(Symbol) \ --- 225,245 ---- class ClassLoaderData; class MetaspaceClosure; class MetaspaceObj { + friend class MetaspaceShared; + static void* _shared_metaspace_base; + static void* _shared_metaspace_top; + public: bool is_metaspace_object() const; ! bool is_shared() const { ! // If no shared metaspace regions are mapped, _shared_metaspace_{base,top} will ! // both be NULL and all values of p will be rejected quickly. ! return (((void*)this) < _shared_metaspace_top && ((void*)this) >= _shared_metaspace_base); ! } void print_address_on(outputStream* st) const; // nonvirtual address printing #define METASPACE_OBJ_TYPES_DO(f) \ f(Class) \ f(Symbol) \
< prev index next >