OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libjava/] [testsuite/] [libjava.jni/] [directbuffer.c] - Blame information for rev 765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 765 jeremybenn
#include <stdlib.h>
2
 
3
#include "directbuffer.h"
4
 
5
#define BUFFER_SIZE 1024
6
 
7
static void *address;
8
 
9
JNIEXPORT jobject JNICALL
10
Java_directbuffer_createDirectByteBuffer (JNIEnv *env, jclass k)
11
{
12
  address = malloc (BUFFER_SIZE);
13
  return (*env)->NewDirectByteBuffer (env, address, 1024);
14
}
15
 
16
static void
17
test_buffer (JNIEnv *env, jobject buffer, const char *name, int len)
18
{
19
  void *tmp = (*env)->GetDirectBufferAddress (env, buffer);
20
 
21
  if (address == tmp)
22
    printf ("PASS: address of %s\n", name);
23
  else
24
    printf ("FAIL: address of %s\n", name);
25
 
26
  int tmplen = (*env)->GetDirectBufferCapacity (env, buffer);
27
 
28
  if (len == tmplen)
29
    printf ("PASS: length of %s\n", name);
30
  else
31
    printf ("FAIL: length of %s\n", name);
32
}
33
 
34
JNIEXPORT void JNICALL
35
Java_directbuffer_testDirectByteBuffer (JNIEnv *env, jclass k, jobject buffer, jint len)
36
{
37
  test_buffer (env, buffer, "direct java.nio.ByteBuffer", len);
38
}
39
 
40
JNIEXPORT void JNICALL
41
Java_directbuffer_testCharBuffer (JNIEnv *env, jclass k, jobject buffer, jint len)
42
{
43
  test_buffer (env, buffer, "java.nio.CharBuffer view", len);
44
}
45
 
46
JNIEXPORT void JNICALL
47
Java_directbuffer_testDoubleBuffer (JNIEnv *env, jclass k, jobject buffer, jint len)
48
{
49
  test_buffer (env, buffer, "java.nio.DoubleBuffer view", len);
50
}
51
 
52
JNIEXPORT void JNICALL
53
Java_directbuffer_testFloatBuffer (JNIEnv *env, jclass k, jobject buffer, jint len)
54
{
55
  test_buffer (env, buffer, "java.nio.FloatBuffer view", len);
56
}
57
 
58
JNIEXPORT void JNICALL
59
Java_directbuffer_testIntBuffer (JNIEnv *env, jclass k, jobject buffer, jint len)
60
{
61
  test_buffer (env, buffer, "java.nio.IntBuffer view", len);
62
}
63
 
64
JNIEXPORT void JNICALL
65
Java_directbuffer_testLongBuffer (JNIEnv *env, jclass k, jobject buffer, jint len)
66
{
67
  test_buffer (env, buffer, "java.nio.LongBuffer view", len);
68
}
69
 
70
JNIEXPORT void JNICALL
71
Java_directbuffer_testShortBuffer (JNIEnv *env, jclass k, jobject buffer, jint len)
72
{
73
  test_buffer (env, buffer, "java.nio.ShortBuffer view", len);
74
}
75
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.