src/share/vm/gc_implementation/shared/markSweep.hpp

changeset 3298
7913e93dca52
parent 2314
f95d63e2154a
child 3900
d2a62e0f25eb
equal deleted inserted replaced
3297:ea640b5e949a 3298:7913e93dca52
1 /* 1 /*
2 * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 * 4 *
5 * This code is free software; you can redistribute it and/or modify it 5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as 6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
194 194
195 // Call backs for marking 195 // Call backs for marking
196 static void mark_object(oop obj); 196 static void mark_object(oop obj);
197 // Mark pointer and follow contents. Empty marking stack afterwards. 197 // Mark pointer and follow contents. Empty marking stack afterwards.
198 template <class T> static inline void follow_root(T* p); 198 template <class T> static inline void follow_root(T* p);
199 // Mark pointer and follow contents.
200 template <class T> static inline void mark_and_follow(T* p);
201 // Check mark and maybe push on marking stack 199 // Check mark and maybe push on marking stack
202 template <class T> static inline void mark_and_push(T* p); 200 template <class T> static inline void mark_and_push(T* p);
203 static inline void push_objarray(oop obj, size_t index); 201 static inline void push_objarray(oop obj, size_t index);
204 202
205 static void follow_stack(); // Empty marking stack. 203 static void follow_stack(); // Empty marking stack.

mercurial