SequenceInputStream.java: Merge with Classpath
[platform/upstream/gcc.git] / libjava / nogc.cc
index b5bd6f3..65cc8c3 100644 (file)
@@ -1,6 +1,6 @@
-// nogc.cc - Code to implement no GC.
+// nogc.cc - Implement null garbage collector.
 
-/* Copyright (C) 1998, 1999, 2000  Free Software Foundation
+/* Copyright (C) 1998, 1999, 2000, 2001  Free Software Foundation
 
    This file is part of libgcj.
 
@@ -31,7 +31,18 @@ void *
 _Jv_AllocObj (jsize size, jclass klass)
 {
   total += size;
-  ptr_t obj = calloc (size, 1);
+  void *obj = calloc (size, 1);
+  if (!obj) _Jv_ThrowNoMemory();
+  *((_Jv_VTable **) obj) = klass->vtable;
+  return obj;
+}
+
+void *
+_Jv_AllocPtrFreeObj (jsize size, jclass klass)
+{
+  total += size;
+  ptr_t obj = malloc (size, 1);
+  if (!obj) _Jv_ThrowNoMemory();
   *((_Jv_VTable **) obj) = klass->vtable;
   return obj;
 }
@@ -40,7 +51,8 @@ void *
 _Jv_AllocArray (jsize size, jclass klass)
 {
   total += size;
-  ptr_t obj = calloc (size, 1);
+  void *obj = calloc (size, 1);
+  if (!obj) _Jv_ThrowNoMemory();
   *((_Jv_VTable **) obj) = klass->vtable;
   return obj;
 }
@@ -49,6 +61,15 @@ void *
 _Jv_AllocBytes (jsize size)
 {
   total += size;
+  ptr_t obj = calloc (size, 1);
+  if (!obj) _Jv_ThrowNoMemory();
+  return obj;
+}
+
+void *
+_Jv_AllocRawObj (jsize size)
+{
+  total += size;
   return calloc (size, 1);
 }
 
@@ -111,3 +132,13 @@ void
 _Jv_InitGC (void)
 {
 }
+
+#ifdef JV_HASH_SYNCHRONIZATION
+void *
+_Jv_AllocTraceOne (jsize size /* includes vtable slot */) 
+{
+  ptr_t obj = calloc(size, 1);
+  if (!obj) _Jv_ThrowNoMemory();
+  return result;
+}
+#endif /* JV_HASH_SYNCHRONIZATION */