comparison src/share/vm/gc_implementation/g1/heapRegionRemSet.cpp @ 10271:f9be75d21404

8012902: remove use of global operator new - take 2 Summary: The fix of 8010992, disable use of global operator new and new[] which caused failure on some tests. This takes two of the bugs also add ALLOW_OPERATOR_NEW_USAGE to prevent crash for third party code calling operator new of jvm on certain platforms. Reviewed-by: coleenp, dholmes, zgu Contributed-by: yumin.qi@oracle.com
author minqi
date Tue, 14 May 2013 09:41:12 -0700
parents d58c62b7447d
children 2958af1d8c5a
comparison
equal deleted inserted replaced
10269:a9270d9ecb13 10271:f9be75d21404
1 /* 1 /*
2 * Copyright (c) 2001, 2012, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 2001, 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.
280 && _fine_eviction_stride == 0, "All init at same time."); 280 && _fine_eviction_stride == 0, "All init at same time.");
281 _fine_eviction_sample_size = MAX2((size_t)4, max_entries_log); 281 _fine_eviction_sample_size = MAX2((size_t)4, max_entries_log);
282 _fine_eviction_stride = _max_fine_entries / _fine_eviction_sample_size; 282 _fine_eviction_stride = _max_fine_entries / _fine_eviction_sample_size;
283 } 283 }
284 284
285 _fine_grain_regions = new PerRegionTablePtr[_max_fine_entries]; 285 _fine_grain_regions = NEW_C_HEAP_ARRAY3(PerRegionTablePtr, _max_fine_entries,
286 mtGC, 0, AllocFailStrategy::RETURN_NULL);
286 287
287 if (_fine_grain_regions == NULL) { 288 if (_fine_grain_regions == NULL) {
288 vm_exit_out_of_memory(sizeof(void*)*_max_fine_entries, OOM_MALLOC_ERROR, 289 vm_exit_out_of_memory(sizeof(void*)*_max_fine_entries, OOM_MALLOC_ERROR,
289 "Failed to allocate _fine_grain_entries."); 290 "Failed to allocate _fine_grain_entries.");
290 } 291 }