1348 |
1348 |
1349 #define ADR "J" |
1349 #define ADR "J" |
1350 |
1350 |
1351 #define LANG "Ljava/lang/" |
1351 #define LANG "Ljava/lang/" |
1352 |
1352 |
1353 #define OBJ LANG"Object;" |
1353 #define OBJ LANG "Object;" |
1354 #define CLS LANG"Class;" |
1354 #define CLS LANG "Class;" |
1355 #define CTR LANG"reflect/Constructor;" |
1355 #define CTR LANG "reflect/Constructor;" |
1356 #define FLD LANG"reflect/Field;" |
1356 #define FLD LANG "reflect/Field;" |
1357 #define MTH LANG"reflect/Method;" |
1357 #define MTH LANG "reflect/Method;" |
1358 #define THR LANG"Throwable;" |
1358 #define THR LANG "Throwable;" |
1359 |
1359 |
1360 #define DC0_Args LANG"String;[BII" |
1360 #define DC0_Args LANG "String;[BII" |
1361 #define DC_Args DC0_Args LANG"ClassLoader;" "Ljava/security/ProtectionDomain;" |
1361 #define DC_Args DC0_Args LANG "ClassLoader;" "Ljava/security/ProtectionDomain;" |
1362 |
1362 |
1363 #define CC (char*) /*cast a literal from (const char*)*/ |
1363 #define CC (char*) /*cast a literal from (const char*)*/ |
1364 #define FN_PTR(f) CAST_FROM_FN_PTR(void*, &f) |
1364 #define FN_PTR(f) CAST_FROM_FN_PTR(void*, &f) |
1365 |
1365 |
1366 // define deprecated accessors for compabitility with 1.4.0 |
1366 // define deprecated accessors for compabitility with 1.4.0 |
1367 #define DECLARE_GETSETOOP_140(Boolean, Z) \ |
1367 #define DECLARE_GETSETOOP_140(Boolean, Z) \ |
1368 {CC"get"#Boolean, CC"("OBJ"I)"#Z, FN_PTR(Unsafe_Get##Boolean##140)}, \ |
1368 {CC "get" #Boolean, CC "(" OBJ "I)" #Z, FN_PTR(Unsafe_Get##Boolean##140)}, \ |
1369 {CC"put"#Boolean, CC"("OBJ"I"#Z")V", FN_PTR(Unsafe_Set##Boolean##140)} |
1369 {CC "put" #Boolean, CC "(" OBJ "I" #Z ")V", FN_PTR(Unsafe_Set##Boolean##140)} |
1370 |
1370 |
1371 // Note: In 1.4.1, getObject and kin take both int and long offsets. |
1371 // Note: In 1.4.1, getObject and kin take both int and long offsets. |
1372 #define DECLARE_GETSETOOP_141(Boolean, Z) \ |
1372 #define DECLARE_GETSETOOP_141(Boolean, Z) \ |
1373 {CC"get"#Boolean, CC"("OBJ"J)"#Z, FN_PTR(Unsafe_Get##Boolean)}, \ |
1373 {CC "get" #Boolean, CC "(" OBJ "J)" #Z, FN_PTR(Unsafe_Get##Boolean)}, \ |
1374 {CC"put"#Boolean, CC"("OBJ"J"#Z")V", FN_PTR(Unsafe_Set##Boolean)} |
1374 {CC "put" #Boolean, CC "(" OBJ "J" #Z ")V", FN_PTR(Unsafe_Set##Boolean)} |
1375 |
1375 |
1376 // Note: In 1.5.0, there are volatile versions too |
1376 // Note: In 1.5.0, there are volatile versions too |
1377 #define DECLARE_GETSETOOP(Boolean, Z) \ |
1377 #define DECLARE_GETSETOOP(Boolean, Z) \ |
1378 {CC"get"#Boolean, CC"("OBJ"J)"#Z, FN_PTR(Unsafe_Get##Boolean)}, \ |
1378 {CC "get" #Boolean, CC "(" OBJ "J)" #Z, FN_PTR(Unsafe_Get##Boolean)}, \ |
1379 {CC"put"#Boolean, CC"("OBJ"J"#Z")V", FN_PTR(Unsafe_Set##Boolean)}, \ |
1379 {CC "put" #Boolean, CC "(" OBJ "J" #Z ")V", FN_PTR(Unsafe_Set##Boolean)}, \ |
1380 {CC"get"#Boolean"Volatile", CC"("OBJ"J)"#Z, FN_PTR(Unsafe_Get##Boolean##Volatile)}, \ |
1380 {CC "get" #Boolean "Volatile", CC "(" OBJ "J)" #Z, FN_PTR(Unsafe_Get##Boolean##Volatile)}, \ |
1381 {CC"put"#Boolean"Volatile", CC"("OBJ"J"#Z")V", FN_PTR(Unsafe_Set##Boolean##Volatile)} |
1381 {CC "put" #Boolean "Volatile", CC "(" OBJ "J" #Z ")V", FN_PTR(Unsafe_Set##Boolean##Volatile)} |
1382 |
1382 |
1383 |
1383 |
1384 #define DECLARE_GETSETNATIVE(Byte, B) \ |
1384 #define DECLARE_GETSETNATIVE(Byte, B) \ |
1385 {CC"get"#Byte, CC"("ADR")"#B, FN_PTR(Unsafe_GetNative##Byte)}, \ |
1385 {CC "get" #Byte, CC "(" ADR ")" #B, FN_PTR(Unsafe_GetNative##Byte)}, \ |
1386 {CC"put"#Byte, CC"("ADR#B")V", FN_PTR(Unsafe_SetNative##Byte)} |
1386 {CC "put" #Byte, CC "(" ADR#B ")V", FN_PTR(Unsafe_SetNative##Byte)} |
1387 |
1387 |
1388 |
1388 |
1389 |
1389 |
1390 // These are the methods for 1.4.0 |
1390 // These are the methods for 1.4.0 |
1391 static JNINativeMethod methods_140[] = { |
1391 static JNINativeMethod methods_140[] = { |
1392 {CC"getObject", CC"("OBJ"I)"OBJ"", FN_PTR(Unsafe_GetObject140)}, |
1392 {CC "getObject", CC "(" OBJ "I)" OBJ "", FN_PTR(Unsafe_GetObject140)}, |
1393 {CC"putObject", CC"("OBJ"I"OBJ")V", FN_PTR(Unsafe_SetObject140)}, |
1393 {CC "putObject", CC "(" OBJ "I" OBJ ")V", FN_PTR(Unsafe_SetObject140)}, |
1394 |
1394 |
1395 DECLARE_GETSETOOP_140(Boolean, Z), |
1395 DECLARE_GETSETOOP_140(Boolean, Z), |
1396 DECLARE_GETSETOOP_140(Byte, B), |
1396 DECLARE_GETSETOOP_140(Byte, B), |
1397 DECLARE_GETSETOOP_140(Short, S), |
1397 DECLARE_GETSETOOP_140(Short, S), |
1398 DECLARE_GETSETOOP_140(Char, C), |
1398 DECLARE_GETSETOOP_140(Char, C), |
1407 DECLARE_GETSETNATIVE(Int, I), |
1407 DECLARE_GETSETNATIVE(Int, I), |
1408 DECLARE_GETSETNATIVE(Long, J), |
1408 DECLARE_GETSETNATIVE(Long, J), |
1409 DECLARE_GETSETNATIVE(Float, F), |
1409 DECLARE_GETSETNATIVE(Float, F), |
1410 DECLARE_GETSETNATIVE(Double, D), |
1410 DECLARE_GETSETNATIVE(Double, D), |
1411 |
1411 |
1412 {CC"getAddress", CC"("ADR")"ADR, FN_PTR(Unsafe_GetNativeAddress)}, |
1412 {CC "getAddress", CC "(" ADR ")" ADR, FN_PTR(Unsafe_GetNativeAddress)}, |
1413 {CC"putAddress", CC"("ADR""ADR")V", FN_PTR(Unsafe_SetNativeAddress)}, |
1413 {CC "putAddress", CC "(" ADR "" ADR ")V", FN_PTR(Unsafe_SetNativeAddress)}, |
1414 |
1414 |
1415 {CC"allocateMemory", CC"(J)"ADR, FN_PTR(Unsafe_AllocateMemory)}, |
1415 {CC "allocateMemory", CC "(J)" ADR, FN_PTR(Unsafe_AllocateMemory)}, |
1416 {CC"reallocateMemory", CC"("ADR"J)"ADR, FN_PTR(Unsafe_ReallocateMemory)}, |
1416 {CC "reallocateMemory", CC "(" ADR "J)" ADR, FN_PTR(Unsafe_ReallocateMemory)}, |
1417 {CC"freeMemory", CC"("ADR")V", FN_PTR(Unsafe_FreeMemory)}, |
1417 {CC "freeMemory", CC "(" ADR ")V", FN_PTR(Unsafe_FreeMemory)}, |
1418 |
1418 |
1419 {CC"fieldOffset", CC"("FLD")I", FN_PTR(Unsafe_FieldOffset)}, |
1419 {CC "fieldOffset", CC "(" FLD ")I", FN_PTR(Unsafe_FieldOffset)}, |
1420 {CC"staticFieldBase", CC"("CLS")"OBJ, FN_PTR(Unsafe_StaticFieldBaseFromClass)}, |
1420 {CC "staticFieldBase", CC "(" CLS ")" OBJ, FN_PTR(Unsafe_StaticFieldBaseFromClass)}, |
1421 {CC"ensureClassInitialized",CC"("CLS")V", FN_PTR(Unsafe_EnsureClassInitialized)}, |
1421 {CC "ensureClassInitialized",CC "(" CLS ")V", FN_PTR(Unsafe_EnsureClassInitialized)}, |
1422 {CC"arrayBaseOffset", CC"("CLS")I", FN_PTR(Unsafe_ArrayBaseOffset)}, |
1422 {CC "arrayBaseOffset", CC "(" CLS ")I", FN_PTR(Unsafe_ArrayBaseOffset)}, |
1423 {CC"arrayIndexScale", CC"("CLS")I", FN_PTR(Unsafe_ArrayIndexScale)}, |
1423 {CC "arrayIndexScale", CC "(" CLS ")I", FN_PTR(Unsafe_ArrayIndexScale)}, |
1424 {CC"addressSize", CC"()I", FN_PTR(Unsafe_AddressSize)}, |
1424 {CC "addressSize", CC "()I", FN_PTR(Unsafe_AddressSize)}, |
1425 {CC"pageSize", CC"()I", FN_PTR(Unsafe_PageSize)}, |
1425 {CC "pageSize", CC "()I", FN_PTR(Unsafe_PageSize)}, |
1426 |
1426 |
1427 {CC"defineClass", CC"("DC0_Args")"CLS, FN_PTR(Unsafe_DefineClass0)}, |
1427 {CC "defineClass", CC "(" DC0_Args ")" CLS, FN_PTR(Unsafe_DefineClass0)}, |
1428 {CC"defineClass", CC"("DC_Args")"CLS, FN_PTR(Unsafe_DefineClass)}, |
1428 {CC "defineClass", CC "(" DC_Args ")" CLS, FN_PTR(Unsafe_DefineClass)}, |
1429 {CC"allocateInstance", CC"("CLS")"OBJ, FN_PTR(Unsafe_AllocateInstance)}, |
1429 {CC "allocateInstance", CC "(" CLS ")" OBJ, FN_PTR(Unsafe_AllocateInstance)}, |
1430 {CC"monitorEnter", CC"("OBJ")V", FN_PTR(Unsafe_MonitorEnter)}, |
1430 {CC "monitorEnter", CC "(" OBJ ")V", FN_PTR(Unsafe_MonitorEnter)}, |
1431 {CC"monitorExit", CC"("OBJ")V", FN_PTR(Unsafe_MonitorExit)}, |
1431 {CC "monitorExit", CC "(" OBJ ")V", FN_PTR(Unsafe_MonitorExit)}, |
1432 {CC"throwException", CC"("THR")V", FN_PTR(Unsafe_ThrowException)} |
1432 {CC "throwException", CC "(" THR ")V", FN_PTR(Unsafe_ThrowException)} |
1433 }; |
1433 }; |
1434 |
1434 |
1435 // These are the methods prior to the JSR 166 changes in 1.5.0 |
1435 // These are the methods prior to the JSR 166 changes in 1.5.0 |
1436 static JNINativeMethod methods_141[] = { |
1436 static JNINativeMethod methods_141[] = { |
1437 {CC"getObject", CC"("OBJ"J)"OBJ"", FN_PTR(Unsafe_GetObject)}, |
1437 {CC "getObject", CC "(" OBJ "J)" OBJ "", FN_PTR(Unsafe_GetObject)}, |
1438 {CC"putObject", CC"("OBJ"J"OBJ")V", FN_PTR(Unsafe_SetObject)}, |
1438 {CC "putObject", CC "(" OBJ "J" OBJ ")V", FN_PTR(Unsafe_SetObject)}, |
1439 |
1439 |
1440 DECLARE_GETSETOOP_141(Boolean, Z), |
1440 DECLARE_GETSETOOP_141(Boolean, Z), |
1441 DECLARE_GETSETOOP_141(Byte, B), |
1441 DECLARE_GETSETOOP_141(Byte, B), |
1442 DECLARE_GETSETOOP_141(Short, S), |
1442 DECLARE_GETSETOOP_141(Short, S), |
1443 DECLARE_GETSETOOP_141(Char, C), |
1443 DECLARE_GETSETOOP_141(Char, C), |
1452 DECLARE_GETSETNATIVE(Int, I), |
1452 DECLARE_GETSETNATIVE(Int, I), |
1453 DECLARE_GETSETNATIVE(Long, J), |
1453 DECLARE_GETSETNATIVE(Long, J), |
1454 DECLARE_GETSETNATIVE(Float, F), |
1454 DECLARE_GETSETNATIVE(Float, F), |
1455 DECLARE_GETSETNATIVE(Double, D), |
1455 DECLARE_GETSETNATIVE(Double, D), |
1456 |
1456 |
1457 {CC"getAddress", CC"("ADR")"ADR, FN_PTR(Unsafe_GetNativeAddress)}, |
1457 {CC "getAddress", CC "(" ADR ")" ADR, FN_PTR(Unsafe_GetNativeAddress)}, |
1458 {CC"putAddress", CC"("ADR""ADR")V", FN_PTR(Unsafe_SetNativeAddress)}, |
1458 {CC "putAddress", CC "(" ADR "" ADR ")V", FN_PTR(Unsafe_SetNativeAddress)}, |
1459 |
1459 |
1460 {CC"allocateMemory", CC"(J)"ADR, FN_PTR(Unsafe_AllocateMemory)}, |
1460 {CC "allocateMemory", CC "(J)" ADR, FN_PTR(Unsafe_AllocateMemory)}, |
1461 {CC"reallocateMemory", CC"("ADR"J)"ADR, FN_PTR(Unsafe_ReallocateMemory)}, |
1461 {CC "reallocateMemory", CC "(" ADR "J)" ADR, FN_PTR(Unsafe_ReallocateMemory)}, |
1462 {CC"freeMemory", CC"("ADR")V", FN_PTR(Unsafe_FreeMemory)}, |
1462 {CC "freeMemory", CC "(" ADR ")V", FN_PTR(Unsafe_FreeMemory)}, |
1463 |
1463 |
1464 {CC"objectFieldOffset", CC"("FLD")J", FN_PTR(Unsafe_ObjectFieldOffset)}, |
1464 {CC "objectFieldOffset", CC "(" FLD ")J", FN_PTR(Unsafe_ObjectFieldOffset)}, |
1465 {CC"staticFieldOffset", CC"("FLD")J", FN_PTR(Unsafe_StaticFieldOffset)}, |
1465 {CC "staticFieldOffset", CC "(" FLD ")J", FN_PTR(Unsafe_StaticFieldOffset)}, |
1466 {CC"staticFieldBase", CC"("FLD")"OBJ, FN_PTR(Unsafe_StaticFieldBaseFromField)}, |
1466 {CC "staticFieldBase", CC "(" FLD ")" OBJ, FN_PTR(Unsafe_StaticFieldBaseFromField)}, |
1467 {CC"ensureClassInitialized",CC"("CLS")V", FN_PTR(Unsafe_EnsureClassInitialized)}, |
1467 {CC "ensureClassInitialized",CC "(" CLS ")V", FN_PTR(Unsafe_EnsureClassInitialized)}, |
1468 {CC"arrayBaseOffset", CC"("CLS")I", FN_PTR(Unsafe_ArrayBaseOffset)}, |
1468 {CC "arrayBaseOffset", CC "(" CLS ")I", FN_PTR(Unsafe_ArrayBaseOffset)}, |
1469 {CC"arrayIndexScale", CC"("CLS")I", FN_PTR(Unsafe_ArrayIndexScale)}, |
1469 {CC "arrayIndexScale", CC "(" CLS ")I", FN_PTR(Unsafe_ArrayIndexScale)}, |
1470 {CC"addressSize", CC"()I", FN_PTR(Unsafe_AddressSize)}, |
1470 {CC "addressSize", CC "()I", FN_PTR(Unsafe_AddressSize)}, |
1471 {CC"pageSize", CC"()I", FN_PTR(Unsafe_PageSize)}, |
1471 {CC "pageSize", CC "()I", FN_PTR(Unsafe_PageSize)}, |
1472 |
1472 |
1473 {CC"defineClass", CC"("DC0_Args")"CLS, FN_PTR(Unsafe_DefineClass0)}, |
1473 {CC "defineClass", CC "(" DC0_Args ")" CLS, FN_PTR(Unsafe_DefineClass0)}, |
1474 {CC"defineClass", CC"("DC_Args")"CLS, FN_PTR(Unsafe_DefineClass)}, |
1474 {CC "defineClass", CC "(" DC_Args ")" CLS, FN_PTR(Unsafe_DefineClass)}, |
1475 {CC"allocateInstance", CC"("CLS")"OBJ, FN_PTR(Unsafe_AllocateInstance)}, |
1475 {CC "allocateInstance", CC "(" CLS ")" OBJ, FN_PTR(Unsafe_AllocateInstance)}, |
1476 {CC"monitorEnter", CC"("OBJ")V", FN_PTR(Unsafe_MonitorEnter)}, |
1476 {CC "monitorEnter", CC "(" OBJ ")V", FN_PTR(Unsafe_MonitorEnter)}, |
1477 {CC"monitorExit", CC"("OBJ")V", FN_PTR(Unsafe_MonitorExit)}, |
1477 {CC "monitorExit", CC "(" OBJ ")V", FN_PTR(Unsafe_MonitorExit)}, |
1478 {CC"throwException", CC"("THR")V", FN_PTR(Unsafe_ThrowException)} |
1478 {CC "throwException", CC "(" THR ")V", FN_PTR(Unsafe_ThrowException)} |
1479 |
1479 |
1480 }; |
1480 }; |
1481 |
1481 |
1482 // These are the methods prior to the JSR 166 changes in 1.6.0 |
1482 // These are the methods prior to the JSR 166 changes in 1.6.0 |
1483 static JNINativeMethod methods_15[] = { |
1483 static JNINativeMethod methods_15[] = { |
1484 {CC"getObject", CC"("OBJ"J)"OBJ"", FN_PTR(Unsafe_GetObject)}, |
1484 {CC "getObject", CC "(" OBJ "J)" OBJ "", FN_PTR(Unsafe_GetObject)}, |
1485 {CC"putObject", CC"("OBJ"J"OBJ")V", FN_PTR(Unsafe_SetObject)}, |
1485 {CC "putObject", CC "(" OBJ "J" OBJ ")V", FN_PTR(Unsafe_SetObject)}, |
1486 {CC"getObjectVolatile",CC"("OBJ"J)"OBJ"", FN_PTR(Unsafe_GetObjectVolatile)}, |
1486 {CC "getObjectVolatile",CC "(" OBJ "J)" OBJ "", FN_PTR(Unsafe_GetObjectVolatile)}, |
1487 {CC"putObjectVolatile",CC"("OBJ"J"OBJ")V", FN_PTR(Unsafe_SetObjectVolatile)}, |
1487 {CC "putObjectVolatile",CC "(" OBJ "J" OBJ ")V", FN_PTR(Unsafe_SetObjectVolatile)}, |
1488 |
1488 |
1489 |
1489 |
1490 DECLARE_GETSETOOP(Boolean, Z), |
1490 DECLARE_GETSETOOP(Boolean, Z), |
1491 DECLARE_GETSETOOP(Byte, B), |
1491 DECLARE_GETSETOOP(Byte, B), |
1492 DECLARE_GETSETOOP(Short, S), |
1492 DECLARE_GETSETOOP(Short, S), |
1502 DECLARE_GETSETNATIVE(Int, I), |
1502 DECLARE_GETSETNATIVE(Int, I), |
1503 DECLARE_GETSETNATIVE(Long, J), |
1503 DECLARE_GETSETNATIVE(Long, J), |
1504 DECLARE_GETSETNATIVE(Float, F), |
1504 DECLARE_GETSETNATIVE(Float, F), |
1505 DECLARE_GETSETNATIVE(Double, D), |
1505 DECLARE_GETSETNATIVE(Double, D), |
1506 |
1506 |
1507 {CC"getAddress", CC"("ADR")"ADR, FN_PTR(Unsafe_GetNativeAddress)}, |
1507 {CC "getAddress", CC "(" ADR ")" ADR, FN_PTR(Unsafe_GetNativeAddress)}, |
1508 {CC"putAddress", CC"("ADR""ADR")V", FN_PTR(Unsafe_SetNativeAddress)}, |
1508 {CC "putAddress", CC "(" ADR "" ADR ")V", FN_PTR(Unsafe_SetNativeAddress)}, |
1509 |
1509 |
1510 {CC"allocateMemory", CC"(J)"ADR, FN_PTR(Unsafe_AllocateMemory)}, |
1510 {CC "allocateMemory", CC "(J)" ADR, FN_PTR(Unsafe_AllocateMemory)}, |
1511 {CC"reallocateMemory", CC"("ADR"J)"ADR, FN_PTR(Unsafe_ReallocateMemory)}, |
1511 {CC "reallocateMemory", CC "(" ADR "J)" ADR, FN_PTR(Unsafe_ReallocateMemory)}, |
1512 {CC"freeMemory", CC"("ADR")V", FN_PTR(Unsafe_FreeMemory)}, |
1512 {CC "freeMemory", CC "(" ADR ")V", FN_PTR(Unsafe_FreeMemory)}, |
1513 |
1513 |
1514 {CC"objectFieldOffset", CC"("FLD")J", FN_PTR(Unsafe_ObjectFieldOffset)}, |
1514 {CC "objectFieldOffset", CC "(" FLD ")J", FN_PTR(Unsafe_ObjectFieldOffset)}, |
1515 {CC"staticFieldOffset", CC"("FLD")J", FN_PTR(Unsafe_StaticFieldOffset)}, |
1515 {CC "staticFieldOffset", CC "(" FLD ")J", FN_PTR(Unsafe_StaticFieldOffset)}, |
1516 {CC"staticFieldBase", CC"("FLD")"OBJ, FN_PTR(Unsafe_StaticFieldBaseFromField)}, |
1516 {CC "staticFieldBase", CC "(" FLD ")" OBJ, FN_PTR(Unsafe_StaticFieldBaseFromField)}, |
1517 {CC"ensureClassInitialized",CC"("CLS")V", FN_PTR(Unsafe_EnsureClassInitialized)}, |
1517 {CC "ensureClassInitialized",CC "(" CLS ")V", FN_PTR(Unsafe_EnsureClassInitialized)}, |
1518 {CC"arrayBaseOffset", CC"("CLS")I", FN_PTR(Unsafe_ArrayBaseOffset)}, |
1518 {CC "arrayBaseOffset", CC "(" CLS ")I", FN_PTR(Unsafe_ArrayBaseOffset)}, |
1519 {CC"arrayIndexScale", CC"("CLS")I", FN_PTR(Unsafe_ArrayIndexScale)}, |
1519 {CC "arrayIndexScale", CC "(" CLS ")I", FN_PTR(Unsafe_ArrayIndexScale)}, |
1520 {CC"addressSize", CC"()I", FN_PTR(Unsafe_AddressSize)}, |
1520 {CC "addressSize", CC "()I", FN_PTR(Unsafe_AddressSize)}, |
1521 {CC"pageSize", CC"()I", FN_PTR(Unsafe_PageSize)}, |
1521 {CC "pageSize", CC "()I", FN_PTR(Unsafe_PageSize)}, |
1522 |
1522 |
1523 {CC"defineClass", CC"("DC0_Args")"CLS, FN_PTR(Unsafe_DefineClass0)}, |
1523 {CC "defineClass", CC "(" DC0_Args ")" CLS, FN_PTR(Unsafe_DefineClass0)}, |
1524 {CC"defineClass", CC"("DC_Args")"CLS, FN_PTR(Unsafe_DefineClass)}, |
1524 {CC "defineClass", CC "(" DC_Args ")" CLS, FN_PTR(Unsafe_DefineClass)}, |
1525 {CC"allocateInstance", CC"("CLS")"OBJ, FN_PTR(Unsafe_AllocateInstance)}, |
1525 {CC "allocateInstance", CC "(" CLS ")" OBJ, FN_PTR(Unsafe_AllocateInstance)}, |
1526 {CC"monitorEnter", CC"("OBJ")V", FN_PTR(Unsafe_MonitorEnter)}, |
1526 {CC "monitorEnter", CC "(" OBJ ")V", FN_PTR(Unsafe_MonitorEnter)}, |
1527 {CC"monitorExit", CC"("OBJ")V", FN_PTR(Unsafe_MonitorExit)}, |
1527 {CC "monitorExit", CC "(" OBJ ")V", FN_PTR(Unsafe_MonitorExit)}, |
1528 {CC"throwException", CC"("THR")V", FN_PTR(Unsafe_ThrowException)}, |
1528 {CC "throwException", CC "(" THR ")V", FN_PTR(Unsafe_ThrowException)}, |
1529 {CC"compareAndSwapObject", CC"("OBJ"J"OBJ""OBJ")Z", FN_PTR(Unsafe_CompareAndSwapObject)}, |
1529 {CC "compareAndSwapObject", CC "(" OBJ "J" OBJ "" OBJ ")Z", FN_PTR(Unsafe_CompareAndSwapObject)}, |
1530 {CC"compareAndSwapInt", CC"("OBJ"J""I""I"")Z", FN_PTR(Unsafe_CompareAndSwapInt)}, |
1530 {CC "compareAndSwapInt", CC "(" OBJ "J""I""I"")Z", FN_PTR(Unsafe_CompareAndSwapInt)}, |
1531 {CC"compareAndSwapLong", CC"("OBJ"J""J""J"")Z", FN_PTR(Unsafe_CompareAndSwapLong)}, |
1531 {CC "compareAndSwapLong", CC "(" OBJ "J""J""J"")Z", FN_PTR(Unsafe_CompareAndSwapLong)}, |
1532 {CC"park", CC"(ZJ)V", FN_PTR(Unsafe_Park)}, |
1532 {CC "park", CC "(ZJ)V", FN_PTR(Unsafe_Park)}, |
1533 {CC"unpark", CC"("OBJ")V", FN_PTR(Unsafe_Unpark)} |
1533 {CC "unpark", CC "(" OBJ ")V", FN_PTR(Unsafe_Unpark)} |
1534 |
1534 |
1535 }; |
1535 }; |
1536 |
1536 |
1537 // These are the methods for 1.6.0 and 1.7.0 |
1537 // These are the methods for 1.6.0 and 1.7.0 |
1538 static JNINativeMethod methods_16[] = { |
1538 static JNINativeMethod methods_16[] = { |
1539 {CC"getObject", CC"("OBJ"J)"OBJ"", FN_PTR(Unsafe_GetObject)}, |
1539 {CC "getObject", CC "(" OBJ "J)" OBJ "", FN_PTR(Unsafe_GetObject)}, |
1540 {CC"putObject", CC"("OBJ"J"OBJ")V", FN_PTR(Unsafe_SetObject)}, |
1540 {CC "putObject", CC "(" OBJ "J" OBJ ")V", FN_PTR(Unsafe_SetObject)}, |
1541 {CC"getObjectVolatile",CC"("OBJ"J)"OBJ"", FN_PTR(Unsafe_GetObjectVolatile)}, |
1541 {CC "getObjectVolatile",CC "(" OBJ "J)" OBJ "", FN_PTR(Unsafe_GetObjectVolatile)}, |
1542 {CC"putObjectVolatile",CC"("OBJ"J"OBJ")V", FN_PTR(Unsafe_SetObjectVolatile)}, |
1542 {CC "putObjectVolatile",CC "(" OBJ "J" OBJ ")V", FN_PTR(Unsafe_SetObjectVolatile)}, |
1543 |
1543 |
1544 DECLARE_GETSETOOP(Boolean, Z), |
1544 DECLARE_GETSETOOP(Boolean, Z), |
1545 DECLARE_GETSETOOP(Byte, B), |
1545 DECLARE_GETSETOOP(Byte, B), |
1546 DECLARE_GETSETOOP(Short, S), |
1546 DECLARE_GETSETOOP(Short, S), |
1547 DECLARE_GETSETOOP(Char, C), |
1547 DECLARE_GETSETOOP(Char, C), |
1556 DECLARE_GETSETNATIVE(Int, I), |
1556 DECLARE_GETSETNATIVE(Int, I), |
1557 DECLARE_GETSETNATIVE(Long, J), |
1557 DECLARE_GETSETNATIVE(Long, J), |
1558 DECLARE_GETSETNATIVE(Float, F), |
1558 DECLARE_GETSETNATIVE(Float, F), |
1559 DECLARE_GETSETNATIVE(Double, D), |
1559 DECLARE_GETSETNATIVE(Double, D), |
1560 |
1560 |
1561 {CC"getAddress", CC"("ADR")"ADR, FN_PTR(Unsafe_GetNativeAddress)}, |
1561 {CC "getAddress", CC "(" ADR ")" ADR, FN_PTR(Unsafe_GetNativeAddress)}, |
1562 {CC"putAddress", CC"("ADR""ADR")V", FN_PTR(Unsafe_SetNativeAddress)}, |
1562 {CC "putAddress", CC "(" ADR "" ADR ")V", FN_PTR(Unsafe_SetNativeAddress)}, |
1563 |
1563 |
1564 {CC"allocateMemory", CC"(J)"ADR, FN_PTR(Unsafe_AllocateMemory)}, |
1564 {CC "allocateMemory", CC "(J)" ADR, FN_PTR(Unsafe_AllocateMemory)}, |
1565 {CC"reallocateMemory", CC"("ADR"J)"ADR, FN_PTR(Unsafe_ReallocateMemory)}, |
1565 {CC "reallocateMemory", CC "(" ADR "J)" ADR, FN_PTR(Unsafe_ReallocateMemory)}, |
1566 {CC"freeMemory", CC"("ADR")V", FN_PTR(Unsafe_FreeMemory)}, |
1566 {CC "freeMemory", CC "(" ADR ")V", FN_PTR(Unsafe_FreeMemory)}, |
1567 |
1567 |
1568 {CC"objectFieldOffset", CC"("FLD")J", FN_PTR(Unsafe_ObjectFieldOffset)}, |
1568 {CC "objectFieldOffset", CC "(" FLD ")J", FN_PTR(Unsafe_ObjectFieldOffset)}, |
1569 {CC"staticFieldOffset", CC"("FLD")J", FN_PTR(Unsafe_StaticFieldOffset)}, |
1569 {CC "staticFieldOffset", CC "(" FLD ")J", FN_PTR(Unsafe_StaticFieldOffset)}, |
1570 {CC"staticFieldBase", CC"("FLD")"OBJ, FN_PTR(Unsafe_StaticFieldBaseFromField)}, |
1570 {CC "staticFieldBase", CC "(" FLD ")" OBJ, FN_PTR(Unsafe_StaticFieldBaseFromField)}, |
1571 {CC"ensureClassInitialized",CC"("CLS")V", FN_PTR(Unsafe_EnsureClassInitialized)}, |
1571 {CC "ensureClassInitialized",CC "(" CLS ")V", FN_PTR(Unsafe_EnsureClassInitialized)}, |
1572 {CC"arrayBaseOffset", CC"("CLS")I", FN_PTR(Unsafe_ArrayBaseOffset)}, |
1572 {CC "arrayBaseOffset", CC "(" CLS ")I", FN_PTR(Unsafe_ArrayBaseOffset)}, |
1573 {CC"arrayIndexScale", CC"("CLS")I", FN_PTR(Unsafe_ArrayIndexScale)}, |
1573 {CC "arrayIndexScale", CC "(" CLS ")I", FN_PTR(Unsafe_ArrayIndexScale)}, |
1574 {CC"addressSize", CC"()I", FN_PTR(Unsafe_AddressSize)}, |
1574 {CC "addressSize", CC "()I", FN_PTR(Unsafe_AddressSize)}, |
1575 {CC"pageSize", CC"()I", FN_PTR(Unsafe_PageSize)}, |
1575 {CC "pageSize", CC "()I", FN_PTR(Unsafe_PageSize)}, |
1576 |
1576 |
1577 {CC"defineClass", CC"("DC0_Args")"CLS, FN_PTR(Unsafe_DefineClass0)}, |
1577 {CC "defineClass", CC "(" DC0_Args ")" CLS, FN_PTR(Unsafe_DefineClass0)}, |
1578 {CC"defineClass", CC"("DC_Args")"CLS, FN_PTR(Unsafe_DefineClass)}, |
1578 {CC "defineClass", CC "(" DC_Args ")" CLS, FN_PTR(Unsafe_DefineClass)}, |
1579 {CC"allocateInstance", CC"("CLS")"OBJ, FN_PTR(Unsafe_AllocateInstance)}, |
1579 {CC "allocateInstance", CC "(" CLS ")" OBJ, FN_PTR(Unsafe_AllocateInstance)}, |
1580 {CC"monitorEnter", CC"("OBJ")V", FN_PTR(Unsafe_MonitorEnter)}, |
1580 {CC "monitorEnter", CC "(" OBJ ")V", FN_PTR(Unsafe_MonitorEnter)}, |
1581 {CC"monitorExit", CC"("OBJ")V", FN_PTR(Unsafe_MonitorExit)}, |
1581 {CC "monitorExit", CC "(" OBJ ")V", FN_PTR(Unsafe_MonitorExit)}, |
1582 {CC"tryMonitorEnter", CC"("OBJ")Z", FN_PTR(Unsafe_TryMonitorEnter)}, |
1582 {CC "tryMonitorEnter", CC "(" OBJ ")Z", FN_PTR(Unsafe_TryMonitorEnter)}, |
1583 {CC"throwException", CC"("THR")V", FN_PTR(Unsafe_ThrowException)}, |
1583 {CC "throwException", CC "(" THR ")V", FN_PTR(Unsafe_ThrowException)}, |
1584 {CC"compareAndSwapObject", CC"("OBJ"J"OBJ""OBJ")Z", FN_PTR(Unsafe_CompareAndSwapObject)}, |
1584 {CC "compareAndSwapObject", CC "(" OBJ "J" OBJ "" OBJ ")Z", FN_PTR(Unsafe_CompareAndSwapObject)}, |
1585 {CC"compareAndSwapInt", CC"("OBJ"J""I""I"")Z", FN_PTR(Unsafe_CompareAndSwapInt)}, |
1585 {CC "compareAndSwapInt", CC "(" OBJ "J""I""I"")Z", FN_PTR(Unsafe_CompareAndSwapInt)}, |
1586 {CC"compareAndSwapLong", CC"("OBJ"J""J""J"")Z", FN_PTR(Unsafe_CompareAndSwapLong)}, |
1586 {CC "compareAndSwapLong", CC "(" OBJ "J""J""J"")Z", FN_PTR(Unsafe_CompareAndSwapLong)}, |
1587 {CC"putOrderedObject", CC"("OBJ"J"OBJ")V", FN_PTR(Unsafe_SetOrderedObject)}, |
1587 {CC "putOrderedObject", CC "(" OBJ "J" OBJ ")V", FN_PTR(Unsafe_SetOrderedObject)}, |
1588 {CC"putOrderedInt", CC"("OBJ"JI)V", FN_PTR(Unsafe_SetOrderedInt)}, |
1588 {CC "putOrderedInt", CC "(" OBJ "JI)V", FN_PTR(Unsafe_SetOrderedInt)}, |
1589 {CC"putOrderedLong", CC"("OBJ"JJ)V", FN_PTR(Unsafe_SetOrderedLong)}, |
1589 {CC "putOrderedLong", CC "(" OBJ "JJ)V", FN_PTR(Unsafe_SetOrderedLong)}, |
1590 {CC"park", CC"(ZJ)V", FN_PTR(Unsafe_Park)}, |
1590 {CC "park", CC "(ZJ)V", FN_PTR(Unsafe_Park)}, |
1591 {CC"unpark", CC"("OBJ")V", FN_PTR(Unsafe_Unpark)} |
1591 {CC "unpark", CC "(" OBJ ")V", FN_PTR(Unsafe_Unpark)} |
1592 }; |
1592 }; |
1593 |
1593 |
1594 // These are the methods for 1.8.0 |
1594 // These are the methods for 1.8.0 |
1595 static JNINativeMethod methods_18[] = { |
1595 static JNINativeMethod methods_18[] = { |
1596 {CC"getObject", CC"("OBJ"J)"OBJ"", FN_PTR(Unsafe_GetObject)}, |
1596 {CC "getObject", CC "(" OBJ "J)" OBJ "", FN_PTR(Unsafe_GetObject)}, |
1597 {CC"putObject", CC"("OBJ"J"OBJ")V", FN_PTR(Unsafe_SetObject)}, |
1597 {CC "putObject", CC "(" OBJ "J" OBJ ")V", FN_PTR(Unsafe_SetObject)}, |
1598 {CC"getObjectVolatile",CC"("OBJ"J)"OBJ"", FN_PTR(Unsafe_GetObjectVolatile)}, |
1598 {CC "getObjectVolatile",CC "(" OBJ "J)" OBJ "", FN_PTR(Unsafe_GetObjectVolatile)}, |
1599 {CC"putObjectVolatile",CC"("OBJ"J"OBJ")V", FN_PTR(Unsafe_SetObjectVolatile)}, |
1599 {CC "putObjectVolatile",CC "(" OBJ "J" OBJ ")V", FN_PTR(Unsafe_SetObjectVolatile)}, |
1600 |
1600 |
1601 DECLARE_GETSETOOP(Boolean, Z), |
1601 DECLARE_GETSETOOP(Boolean, Z), |
1602 DECLARE_GETSETOOP(Byte, B), |
1602 DECLARE_GETSETOOP(Byte, B), |
1603 DECLARE_GETSETOOP(Short, S), |
1603 DECLARE_GETSETOOP(Short, S), |
1604 DECLARE_GETSETOOP(Char, C), |
1604 DECLARE_GETSETOOP(Char, C), |
1613 DECLARE_GETSETNATIVE(Int, I), |
1613 DECLARE_GETSETNATIVE(Int, I), |
1614 DECLARE_GETSETNATIVE(Long, J), |
1614 DECLARE_GETSETNATIVE(Long, J), |
1615 DECLARE_GETSETNATIVE(Float, F), |
1615 DECLARE_GETSETNATIVE(Float, F), |
1616 DECLARE_GETSETNATIVE(Double, D), |
1616 DECLARE_GETSETNATIVE(Double, D), |
1617 |
1617 |
1618 {CC"getAddress", CC"("ADR")"ADR, FN_PTR(Unsafe_GetNativeAddress)}, |
1618 {CC "getAddress", CC "(" ADR ")" ADR, FN_PTR(Unsafe_GetNativeAddress)}, |
1619 {CC"putAddress", CC"("ADR""ADR")V", FN_PTR(Unsafe_SetNativeAddress)}, |
1619 {CC "putAddress", CC "(" ADR "" ADR ")V", FN_PTR(Unsafe_SetNativeAddress)}, |
1620 |
1620 |
1621 {CC"allocateMemory", CC"(J)"ADR, FN_PTR(Unsafe_AllocateMemory)}, |
1621 {CC "allocateMemory", CC "(J)" ADR, FN_PTR(Unsafe_AllocateMemory)}, |
1622 {CC"reallocateMemory", CC"("ADR"J)"ADR, FN_PTR(Unsafe_ReallocateMemory)}, |
1622 {CC "reallocateMemory", CC "(" ADR "J)" ADR, FN_PTR(Unsafe_ReallocateMemory)}, |
1623 {CC"freeMemory", CC"("ADR")V", FN_PTR(Unsafe_FreeMemory)}, |
1623 {CC "freeMemory", CC "(" ADR ")V", FN_PTR(Unsafe_FreeMemory)}, |
1624 |
1624 |
1625 {CC"objectFieldOffset", CC"("FLD")J", FN_PTR(Unsafe_ObjectFieldOffset)}, |
1625 {CC "objectFieldOffset", CC "(" FLD ")J", FN_PTR(Unsafe_ObjectFieldOffset)}, |
1626 {CC"staticFieldOffset", CC"("FLD")J", FN_PTR(Unsafe_StaticFieldOffset)}, |
1626 {CC "staticFieldOffset", CC "(" FLD ")J", FN_PTR(Unsafe_StaticFieldOffset)}, |
1627 {CC"staticFieldBase", CC"("FLD")"OBJ, FN_PTR(Unsafe_StaticFieldBaseFromField)}, |
1627 {CC "staticFieldBase", CC "(" FLD ")" OBJ, FN_PTR(Unsafe_StaticFieldBaseFromField)}, |
1628 {CC"ensureClassInitialized",CC"("CLS")V", FN_PTR(Unsafe_EnsureClassInitialized)}, |
1628 {CC "ensureClassInitialized",CC "(" CLS ")V", FN_PTR(Unsafe_EnsureClassInitialized)}, |
1629 {CC"arrayBaseOffset", CC"("CLS")I", FN_PTR(Unsafe_ArrayBaseOffset)}, |
1629 {CC "arrayBaseOffset", CC "(" CLS ")I", FN_PTR(Unsafe_ArrayBaseOffset)}, |
1630 {CC"arrayIndexScale", CC"("CLS")I", FN_PTR(Unsafe_ArrayIndexScale)}, |
1630 {CC "arrayIndexScale", CC "(" CLS ")I", FN_PTR(Unsafe_ArrayIndexScale)}, |
1631 {CC"addressSize", CC"()I", FN_PTR(Unsafe_AddressSize)}, |
1631 {CC "addressSize", CC "()I", FN_PTR(Unsafe_AddressSize)}, |
1632 {CC"pageSize", CC"()I", FN_PTR(Unsafe_PageSize)}, |
1632 {CC "pageSize", CC "()I", FN_PTR(Unsafe_PageSize)}, |
1633 |
1633 |
1634 {CC"defineClass", CC"("DC_Args")"CLS, FN_PTR(Unsafe_DefineClass)}, |
1634 {CC "defineClass", CC "(" DC_Args ")" CLS, FN_PTR(Unsafe_DefineClass)}, |
1635 {CC"allocateInstance", CC"("CLS")"OBJ, FN_PTR(Unsafe_AllocateInstance)}, |
1635 {CC "allocateInstance", CC "(" CLS ")" OBJ, FN_PTR(Unsafe_AllocateInstance)}, |
1636 {CC"monitorEnter", CC"("OBJ")V", FN_PTR(Unsafe_MonitorEnter)}, |
1636 {CC "monitorEnter", CC "(" OBJ ")V", FN_PTR(Unsafe_MonitorEnter)}, |
1637 {CC"monitorExit", CC"("OBJ")V", FN_PTR(Unsafe_MonitorExit)}, |
1637 {CC "monitorExit", CC "(" OBJ ")V", FN_PTR(Unsafe_MonitorExit)}, |
1638 {CC"tryMonitorEnter", CC"("OBJ")Z", FN_PTR(Unsafe_TryMonitorEnter)}, |
1638 {CC "tryMonitorEnter", CC "(" OBJ ")Z", FN_PTR(Unsafe_TryMonitorEnter)}, |
1639 {CC"throwException", CC"("THR")V", FN_PTR(Unsafe_ThrowException)}, |
1639 {CC "throwException", CC "(" THR ")V", FN_PTR(Unsafe_ThrowException)}, |
1640 {CC"compareAndSwapObject", CC"("OBJ"J"OBJ""OBJ")Z", FN_PTR(Unsafe_CompareAndSwapObject)}, |
1640 {CC "compareAndSwapObject", CC "(" OBJ "J" OBJ "" OBJ ")Z", FN_PTR(Unsafe_CompareAndSwapObject)}, |
1641 {CC"compareAndSwapInt", CC"("OBJ"J""I""I"")Z", FN_PTR(Unsafe_CompareAndSwapInt)}, |
1641 {CC "compareAndSwapInt", CC "(" OBJ "J""I""I"")Z", FN_PTR(Unsafe_CompareAndSwapInt)}, |
1642 {CC"compareAndSwapLong", CC"("OBJ"J""J""J"")Z", FN_PTR(Unsafe_CompareAndSwapLong)}, |
1642 {CC "compareAndSwapLong", CC "(" OBJ "J""J""J"")Z", FN_PTR(Unsafe_CompareAndSwapLong)}, |
1643 {CC"putOrderedObject", CC"("OBJ"J"OBJ")V", FN_PTR(Unsafe_SetOrderedObject)}, |
1643 {CC "putOrderedObject", CC "(" OBJ "J" OBJ ")V", FN_PTR(Unsafe_SetOrderedObject)}, |
1644 {CC"putOrderedInt", CC"("OBJ"JI)V", FN_PTR(Unsafe_SetOrderedInt)}, |
1644 {CC "putOrderedInt", CC "(" OBJ "JI)V", FN_PTR(Unsafe_SetOrderedInt)}, |
1645 {CC"putOrderedLong", CC"("OBJ"JJ)V", FN_PTR(Unsafe_SetOrderedLong)}, |
1645 {CC "putOrderedLong", CC "(" OBJ "JJ)V", FN_PTR(Unsafe_SetOrderedLong)}, |
1646 {CC"park", CC"(ZJ)V", FN_PTR(Unsafe_Park)}, |
1646 {CC "park", CC "(ZJ)V", FN_PTR(Unsafe_Park)}, |
1647 {CC"unpark", CC"("OBJ")V", FN_PTR(Unsafe_Unpark)} |
1647 {CC "unpark", CC "(" OBJ ")V", FN_PTR(Unsafe_Unpark)} |
1648 }; |
1648 }; |
1649 |
1649 |
1650 JNINativeMethod loadavg_method[] = { |
1650 JNINativeMethod loadavg_method[] = { |
1651 {CC"getLoadAverage", CC"([DI)I", FN_PTR(Unsafe_Loadavg)} |
1651 {CC "getLoadAverage", CC "([DI)I", FN_PTR(Unsafe_Loadavg)} |
1652 }; |
1652 }; |
1653 |
1653 |
1654 JNINativeMethod prefetch_methods[] = { |
1654 JNINativeMethod prefetch_methods[] = { |
1655 {CC"prefetchRead", CC"("OBJ"J)V", FN_PTR(Unsafe_PrefetchRead)}, |
1655 {CC "prefetchRead", CC "(" OBJ "J)V", FN_PTR(Unsafe_PrefetchRead)}, |
1656 {CC"prefetchWrite", CC"("OBJ"J)V", FN_PTR(Unsafe_PrefetchWrite)}, |
1656 {CC "prefetchWrite", CC "(" OBJ "J)V", FN_PTR(Unsafe_PrefetchWrite)}, |
1657 {CC"prefetchReadStatic", CC"("OBJ"J)V", FN_PTR(Unsafe_PrefetchRead)}, |
1657 {CC "prefetchReadStatic", CC "(" OBJ "J)V", FN_PTR(Unsafe_PrefetchRead)}, |
1658 {CC"prefetchWriteStatic",CC"("OBJ"J)V", FN_PTR(Unsafe_PrefetchWrite)} |
1658 {CC "prefetchWriteStatic",CC "(" OBJ "J)V", FN_PTR(Unsafe_PrefetchWrite)} |
1659 }; |
1659 }; |
1660 |
1660 |
1661 JNINativeMethod memcopy_methods_17[] = { |
1661 JNINativeMethod memcopy_methods_17[] = { |
1662 {CC"copyMemory", CC"("OBJ"J"OBJ"JJ)V", FN_PTR(Unsafe_CopyMemory2)}, |
1662 {CC "copyMemory", CC "(" OBJ "J" OBJ "JJ)V", FN_PTR(Unsafe_CopyMemory2)}, |
1663 {CC"setMemory", CC"("OBJ"JJB)V", FN_PTR(Unsafe_SetMemory2)} |
1663 {CC "setMemory", CC "(" OBJ "JJB)V", FN_PTR(Unsafe_SetMemory2)} |
1664 }; |
1664 }; |
1665 |
1665 |
1666 JNINativeMethod memcopy_methods_15[] = { |
1666 JNINativeMethod memcopy_methods_15[] = { |
1667 {CC"setMemory", CC"("ADR"JB)V", FN_PTR(Unsafe_SetMemory)}, |
1667 {CC "setMemory", CC "(" ADR "JB)V", FN_PTR(Unsafe_SetMemory)}, |
1668 {CC"copyMemory", CC"("ADR ADR"J)V", FN_PTR(Unsafe_CopyMemory)} |
1668 {CC "copyMemory", CC "(" ADR ADR "J)V", FN_PTR(Unsafe_CopyMemory)} |
1669 }; |
1669 }; |
1670 |
1670 |
1671 JNINativeMethod anonk_methods[] = { |
1671 JNINativeMethod anonk_methods[] = { |
1672 {CC"defineAnonymousClass", CC"("DAC_Args")"CLS, FN_PTR(Unsafe_DefineAnonymousClass)}, |
1672 {CC "defineAnonymousClass", CC "(" DAC_Args ")" CLS, FN_PTR(Unsafe_DefineAnonymousClass)}, |
1673 }; |
1673 }; |
1674 |
1674 |
1675 JNINativeMethod lform_methods[] = { |
1675 JNINativeMethod lform_methods[] = { |
1676 {CC"shouldBeInitialized",CC"("CLS")Z", FN_PTR(Unsafe_ShouldBeInitialized)}, |
1676 {CC "shouldBeInitialized",CC "(" CLS ")Z", FN_PTR(Unsafe_ShouldBeInitialized)}, |
1677 }; |
1677 }; |
1678 |
1678 |
1679 JNINativeMethod fence_methods[] = { |
1679 JNINativeMethod fence_methods[] = { |
1680 {CC"loadFence", CC"()V", FN_PTR(Unsafe_LoadFence)}, |
1680 {CC "loadFence", CC "()V", FN_PTR(Unsafe_LoadFence)}, |
1681 {CC"storeFence", CC"()V", FN_PTR(Unsafe_StoreFence)}, |
1681 {CC "storeFence", CC "()V", FN_PTR(Unsafe_StoreFence)}, |
1682 {CC"fullFence", CC"()V", FN_PTR(Unsafe_FullFence)}, |
1682 {CC "fullFence", CC "()V", FN_PTR(Unsafe_FullFence)}, |
1683 }; |
1683 }; |
1684 |
1684 |
1685 #undef CC |
1685 #undef CC |
1686 #undef FN_PTR |
1686 #undef FN_PTR |
1687 |
1687 |