comparison src/share/vm/memory/generation.hpp @ 14518:d8041d695d19

Merged with jdk9/dev/hotspot changeset 3812c088b945
author twisti
date Tue, 11 Mar 2014 18:45:59 -0700
parents 1e1c8d358b52
children 4ca6dc0799b6
comparison
equal deleted inserted replaced
14141:f97c5ec83832 14518:d8041d695d19
1 /* 1 /*
2 * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 1997, 2013, 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 // physicall near to one another.) 292 // physically 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 {
299 guarantee(false, "Generation doesn't support thread local allocation buffers"); 303 guarantee(false, "Generation doesn't support thread local allocation buffers");
300 return 0; 304 return 0;
301 } 305 }
302 virtual size_t unsafe_max_tlab_alloc() const { 306 virtual size_t unsafe_max_tlab_alloc() const {
303 guarantee(false, "Generation doesn't support thread local allocation buffers"); 307 guarantee(false, "Generation doesn't support thread local allocation buffers");
483 // the closure, iterates over reference fields in those objects as well. 487 // the closure, iterates over reference fields in those objects as well.
484 // Calls "save_marks" at the end of the iteration. 488 // Calls "save_marks" at the end of the iteration.
485 // General signature... 489 // General signature...
486 virtual void oop_since_save_marks_iterate_v(OopsInGenClosure* cl) = 0; 490 virtual void oop_since_save_marks_iterate_v(OopsInGenClosure* cl) = 0;
487 // ...and specializations for de-virtualization. (The general 491 // ...and specializations for de-virtualization. (The general
488 // implemention of the _nv versions call the virtual version. 492 // implementation of the _nv versions call the virtual version.
489 // Note that the _nv suffix is not really semantically necessary, 493 // Note that the _nv suffix is not really semantically necessary,
490 // but it avoids some not-so-useful warnings on Solaris.) 494 // but it avoids some not-so-useful warnings on Solaris.)
491 #define Generation_SINCE_SAVE_MARKS_DECL(OopClosureType, nv_suffix) \ 495 #define Generation_SINCE_SAVE_MARKS_DECL(OopClosureType, nv_suffix) \
492 virtual void oop_since_save_marks_iterate##nv_suffix(OopClosureType* cl) { \ 496 virtual void oop_since_save_marks_iterate##nv_suffix(OopClosureType* cl) { \
493 oop_since_save_marks_iterate_v((OopsInGenClosure*)cl); \ 497 oop_since_save_marks_iterate_v((OopsInGenClosure*)cl); \