Skip to content

Commit 3c3ecb0

Browse files
committed
replacement for System.nanoTime()
1 parent afccd7f commit 3c3ecb0

1 file changed

Lines changed: 10 additions & 3 deletions

File tree

src/de/inetsoftware/jwebassembly/api/java/lang/ReplacementForSystem.java

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,13 +37,20 @@ private static void registerNatives() {
3737
* Replacement for System.currentTimeMillis()
3838
*/
3939
@Replace( "java/lang/System.currentTimeMillis()J" )
40-
@Import( module = "System", name = "currentTimeMillis", js = "() => BigInt(Date.now())")
40+
@Import( module = "System", name = "currentTimeMillis", js = "()=>BigInt(Date.now())")
4141
static native long currentTimeMillis();
4242

43+
/**
44+
* Replacement for System.nanoTime()
45+
*/
46+
@Replace( "java/lang/System.nanoTime()J" )
47+
@Import( module = "System", name = "nanoTime", js = "()=>BigInt(Date.now()*1000000)")
48+
static native long nanoTime();
49+
4350
/**
4451
* Replacement for {@link System#arraycopy(Object, int, Object, int, int)}
4552
*/
46-
@Import( js = "(src,srcPos,dest,destPos,length) => {" + //
53+
@Import( js = "(src,srcPos,dest,destPos,length)=>{" + //
4754
"if(destPos<srcPos){" + //
4855
"for (var i=0;i<length;i++)dest[i+destPos]=src[i+srcPos];" + //
4956
"}else{" + //
@@ -56,7 +63,7 @@ private static void registerNatives() {
5663
/**
5764
* Replacement for {@link System#identityHashCode(Object)}
5865
*/
59-
@Import( module = "NonGC", name = "identityHashCode", js = "(o) => {" //
66+
@Import( module = "NonGC", name = "identityHashCode", js = "(o)=>{" //
6067
+ "var h=o[1];" //
6168
+ "while(h==0){" //
6269
+ "o[1]=h=Math.round((Math.random()-0.5)*0xffff);" //

0 commit comments

Comments
 (0)