hotspot/src/share/vm/memory/allocation.inline.hpp
changeset 19696 bd5a0131bde1
parent 18069 e6d4971c8650
child 23545 2c14fb03a06d
equal deleted inserted replaced
19695:c0b305024048 19696:bd5a0131bde1
    83   os::free(p, memflags);
    83   os::free(p, memflags);
    84 }
    84 }
    85 
    85 
    86 
    86 
    87 template <MEMFLAGS F> void* CHeapObj<F>::operator new(size_t size,
    87 template <MEMFLAGS F> void* CHeapObj<F>::operator new(size_t size,
    88       address caller_pc){
    88       address caller_pc) throw() {
    89     void* p = (void*)AllocateHeap(size, F, (caller_pc != 0 ? caller_pc : CALLER_PC));
    89     void* p = (void*)AllocateHeap(size, F, (caller_pc != 0 ? caller_pc : CALLER_PC));
    90 #ifdef ASSERT
    90 #ifdef ASSERT
    91     if (PrintMallocFree) trace_heap_malloc(size, "CHeapObj-new", p);
    91     if (PrintMallocFree) trace_heap_malloc(size, "CHeapObj-new", p);
    92 #endif
    92 #endif
    93     return p;
    93     return p;
    94   }
    94   }
    95 
    95 
    96 template <MEMFLAGS F> void* CHeapObj<F>::operator new (size_t size,
    96 template <MEMFLAGS F> void* CHeapObj<F>::operator new (size_t size,
    97   const std::nothrow_t&  nothrow_constant, address caller_pc) {
    97   const std::nothrow_t&  nothrow_constant, address caller_pc) throw() {
    98   void* p = (void*)AllocateHeap(size, F, (caller_pc != 0 ? caller_pc : CALLER_PC),
    98   void* p = (void*)AllocateHeap(size, F, (caller_pc != 0 ? caller_pc : CALLER_PC),
    99       AllocFailStrategy::RETURN_NULL);
    99       AllocFailStrategy::RETURN_NULL);
   100 #ifdef ASSERT
   100 #ifdef ASSERT
   101     if (PrintMallocFree) trace_heap_malloc(size, "CHeapObj-new", p);
   101     if (PrintMallocFree) trace_heap_malloc(size, "CHeapObj-new", p);
   102 #endif
   102 #endif
   103     return p;
   103     return p;
   104 }
   104 }
   105 
   105 
   106 template <MEMFLAGS F> void* CHeapObj<F>::operator new [](size_t size,
   106 template <MEMFLAGS F> void* CHeapObj<F>::operator new [](size_t size,
   107       address caller_pc){
   107       address caller_pc) throw() {
   108     return CHeapObj<F>::operator new(size, caller_pc);
   108     return CHeapObj<F>::operator new(size, caller_pc);
   109 }
   109 }
   110 
   110 
   111 template <MEMFLAGS F> void* CHeapObj<F>::operator new [](size_t size,
   111 template <MEMFLAGS F> void* CHeapObj<F>::operator new [](size_t size,
   112   const std::nothrow_t&  nothrow_constant, address caller_pc) {
   112   const std::nothrow_t&  nothrow_constant, address caller_pc) throw() {
   113     return CHeapObj<F>::operator new(size, nothrow_constant, caller_pc);
   113     return CHeapObj<F>::operator new(size, nothrow_constant, caller_pc);
   114 }
   114 }
   115 
   115 
   116 template <MEMFLAGS F> void CHeapObj<F>::operator delete(void* p){
   116 template <MEMFLAGS F> void CHeapObj<F>::operator delete(void* p){
   117     FreeHeap(p, F);
   117     FreeHeap(p, F);