jvm.h (_Jv_AllocRawObj): New prototype.
* include/jvm.h (_Jv_AllocRawObj): New prototype. * boehm.cc (_Jv_AllocRawObj): Implement. * nogc.cc (_Jv_AllocRawObj): Likewise. * exception.cc (_Jv_Throw): Use _Jv_AllocRawObj, not GC_malloc. From-SVN: r45497
This commit is contained in:
parent
69971cd850
commit
7866a458e2
5 changed files with 26 additions and 4 deletions
|
@ -1,3 +1,10 @@
|
||||||
|
2001-09-10 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
|
||||||
|
|
||||||
|
* include/jvm.h (_Jv_AllocRawObj): New prototype.
|
||||||
|
* boehm.cc (_Jv_AllocRawObj): Implement.
|
||||||
|
* nogc.cc (_Jv_AllocRawObj): Likewise.
|
||||||
|
* exception.cc (_Jv_Throw): Use _Jv_AllocRawObj, not GC_malloc.
|
||||||
|
|
||||||
2001-09-06 Anthony Green <green@redhat.com>
|
2001-09-06 Anthony Green <green@redhat.com>
|
||||||
|
|
||||||
* java/util/ResourceBundle.java (tryLocalBundle): Eliminate
|
* java/util/ResourceBundle.java (tryLocalBundle): Eliminate
|
||||||
|
|
|
@ -375,6 +375,14 @@ _Jv_AllocArray (jsize size, jclass klass)
|
||||||
return obj;
|
return obj;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Allocate space for a new non-Java object, which does not have the usual
|
||||||
|
Java object header but may contain pointers to other GC'ed objects. */
|
||||||
|
void *
|
||||||
|
_Jv_AllocRawObj (jsize size)
|
||||||
|
{
|
||||||
|
return (void *) GC_MALLOC (size);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
call_finalizer (GC_PTR obj, GC_PTR client_data)
|
call_finalizer (GC_PTR obj, GC_PTR client_data)
|
||||||
{
|
{
|
||||||
|
|
|
@ -20,8 +20,6 @@ details. */
|
||||||
|
|
||||||
#include "unwind.h"
|
#include "unwind.h"
|
||||||
|
|
||||||
#include <gc.h>
|
|
||||||
|
|
||||||
|
|
||||||
struct alignment_test_struct
|
struct alignment_test_struct
|
||||||
{
|
{
|
||||||
|
@ -73,9 +71,8 @@ get_exception_header_from_ue (_Unwind_Exception *exc)
|
||||||
extern "C" void
|
extern "C" void
|
||||||
_Jv_Throw (jthrowable value)
|
_Jv_Throw (jthrowable value)
|
||||||
{
|
{
|
||||||
/* FIXME: Use the proper API to the collector. */
|
|
||||||
java_exception_header *xh
|
java_exception_header *xh
|
||||||
= static_cast<java_exception_header *>(GC_malloc (sizeof (*xh)));
|
= static_cast<java_exception_header *>(_Jv_AllocRawObj (sizeof (*xh)));
|
||||||
|
|
||||||
if (value == NULL)
|
if (value == NULL)
|
||||||
value = new java::lang::NullPointerException ();
|
value = new java::lang::NullPointerException ();
|
||||||
|
|
|
@ -114,6 +114,9 @@ void *_Jv_AllocPtrFreeObj (jsize size, jclass cl) __attribute__((__malloc__));
|
||||||
void *_Jv_AllocArray (jsize size, jclass cl) __attribute__((__malloc__));
|
void *_Jv_AllocArray (jsize size, jclass cl) __attribute__((__malloc__));
|
||||||
/* Allocate space that is known to be pointer-free. */
|
/* Allocate space that is known to be pointer-free. */
|
||||||
void *_Jv_AllocBytes (jsize size) __attribute__((__malloc__));
|
void *_Jv_AllocBytes (jsize size) __attribute__((__malloc__));
|
||||||
|
/* Allocate space for a new non-Java object, which does not have the usual
|
||||||
|
Java object header but may contain pointers to other GC'ed objects. */
|
||||||
|
void *_Jv_AllocRawObj (jsize size) __attribute__((__malloc__));
|
||||||
/* Explicitly throw an out-of-memory exception. */
|
/* Explicitly throw an out-of-memory exception. */
|
||||||
void _Jv_ThrowNoMemory() __attribute__((__noreturn__));
|
void _Jv_ThrowNoMemory() __attribute__((__noreturn__));
|
||||||
/* Allocate an object with a single pointer. The first word is reserved
|
/* Allocate an object with a single pointer. The first word is reserved
|
||||||
|
|
|
@ -66,6 +66,13 @@ _Jv_AllocBytes (jsize size)
|
||||||
return obj;
|
return obj;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void *
|
||||||
|
_Jv_AllocRawObj (jsize size)
|
||||||
|
{
|
||||||
|
total += size;
|
||||||
|
return calloc (size, 1);
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
_Jv_RegisterFinalizer (void *, _Jv_FinalizerFunc *)
|
_Jv_RegisterFinalizer (void *, _Jv_FinalizerFunc *)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue