< prev index next >

src/share/vm/gc_implementation/shenandoah/shenandoahHeapRegionSet.hpp

Print this page
rev 10690 : [backport] Cleanup header files and forward declarations
rev 10715 : [backport] Cleanup up superfluous newlines
rev 10740 : [backport] Protect more internal code from false sharing
rev 10772 : [backport] Update copyrights

*** 1,7 **** /* ! * Copyright (c) 2013, 2017, Red Hat, Inc. and/or its affiliates. * * 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) 2013, 2018, Red Hat, Inc. All rights reserved. * * 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. *
*** 23,43 **** #ifndef SHARE_VM_GC_SHENANDOAH_SHENANDOAHHEAPREGIONSET_HPP #define SHARE_VM_GC_SHENANDOAH_SHENANDOAHHEAPREGIONSET_HPP #include "memory/allocation.hpp" - class ShenandoahHeap; - class ShenandoahHeapRegion; class ShenandoahHeapRegionSet; class ShenandoahHeapRegionSetIterator : public StackObj { private: const ShenandoahHeapRegionSet* _set; - volatile jint _current_index; ShenandoahHeap* const _heap; // No implicit copying: iterators should be passed by reference to capture the state ShenandoahHeapRegionSetIterator(const ShenandoahHeapRegionSetIterator& that); ShenandoahHeapRegionSetIterator& operator=(const ShenandoahHeapRegionSetIterator& o); public: --- 23,46 ---- #ifndef SHARE_VM_GC_SHENANDOAH_SHENANDOAHHEAPREGIONSET_HPP #define SHARE_VM_GC_SHENANDOAH_SHENANDOAHHEAPREGIONSET_HPP #include "memory/allocation.hpp" + #include "gc_implementation/shenandoah/shenandoahHeap.hpp" + #include "gc_implementation/shenandoah/shenandoahHeapRegion.hpp" class ShenandoahHeapRegionSet; class ShenandoahHeapRegionSetIterator : public StackObj { private: const ShenandoahHeapRegionSet* _set; ShenandoahHeap* const _heap; + char _pad0[DEFAULT_CACHE_LINE_SIZE]; + volatile jint _current_index; + char _pad1[DEFAULT_CACHE_LINE_SIZE]; + // No implicit copying: iterators should be passed by reference to capture the state ShenandoahHeapRegionSetIterator(const ShenandoahHeapRegionSetIterator& that); ShenandoahHeapRegionSetIterator& operator=(const ShenandoahHeapRegionSetIterator& o); public:
*** 63,73 **** // Bias set map's base address for fast test if an oop is in set jbyte* const _biased_set_map; size_t _region_count; public: - ShenandoahHeapRegionSet(); ~ShenandoahHeapRegionSet(); // Add region to set void add_region(ShenandoahHeapRegion* r); --- 66,75 ----
< prev index next >