comparison src/share/vm/gc_implementation/shared/markSweep.inline.hpp @ 18041:52b4284cb496

Merge with jdk8u20-b26
author Gilles Duboscq <duboscq@ssw.jku.at>
date Wed, 15 Oct 2014 16:02:50 +0200
parents 89152779163c 595c0f60d50d
children
comparison
equal deleted inserted replaced
17606:45d7b2c7029d 18041:52b4284cb496
1 /* 1 /*
2 * Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 2000, 2014, 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.
28 #include "gc_implementation/shared/markSweep.hpp" 28 #include "gc_implementation/shared/markSweep.hpp"
29 #include "gc_interface/collectedHeap.hpp" 29 #include "gc_interface/collectedHeap.hpp"
30 #include "utilities/stack.inline.hpp" 30 #include "utilities/stack.inline.hpp"
31 #include "utilities/macros.hpp" 31 #include "utilities/macros.hpp"
32 #if INCLUDE_ALL_GCS 32 #if INCLUDE_ALL_GCS
33 #include "gc_implementation/g1/g1StringDedup.hpp"
33 #include "gc_implementation/parallelScavenge/psParallelCompact.hpp" 34 #include "gc_implementation/parallelScavenge/psParallelCompact.hpp"
34 #endif // INCLUDE_ALL_GCS 35 #endif // INCLUDE_ALL_GCS
35 36
36 inline void MarkSweep::mark_object(oop obj) { 37 inline void MarkSweep::mark_object(oop obj) {
38 #if INCLUDE_ALL_GCS
39 if (G1StringDedup::is_enabled()) {
40 // We must enqueue the object before it is marked
41 // as we otherwise can't read the object's age.
42 G1StringDedup::enqueue_from_mark(obj);
43 }
44 #endif
37 // some marks may contain information we need to preserve so we store them away 45 // some marks may contain information we need to preserve so we store them away
38 // and overwrite the mark. We'll restore it at the end of markSweep. 46 // and overwrite the mark. We'll restore it at the end of markSweep.
39 markOop mark = obj->mark(); 47 markOop mark = obj->mark();
40 obj->set_mark(markOopDesc::prototype()->set_marked()); 48 obj->set_mark(markOopDesc::prototype()->set_marked());
41 49