comparison src/share/vm/memory/generation.hpp @ 14909:4ca6dc0799b6

Backout jdk9 merge
author Gilles Duboscq <duboscq@ssw.jku.at>
date Tue, 01 Apr 2014 13:57:07 +0200
parents 1e1c8d358b52
children 89152779163c
comparison
equal deleted inserted replaced
14908:8db6e76cb658 14909:4ca6dc0799b6
1 /* 1 /*
2 * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 1997, 2012, 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.
287 // allocation will be concurrent with plain "allocate" calls. 287 // allocation will be concurrent with plain "allocate" calls.
288 virtual bool supports_inline_contig_alloc() const { return false; } 288 virtual bool supports_inline_contig_alloc() const { return false; }
289 289
290 // These functions return the addresses of the fields that define the 290 // These functions return the addresses of the fields that define the
291 // boundaries of the contiguous allocation area. (These fields should be 291 // boundaries of the contiguous allocation area. (These fields should be
292 // physically near to one another.) 292 // physicall near to one another.)
293 virtual HeapWord** top_addr() const { return NULL; } 293 virtual HeapWord** top_addr() const { return NULL; }
294 virtual HeapWord** end_addr() const { return NULL; } 294 virtual HeapWord** end_addr() const { return NULL; }
295 295
296 // Thread-local allocation buffers 296 // Thread-local allocation buffers
297 virtual bool supports_tlab_allocation() const { return false; } 297 virtual bool supports_tlab_allocation() const { return false; }
298 virtual size_t tlab_capacity() const { 298 virtual size_t tlab_capacity() const {
299 guarantee(false, "Generation doesn't support thread local allocation buffers");
300 return 0;
301 }
302 virtual size_t tlab_used() const {
303 guarantee(false, "Generation doesn't support thread local allocation buffers"); 299 guarantee(false, "Generation doesn't support thread local allocation buffers");
304 return 0; 300 return 0;
305 } 301 }
306 virtual size_t unsafe_max_tlab_alloc() const { 302 virtual size_t unsafe_max_tlab_alloc() const {
307 guarantee(false, "Generation doesn't support thread local allocation buffers"); 303 guarantee(false, "Generation doesn't support thread local allocation buffers");
487 // the closure, iterates over reference fields in those objects as well. 483 // the closure, iterates over reference fields in those objects as well.
488 // Calls "save_marks" at the end of the iteration. 484 // Calls "save_marks" at the end of the iteration.
489 // General signature... 485 // General signature...
490 virtual void oop_since_save_marks_iterate_v(OopsInGenClosure* cl) = 0; 486 virtual void oop_since_save_marks_iterate_v(OopsInGenClosure* cl) = 0;
491 // ...and specializations for de-virtualization. (The general 487 // ...and specializations for de-virtualization. (The general
492 // implementation of the _nv versions call the virtual version. 488 // implemention of the _nv versions call the virtual version.
493 // Note that the _nv suffix is not really semantically necessary, 489 // Note that the _nv suffix is not really semantically necessary,
494 // but it avoids some not-so-useful warnings on Solaris.) 490 // but it avoids some not-so-useful warnings on Solaris.)
495 #define Generation_SINCE_SAVE_MARKS_DECL(OopClosureType, nv_suffix) \ 491 #define Generation_SINCE_SAVE_MARKS_DECL(OopClosureType, nv_suffix) \
496 virtual void oop_since_save_marks_iterate##nv_suffix(OopClosureType* cl) { \ 492 virtual void oop_since_save_marks_iterate##nv_suffix(OopClosureType* cl) { \
497 oop_since_save_marks_iterate_v((OopsInGenClosure*)cl); \ 493 oop_since_save_marks_iterate_v((OopsInGenClosure*)cl); \