268 const bool not_too_big = word_size < _pretenure_size_threshold_words; 269 const bool size_ok = is_tlab || !check_too_big || not_too_big; 270 271 bool result = !overflows && 272 non_zero && 273 size_ok; 274 275 return result; 276 } 277 278 HeapWord* allocate(size_t word_size, bool is_tlab); 279 HeapWord* allocate_from_space(size_t word_size); 280 281 HeapWord* par_allocate(size_t word_size, bool is_tlab); 282 283 virtual void gc_epilogue(bool full); 284 285 // Save the tops for eden, from, and to 286 virtual void record_spaces_top(); 287 288 // Doesn't require additional work during GC prologue and epilogue 289 virtual bool performs_in_place_marking() const { return false; } 290 291 // Accessing marks 292 void save_marks(); 293 void reset_saved_marks(); 294 bool no_allocs_since_save_marks(); 295 296 // Need to declare the full complement of closures, whether we'll 297 // override them or not, or get message from the compiler: 298 // oop_since_save_marks_iterate_nv hides virtual function... 299 #define DefNew_SINCE_SAVE_MARKS_DECL(OopClosureType, nv_suffix) \ 300 void oop_since_save_marks_iterate##nv_suffix(OopClosureType* cl); 301 302 ALL_SINCE_SAVE_MARKS_CLOSURES(DefNew_SINCE_SAVE_MARKS_DECL) 303 304 #undef DefNew_SINCE_SAVE_MARKS_DECL 305 306 // For non-youngest collection, the DefNewGeneration can contribute 307 // "to-space". 308 virtual void contribute_scratch(ScratchBlock*& list, Generation* requestor, 309 size_t max_alloc_words); 310 | 268 const bool not_too_big = word_size < _pretenure_size_threshold_words; 269 const bool size_ok = is_tlab || !check_too_big || not_too_big; 270 271 bool result = !overflows && 272 non_zero && 273 size_ok; 274 275 return result; 276 } 277 278 HeapWord* allocate(size_t word_size, bool is_tlab); 279 HeapWord* allocate_from_space(size_t word_size); 280 281 HeapWord* par_allocate(size_t word_size, bool is_tlab); 282 283 virtual void gc_epilogue(bool full); 284 285 // Save the tops for eden, from, and to 286 virtual void record_spaces_top(); 287 288 // Accessing marks 289 void save_marks(); 290 void reset_saved_marks(); 291 bool no_allocs_since_save_marks(); 292 293 // Need to declare the full complement of closures, whether we'll 294 // override them or not, or get message from the compiler: 295 // oop_since_save_marks_iterate_nv hides virtual function... 296 #define DefNew_SINCE_SAVE_MARKS_DECL(OopClosureType, nv_suffix) \ 297 void oop_since_save_marks_iterate##nv_suffix(OopClosureType* cl); 298 299 ALL_SINCE_SAVE_MARKS_CLOSURES(DefNew_SINCE_SAVE_MARKS_DECL) 300 301 #undef DefNew_SINCE_SAVE_MARKS_DECL 302 303 // For non-youngest collection, the DefNewGeneration can contribute 304 // "to-space". 305 virtual void contribute_scratch(ScratchBlock*& list, Generation* requestor, 306 size_t max_alloc_words); 307 |