mirror of https://github.com/alibaba/fastjson2.git
fix build warning and dot missing in graavlvm native mode, for issue #3587
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (11, macos-latest) (push) Waiting to run
Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (11, ubuntu-24.04) (push) Waiting to run
Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (11, windows-latest) (push) Waiting to run
Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (17, macos-latest) (push) Waiting to run
Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (17, ubuntu-24.04) (push) Waiting to run
Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (17, windows-latest) (push) Waiting to run
Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (21, macos-latest) (push) Waiting to run
Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (21, ubuntu-24.04) (push) Waiting to run
Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (21, windows-latest) (push) Waiting to run
Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (8, macos-latest) (push) Waiting to run
Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (8, ubuntu-24.04) (push) Waiting to run
Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (8, windows-latest) (push) Waiting to run
Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (11, macos-latest) (push) Waiting to run
Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (11, ubuntu-24.04) (push) Waiting to run
Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (11, windows-latest) (push) Waiting to run
Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (17, macos-latest) (push) Waiting to run
Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (17, ubuntu-24.04) (push) Waiting to run
Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (17, windows-latest) (push) Waiting to run
Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (21, macos-latest) (push) Waiting to run
Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (21, ubuntu-24.04) (push) Waiting to run
Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (21, windows-latest) (push) Waiting to run
Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (8, macos-latest) (push) Waiting to run
Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (8, ubuntu-24.04) (push) Waiting to run
Details
Java CI / Test on JDK ${{ matrix.java }} OS ${{ matrix.os }} (8, windows-latest) (push) Waiting to run
Details
This commit is contained in:
parent
25082effb2
commit
4c4c6f4c6a
|
@ -61,7 +61,6 @@ public class IOUtils {
|
|||
};
|
||||
|
||||
private static final short ZERO_DOT_LATIN1;
|
||||
private static final int ZERO_DOT_UTF16;
|
||||
|
||||
static {
|
||||
short[] shorts = new short[]{
|
||||
|
@ -105,7 +104,6 @@ public class IOUtils {
|
|||
DIGITS_K_64[i] = c0 + v;
|
||||
}
|
||||
ZERO_DOT_LATIN1 = UNSAFE.getShort(new byte[] {'0', '.'}, ARRAY_BYTE_BASE_OFFSET);
|
||||
ZERO_DOT_UTF16 = UNSAFE.getInt(new char[] {'0', '.'}, ARRAY_CHAR_BASE_OFFSET);
|
||||
}
|
||||
|
||||
private static short digitPair(int value) {
|
||||
|
@ -343,11 +341,11 @@ public class IOUtils {
|
|||
int unscaleValSize = stringSize(unscaledVal);
|
||||
int insertionPoint = unscaleValSize - scale;
|
||||
if (insertionPoint == 0) {
|
||||
putIntUnaligned(buf, off, ZERO_DOT_UTF16);
|
||||
off += 2;
|
||||
buf[off++] = '0';
|
||||
buf[off++] = '.';
|
||||
} else if (insertionPoint < 0) {
|
||||
putIntUnaligned(buf, off, ZERO_DOT_UTF16);
|
||||
off += 2;
|
||||
buf[off++] = '0';
|
||||
buf[off++] = '.';
|
||||
|
||||
for (int i = 0; i < -insertionPoint; i++) {
|
||||
putChar(buf, off++, '0');
|
||||
|
|
|
@ -70,22 +70,19 @@ public class JDKUtils {
|
|||
|
||||
static {
|
||||
Unsafe unsafe;
|
||||
long offset, charOffset;
|
||||
try {
|
||||
Field theUnsafeField = Unsafe.class.getDeclaredField("theUnsafe");
|
||||
theUnsafeField.setAccessible(true);
|
||||
unsafe = (Unsafe) theUnsafeField.get(null);
|
||||
offset = unsafe.arrayBaseOffset(byte[].class);
|
||||
charOffset = unsafe.arrayBaseOffset(char[].class);
|
||||
ARRAY_BYTE_BASE_OFFSET = unsafe.arrayBaseOffset(byte[].class);
|
||||
ARRAY_CHAR_BASE_OFFSET = unsafe.arrayBaseOffset(char[].class);
|
||||
} catch (Throwable e) {
|
||||
throw new JSONException("init unsafe error", e);
|
||||
}
|
||||
|
||||
UNSAFE = unsafe;
|
||||
ARRAY_BYTE_BASE_OFFSET = offset;
|
||||
ARRAY_CHAR_BASE_OFFSET = charOffset;
|
||||
|
||||
if (offset == -1) {
|
||||
if (ARRAY_BYTE_BASE_OFFSET == -1 || ARRAY_CHAR_BASE_OFFSET == -1) {
|
||||
throw new JSONException("init JDKUtils error", initErrorLast);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue