hotspot/src/share/vm/memory/allocation.hpp
changeset 6183 4c74cfe14f20
parent 6180 53c1bf468c81
child 6184 a017b5ba6782
--- a/hotspot/src/share/vm/memory/allocation.hpp	Fri Aug 06 11:53:28 2010 -0700
+++ b/hotspot/src/share/vm/memory/allocation.hpp	Mon Aug 09 15:17:05 2010 -0700
@@ -317,6 +317,7 @@
 class ResourceObj ALLOCATION_SUPER_CLASS_SPEC {
  public:
   enum allocation_type { STACK_OR_EMBEDDED = 0, RESOURCE_AREA, C_HEAP, ARENA, allocation_mask = 0x3 };
+  static void set_allocation_type(address res, allocation_type type) NOT_DEBUG_RETURN;
 #ifdef ASSERT
  private:
   // When this object is allocated on stack the new() operator is not
@@ -324,12 +325,11 @@
   // Store negated 'this' pointer when new() is called to distinguish cases.
   uintptr_t _allocation;
  public:
-  static void set_allocation_type(address res, allocation_type type);
-  allocation_type get_allocation_type();
-  bool allocated_on_stack()     { return get_allocation_type() == STACK_OR_EMBEDDED; }
-  bool allocated_on_res_area()  { return get_allocation_type() == RESOURCE_AREA; }
-  bool allocated_on_C_heap()    { return get_allocation_type() == C_HEAP; }
-  bool allocated_on_arena()     { return get_allocation_type() == ARENA; }
+  allocation_type get_allocation_type() const;
+  bool allocated_on_stack()    const { return get_allocation_type() == STACK_OR_EMBEDDED; }
+  bool allocated_on_res_area() const { return get_allocation_type() == RESOURCE_AREA; }
+  bool allocated_on_C_heap()   const { return get_allocation_type() == C_HEAP; }
+  bool allocated_on_arena()    const { return get_allocation_type() == ARENA; }
   ResourceObj(); // default construtor
   ResourceObj(const ResourceObj& r); // default copy construtor
   ResourceObj& operator=(const ResourceObj& r); // default copy assignment
@@ -348,11 +348,6 @@
       DEBUG_ONLY(set_allocation_type(res, RESOURCE_AREA);)
       return res;
   }
-  void* operator new(size_t size, void* where, allocation_type type) {
-      address res = (address)where;
-      DEBUG_ONLY(set_allocation_type(res, type);)
-      return res;
-  }
   void  operator delete(void* p);
 };