Mercurial > hg > truffle
comparison src/share/vm/memory/generation.hpp @ 14521:29ccc4cbabca
Merge
author | Gilles Duboscq <duboscq@ssw.jku.at> |
---|---|
date | Wed, 12 Mar 2014 13:30:08 +0100 |
parents | 1e1c8d358b52 |
children | 4ca6dc0799b6 |
comparison
equal
deleted
inserted
replaced
14520:f84115370178 | 14521:29ccc4cbabca |
---|---|
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); \ |