500 } UNSAFE_END |
500 } UNSAFE_END |
501 |
501 |
502 UNSAFE_ENTRY(jlong, Unsafe_AllocateMemory0(JNIEnv *env, jobject unsafe, jlong size)) { |
502 UNSAFE_ENTRY(jlong, Unsafe_AllocateMemory0(JNIEnv *env, jobject unsafe, jlong size)) { |
503 size_t sz = (size_t)size; |
503 size_t sz = (size_t)size; |
504 |
504 |
505 sz = round_to(sz, HeapWordSize); |
505 sz = align_up(sz, HeapWordSize); |
506 void* x = os::malloc(sz, mtInternal); |
506 void* x = os::malloc(sz, mtInternal); |
507 |
507 |
508 return addr_to_java(x); |
508 return addr_to_java(x); |
509 } UNSAFE_END |
509 } UNSAFE_END |
510 |
510 |
511 UNSAFE_ENTRY(jlong, Unsafe_ReallocateMemory0(JNIEnv *env, jobject unsafe, jlong addr, jlong size)) { |
511 UNSAFE_ENTRY(jlong, Unsafe_ReallocateMemory0(JNIEnv *env, jobject unsafe, jlong addr, jlong size)) { |
512 void* p = addr_from_java(addr); |
512 void* p = addr_from_java(addr); |
513 size_t sz = (size_t)size; |
513 size_t sz = (size_t)size; |
514 sz = round_to(sz, HeapWordSize); |
514 sz = align_up(sz, HeapWordSize); |
515 |
515 |
516 void* x = os::realloc(p, sz, mtInternal); |
516 void* x = os::realloc(p, sz, mtInternal); |
517 |
517 |
518 return addr_to_java(x); |
518 return addr_to_java(x); |
519 } UNSAFE_END |
519 } UNSAFE_END |