Skip to content

Commit 55408f0

Browse files
committed
adapt FFM codegen to new libraries
1 parent c531f01 commit 55408f0

File tree

24 files changed

+127
-114
lines changed

24 files changed

+127
-114
lines changed

Samples/SwiftAndJavaJarSampleLib/src/test/java/com/example/swift/MySwiftClassTest.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616

1717
import org.junit.jupiter.api.Disabled;
1818
import org.junit.jupiter.api.Test;
19-
import org.swift.swiftkitffm.SwiftArena;
20-
import org.swift.swiftkitffm.SwiftFFM;
19+
import org.swift.swiftkit.core.SwiftLibraries;
20+
import org.swift.swiftkit.ffm.AllocatingSwiftArena;
2121

2222
import java.io.File;
2323
import java.util.stream.Stream;
@@ -27,7 +27,7 @@
2727
public class MySwiftClassTest {
2828

2929
void checkPaths(Throwable throwable) {
30-
var paths = SwiftFFM.getJavaLibraryPath().split(":");
30+
var paths = SwiftLibraries.getJavaLibraryPath().split(":");
3131
for (var path : paths) {
3232
System.out.println("CHECKING PATH: " + path);
3333
Stream.of(new File(path).listFiles())
@@ -42,7 +42,7 @@ void checkPaths(Throwable throwable) {
4242

4343
@Test
4444
void test_MySwiftClass_voidMethod() {
45-
try(var arena = SwiftArena.ofConfined()) {
45+
try(var arena = AllocatingSwiftArena.ofConfined()) {
4646
MySwiftClass o = MySwiftClass.init(12, 42, arena);
4747
o.voidMethod();
4848
} catch (Throwable throwable) {
@@ -52,7 +52,7 @@ void test_MySwiftClass_voidMethod() {
5252

5353
@Test
5454
void test_MySwiftClass_makeIntMethod() {
55-
try(var arena = SwiftArena.ofConfined()) {
55+
try(var arena = AllocatingSwiftArena.ofConfined()) {
5656
MySwiftClass o = MySwiftClass.init(12, 42, arena);
5757
var got = o.makeIntMethod();
5858
assertEquals(12, got);
@@ -62,7 +62,7 @@ void test_MySwiftClass_makeIntMethod() {
6262
@Test
6363
@Disabled // TODO: Need var mangled names in interfaces
6464
void test_MySwiftClass_property_len() {
65-
try(var arena = SwiftArena.ofConfined()) {
65+
try(var arena = AllocatingSwiftArena.ofConfined()) {
6666
MySwiftClass o = MySwiftClass.init(12, 42, arena);
6767
var got = o.getLen();
6868
assertEquals(12, got);
Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
//
1313
//===----------------------------------------------------------------------===//
1414

15-
package org.swift.swiftkitffm;
15+
package org.swift.swiftkit.ffm;
1616

1717
import static org.junit.jupiter.api.Assertions.assertEquals;
1818

@@ -24,16 +24,16 @@ public class MySwiftClassTest {
2424

2525
@Test
2626
void call_retain_retainCount_release() {
27-
var arena = SwiftArena.ofConfined();
27+
var arena = AllocatingSwiftArena.ofConfined();
2828
var obj = MySwiftClass.init(1, 2, arena);
2929

30-
assertEquals(1, SwiftFFM.retainCount(obj));
30+
assertEquals(1, SwiftRuntime.retainCount(obj));
3131
// TODO: test directly on SwiftHeapObject inheriting obj
3232

33-
SwiftFFM.retain(obj);
34-
assertEquals(2, SwiftFFM.retainCount(obj));
33+
SwiftRuntime.retain(obj);
34+
assertEquals(2, SwiftRuntime.retainCount(obj));
3535

36-
SwiftFFM.release(obj);
37-
assertEquals(1, SwiftFFM.retainCount(obj));
36+
SwiftRuntime.release(obj);
37+
assertEquals(1, SwiftRuntime.retainCount(obj));
3838
}
3939
}

Samples/SwiftAndJavaJarSampleLib/src/test/java/org/swift/swiftkitffm/SwiftArenaTest.java renamed to Samples/SwiftAndJavaJarSampleLib/src/test/java/org/swift/swiftkit/ffm/SwiftArenaTest.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,15 @@
1212
//
1313
//===----------------------------------------------------------------------===//
1414

15-
package org.swift.swiftkitffm;
15+
package org.swift.swiftkit.ffm;
1616

1717
import com.example.swift.MySwiftClass;
1818
import org.junit.jupiter.api.Test;
1919
import org.junit.jupiter.api.condition.DisabledIf;
20-
import org.swift.swiftkitffm.util.PlatformUtils;
20+
import org.swift.swiftkit.core.util.PlatformUtils;
2121

22-
import static org.swift.swiftkitffm.SwiftFFM.retainCount;
22+
import static org.junit.jupiter.api.Assertions.assertEquals;
23+
import static org.swift.swiftkit.ffm.SwiftRuntime.*;
2324

2425
public class SwiftArenaTest {
2526

@@ -32,7 +33,7 @@ static boolean isAmd64() {
3233
@Test
3334
@DisabledIf("isAmd64")
3435
public void arena_releaseClassOnClose_class_ok() {
35-
try (var arena = SwiftArena.ofConfined()) {
36+
try (var arena = AllocatingSwiftArena.ofConfined()) {
3637
var obj = MySwiftClass.init(1, 2, arena);
3738

3839
retain(obj);

Samples/SwiftKitSampleApp/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ import groovy.json.JsonSlurper
1616
import org.swift.swiftkit.gradle.BuildUtils
1717

1818
import java.nio.file.*
19-
import kotlinx.serialization.json.*
2019

2120
plugins {
2221
id("build-logic.java-application-conventions")
@@ -148,6 +147,7 @@ tasks.clean {
148147
}
149148

150149
dependencies {
150+
implementation(project(':SwiftKitCore'))
151151
implementation(project(':SwiftKitFFM'))
152152

153153
testImplementation(platform("org.junit:junit-bom:5.10.0"))

Samples/SwiftKitSampleApp/src/jmh/java/org/swift/swiftkitffm/JavaToSwiftBenchmark.java renamed to Samples/SwiftKitSampleApp/src/jmh/java/org/swift/swiftkit/ffm/JavaToSwiftBenchmark.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
//
1313
//===----------------------------------------------------------------------===//
1414

15-
package org.swift.swiftkitffm;
15+
package org.swift.swiftkit.ffm;
1616

1717
import com.example.swift.HelloJava2Swift;
1818
import com.example.swift.MySwiftLibrary;
@@ -31,12 +31,12 @@ public class JavaToSwiftBenchmark {
3131

3232
@State(Scope.Benchmark)
3333
public static class BenchmarkState {
34-
ClosableSwiftArena arena;
34+
ClosableAllocatingSwiftArena arena;
3535
MySwiftClass obj;
3636

3737
@Setup(Level.Trial)
3838
public void beforeAll() {
39-
arena = SwiftArena.ofConfined();
39+
arena = AllocatingSwiftArena.ofConfined();
4040
obj = MySwiftClass.init(1, 2, arena);
4141
}
4242

Samples/SwiftKitSampleApp/src/jmh/java/org/swift/swiftkitffm/StringPassingBenchmark.java renamed to Samples/SwiftKitSampleApp/src/jmh/java/org/swift/swiftkit/ffm/StringPassingBenchmark.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,13 @@
1212
//
1313
//===----------------------------------------------------------------------===//
1414

15-
package org.swift.swiftkitffm;
15+
package org.swift.swiftkit.ffm;
1616

1717
import com.example.swift.HelloJava2Swift;
1818
import com.example.swift.MySwiftClass;
1919
import com.example.swift.MySwiftLibrary;
2020
import org.openjdk.jmh.annotations.*;
21+
import org.swift.swiftkit.core.ClosableSwiftArena;
2122

2223
import java.util.concurrent.TimeUnit;
2324

@@ -38,12 +39,12 @@ public class StringPassingBenchmark {
3839
public int stringLen;
3940
public String string;
4041

41-
ClosableSwiftArena arena;
42+
ClosableAllocatingSwiftArena arena;
4243
MySwiftClass obj;
4344

4445
@Setup(Level.Trial)
4546
public void beforeAll() {
46-
arena = SwiftArena.ofConfined();
47+
arena = AllocatingSwiftArena.ofConfined();
4748
obj = MySwiftClass.init(1, 2, arena);
4849
string = makeString(stringLen);
4950
}

Samples/SwiftKitSampleApp/src/main/java/com/example/swift/HelloJava2Swift.java

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -18,16 +18,17 @@
1818

1919
// Import javakit/swiftkit support libraries
2020

21-
import org.swift.swiftkitffm.SwiftArena;
22-
import org.swift.swiftkitffm.SwiftFFM;
21+
import org.swift.swiftkit.core.SwiftLibraries;
22+
import org.swift.swiftkit.ffm.AllocatingSwiftArena;
23+
import org.swift.swiftkit.ffm.SwiftRuntime;
2324

2425
public class HelloJava2Swift {
2526

2627
public static void main(String[] args) {
2728
boolean traceDowncalls = Boolean.getBoolean("jextract.trace.downcalls");
2829
System.out.println("Property: jextract.trace.downcalls = " + traceDowncalls);
2930

30-
System.out.print("Property: java.library.path = " + SwiftFFM.getJavaLibraryPath());
31+
System.out.print("Property: java.library.path = " + SwiftLibraries.getJavaLibraryPath());
3132

3233
examples();
3334
}
@@ -39,30 +40,30 @@ static void examples() {
3940

4041
long cnt = MySwiftLibrary.globalWriteString("String from Java");
4142

42-
SwiftFFM.trace("count = " + cnt);
43+
SwiftRuntime.trace("count = " + cnt);
4344

4445
MySwiftLibrary.globalCallMeRunnable(() -> {
45-
SwiftFFM.trace("running runnable");
46+
SwiftRuntime.trace("running runnable");
4647
});
4748

48-
SwiftFFM.trace("getGlobalBuffer().byteSize()=" + MySwiftLibrary.getGlobalBuffer().byteSize());
49+
SwiftRuntime.trace("getGlobalBuffer().byteSize()=" + MySwiftLibrary.getGlobalBuffer().byteSize());
4950

5051
MySwiftLibrary.withBuffer((buf) -> {
51-
SwiftFFM.trace("withBuffer{$0.byteSize()}=" + buf.byteSize());
52+
SwiftRuntime.trace("withBuffer{$0.byteSize()}=" + buf.byteSize());
5253
});
5354
// Example of using an arena; MyClass.deinit is run at end of scope
54-
try (var arena = SwiftArena.ofConfined()) {
55+
try (var arena = AllocatingSwiftArena.ofConfined()) {
5556
MySwiftClass obj = MySwiftClass.init(2222, 7777, arena);
5657

5758
// just checking retains/releases work
58-
SwiftFFM.trace("retainCount = " + SwiftFFM.retainCount(obj));
59-
SwiftFFM.retain(obj);
60-
SwiftFFM.trace("retainCount = " + SwiftFFM.retainCount(obj));
61-
SwiftFFM.release(obj);
62-
SwiftFFM.trace("retainCount = " + SwiftFFM.retainCount(obj));
59+
SwiftRuntime.trace("retainCount = " + SwiftRuntime.retainCount(obj));
60+
SwiftRuntime.retain(obj);
61+
SwiftRuntime.trace("retainCount = " + SwiftRuntime.retainCount(obj));
62+
SwiftRuntime.release(obj);
63+
SwiftRuntime.trace("retainCount = " + SwiftRuntime.retainCount(obj));
6364

6465
obj.setCounter(12);
65-
SwiftFFM.trace("obj.counter = " + obj.getCounter());
66+
SwiftRuntime.trace("obj.counter = " + obj.getCounter());
6667

6768
obj.voidMethod();
6869
obj.takeIntMethod(42);
@@ -71,9 +72,9 @@ static void examples() {
7172
otherObj.voidMethod();
7273

7374
MySwiftStruct swiftValue = MySwiftStruct.init(2222, 1111, arena);
74-
SwiftFFM.trace("swiftValue.capacity = " + swiftValue.getCapacity());
75+
SwiftRuntime.trace("swiftValue.capacity = " + swiftValue.getCapacity());
7576
swiftValue.withCapLen((cap, len) -> {
76-
SwiftFFM.trace("withCapLenCallback: cap=" + cap + ", len=" + len);
77+
SwiftRuntime.trace("withCapLenCallback: cap=" + cap + ", len=" + len);
7778
});
7879
}
7980

Samples/SwiftKitSampleApp/src/test/java/com/example/swift/MySwiftClassTest.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616

1717
import org.junit.jupiter.api.Disabled;
1818
import org.junit.jupiter.api.Test;
19-
import org.swift.swiftkitffm.SwiftArena;
20-
import org.swift.swiftkitffm.SwiftFFM;
19+
import org.swift.swiftkit.core.SwiftLibraries;
20+
import org.swift.swiftkit.ffm.AllocatingSwiftArena;
2121

2222
import java.io.File;
2323
import java.util.stream.Stream;
@@ -27,7 +27,7 @@
2727
public class MySwiftClassTest {
2828

2929
void checkPaths(Throwable throwable) {
30-
var paths = SwiftFFM.getJavaLibraryPath().split(":");
30+
var paths = SwiftLibraries.getJavaLibraryPath().split(":");
3131
for (var path : paths) {
3232
Stream.of(new File(path).listFiles())
3333
.filter(file -> !file.isDirectory())
@@ -41,7 +41,7 @@ void checkPaths(Throwable throwable) {
4141

4242
@Test
4343
void test_MySwiftClass_voidMethod() {
44-
try(var arena = SwiftArena.ofConfined()) {
44+
try(var arena = AllocatingSwiftArena.ofConfined()) {
4545
MySwiftClass o = MySwiftClass.init(12, 42, arena);
4646
o.voidMethod();
4747
} catch (Throwable throwable) {
@@ -51,7 +51,7 @@ void test_MySwiftClass_voidMethod() {
5151

5252
@Test
5353
void test_MySwiftClass_makeIntMethod() {
54-
try(var arena = SwiftArena.ofConfined()) {
54+
try(var arena = AllocatingSwiftArena.ofConfined()) {
5555
MySwiftClass o = MySwiftClass.init(12, 42, arena);
5656
var got = o.makeIntMethod();
5757
assertEquals(12, got);
@@ -61,7 +61,7 @@ void test_MySwiftClass_makeIntMethod() {
6161
@Test
6262
@Disabled // TODO: Need var mangled names in interfaces
6363
void test_MySwiftClass_property_len() {
64-
try(var arena = SwiftArena.ofConfined()) {
64+
try(var arena = AllocatingSwiftArena.ofConfined()) {
6565
MySwiftClass o = MySwiftClass.init(12, 42, arena);
6666
var got = o.getLen();
6767
assertEquals(12, got);

Samples/SwiftKitSampleApp/src/test/java/org/swift/swiftkitffm/MySwiftClassTest.java

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,21 +19,23 @@
1919
import org.junit.jupiter.api.Test;
2020

2121
import com.example.swift.MySwiftClass;
22+
import org.swift.swiftkit.ffm.AllocatingSwiftArena;
23+
import org.swift.swiftkit.ffm.SwiftRuntime;
2224

2325
public class MySwiftClassTest {
2426

2527
@Test
2628
void call_retain_retainCount_release() {
27-
var arena = SwiftArena.ofConfined();
29+
var arena = AllocatingSwiftArena.ofConfined();
2830
var obj = MySwiftClass.init(1, 2, arena);
2931

30-
assertEquals(1, SwiftFFM.retainCount(obj));
32+
assertEquals(1, SwiftRuntime.retainCount(obj));
3133
// TODO: test directly on SwiftHeapObject inheriting obj
3234

33-
SwiftFFM.retain(obj);
34-
assertEquals(2, SwiftFFM.retainCount(obj));
35+
SwiftRuntime.retain(obj);
36+
assertEquals(2, SwiftRuntime.retainCount(obj));
3537

36-
SwiftFFM.release(obj);
37-
assertEquals(1, SwiftFFM.retainCount(obj));
38+
SwiftRuntime.release(obj);
39+
assertEquals(1, SwiftRuntime.retainCount(obj));
3840
}
3941
}

Samples/SwiftKitSampleApp/src/test/java/org/swift/swiftkitffm/MySwiftStructTest.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,15 @@
1616

1717
import com.example.swift.MySwiftStruct;
1818
import org.junit.jupiter.api.Test;
19+
import org.swift.swiftkit.ffm.AllocatingSwiftArena;
1920

2021
import static org.junit.jupiter.api.Assertions.assertEquals;
2122

2223
public class MySwiftStructTest {
2324

2425
@Test
2526
void create_struct() {
26-
try (var arena = SwiftArena.ofConfined()) {
27+
try (var arena = AllocatingSwiftArena.ofConfined()) {
2728
long cap = 12;
2829
long len = 34;
2930
var struct = MySwiftStruct.init(cap, len, arena);

0 commit comments

Comments
 (0)