Skip to content

Commit e80abe3

Browse files
committed
introduce optimistic bounds checking for loads
1 parent 7d41633 commit e80abe3

89 files changed

Lines changed: 645 additions & 801 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

benchmark/src/commonMain/kotlin/io/github/charlietap/chasm/benchmark/instruction/memory/F32LoadInstructionBenchmark.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package io.github.charlietap.chasm.benchmark.instruction.memory
33
import io.github.charlietap.chasm.benchmark.BenchmarkConfig
44
import io.github.charlietap.chasm.executor.invoker.context.ExecutionContext
55
import io.github.charlietap.chasm.executor.invoker.instruction.ExecutionInstructionExecutor
6-
import io.github.charlietap.chasm.executor.memory.factory.LinearMemoryFactoryImpl
6+
import io.github.charlietap.chasm.executor.memory.factory.LinearMemoryFactory
77
import io.github.charlietap.chasm.fixture.frame
88
import io.github.charlietap.chasm.fixture.frameState
99
import io.github.charlietap.chasm.fixture.instance.memoryAddress
@@ -58,7 +58,7 @@ class F32LoadInstructionBenchmark {
5858
limits = limits(1u),
5959
shared = unsharedStatus(),
6060
),
61-
data = LinearMemoryFactoryImpl(1, null),
61+
data = LinearMemoryFactory(1),
6262
)
6363

6464
private val frame = frame(

benchmark/src/commonMain/kotlin/io/github/charlietap/chasm/benchmark/instruction/memory/F32StoreInstructionBenchmark.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package io.github.charlietap.chasm.benchmark.instruction.memory
33
import io.github.charlietap.chasm.benchmark.BenchmarkConfig
44
import io.github.charlietap.chasm.executor.invoker.context.ExecutionContext
55
import io.github.charlietap.chasm.executor.invoker.instruction.ExecutionInstructionExecutor
6-
import io.github.charlietap.chasm.executor.memory.factory.LinearMemoryFactoryImpl
6+
import io.github.charlietap.chasm.executor.memory.factory.LinearMemoryFactory
77
import io.github.charlietap.chasm.fixture.frame
88
import io.github.charlietap.chasm.fixture.frameState
99
import io.github.charlietap.chasm.fixture.instance.memoryAddress
@@ -59,7 +59,7 @@ class F32StoreInstructionBenchmark {
5959
limits = limits(1u),
6060
shared = unsharedStatus(),
6161
),
62-
data = LinearMemoryFactoryImpl(1, null),
62+
data = LinearMemoryFactory(1),
6363
)
6464

6565
private val frame = frame(

benchmark/src/commonMain/kotlin/io/github/charlietap/chasm/benchmark/instruction/memory/F64LoadInstructionBenchmark.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package io.github.charlietap.chasm.benchmark.instruction.memory
33
import io.github.charlietap.chasm.benchmark.BenchmarkConfig
44
import io.github.charlietap.chasm.executor.invoker.context.ExecutionContext
55
import io.github.charlietap.chasm.executor.invoker.instruction.ExecutionInstructionExecutor
6-
import io.github.charlietap.chasm.executor.memory.factory.LinearMemoryFactoryImpl
6+
import io.github.charlietap.chasm.executor.memory.factory.LinearMemoryFactory
77
import io.github.charlietap.chasm.fixture.frame
88
import io.github.charlietap.chasm.fixture.frameState
99
import io.github.charlietap.chasm.fixture.instance.memoryAddress
@@ -58,7 +58,7 @@ class F64LoadInstructionBenchmark {
5858
limits = limits(1u),
5959
shared = unsharedStatus(),
6060
),
61-
data = LinearMemoryFactoryImpl(1, null),
61+
data = LinearMemoryFactory(1),
6262
)
6363

6464
private val frame = frame(

benchmark/src/commonMain/kotlin/io/github/charlietap/chasm/benchmark/instruction/memory/F64StoreInstructionBenchmark.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package io.github.charlietap.chasm.benchmark.instruction.memory
33
import io.github.charlietap.chasm.benchmark.BenchmarkConfig
44
import io.github.charlietap.chasm.executor.invoker.context.ExecutionContext
55
import io.github.charlietap.chasm.executor.invoker.instruction.ExecutionInstructionExecutor
6-
import io.github.charlietap.chasm.executor.memory.factory.LinearMemoryFactoryImpl
6+
import io.github.charlietap.chasm.executor.memory.factory.LinearMemoryFactory
77
import io.github.charlietap.chasm.fixture.frame
88
import io.github.charlietap.chasm.fixture.frameState
99
import io.github.charlietap.chasm.fixture.instance.memoryAddress
@@ -59,7 +59,7 @@ class F64StoreInstructionBenchmark {
5959
limits = limits(1u),
6060
shared = unsharedStatus(),
6161
),
62-
data = LinearMemoryFactoryImpl(1, null),
62+
data = LinearMemoryFactory(1),
6363
)
6464

6565
private val frame = frame(

benchmark/src/commonMain/kotlin/io/github/charlietap/chasm/benchmark/instruction/memory/I32Load16SInstructionBenchmark.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package io.github.charlietap.chasm.benchmark.instruction.memory
33
import io.github.charlietap.chasm.benchmark.BenchmarkConfig
44
import io.github.charlietap.chasm.executor.invoker.context.ExecutionContext
55
import io.github.charlietap.chasm.executor.invoker.instruction.ExecutionInstructionExecutor
6-
import io.github.charlietap.chasm.executor.memory.factory.LinearMemoryFactoryImpl
6+
import io.github.charlietap.chasm.executor.memory.factory.LinearMemoryFactory
77
import io.github.charlietap.chasm.fixture.frame
88
import io.github.charlietap.chasm.fixture.frameState
99
import io.github.charlietap.chasm.fixture.instance.memoryAddress
@@ -58,7 +58,7 @@ class I32Load16SInstructionBenchmark {
5858
limits = limits(1u),
5959
shared = unsharedStatus(),
6060
),
61-
data = LinearMemoryFactoryImpl(1, null),
61+
data = LinearMemoryFactory(1),
6262
)
6363

6464
private val frame = frame(

benchmark/src/commonMain/kotlin/io/github/charlietap/chasm/benchmark/instruction/memory/I32Load16UInstructionBenchmark.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package io.github.charlietap.chasm.benchmark.instruction.memory
33
import io.github.charlietap.chasm.benchmark.BenchmarkConfig
44
import io.github.charlietap.chasm.executor.invoker.context.ExecutionContext
55
import io.github.charlietap.chasm.executor.invoker.instruction.ExecutionInstructionExecutor
6-
import io.github.charlietap.chasm.executor.memory.factory.LinearMemoryFactoryImpl
6+
import io.github.charlietap.chasm.executor.memory.factory.LinearMemoryFactory
77
import io.github.charlietap.chasm.fixture.frame
88
import io.github.charlietap.chasm.fixture.frameState
99
import io.github.charlietap.chasm.fixture.instance.memoryAddress
@@ -58,7 +58,7 @@ class I32Load16UInstructionBenchmark {
5858
limits = limits(1u),
5959
shared = unsharedStatus(),
6060
),
61-
data = LinearMemoryFactoryImpl(1, null),
61+
data = LinearMemoryFactory(1),
6262
)
6363

6464
private val frame = frame(

benchmark/src/commonMain/kotlin/io/github/charlietap/chasm/benchmark/instruction/memory/I32Load8SInstructionBenchmark.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package io.github.charlietap.chasm.benchmark.instruction.memory
33
import io.github.charlietap.chasm.benchmark.BenchmarkConfig
44
import io.github.charlietap.chasm.executor.invoker.context.ExecutionContext
55
import io.github.charlietap.chasm.executor.invoker.instruction.ExecutionInstructionExecutor
6-
import io.github.charlietap.chasm.executor.memory.factory.LinearMemoryFactoryImpl
6+
import io.github.charlietap.chasm.executor.memory.factory.LinearMemoryFactory
77
import io.github.charlietap.chasm.fixture.frame
88
import io.github.charlietap.chasm.fixture.frameState
99
import io.github.charlietap.chasm.fixture.instance.memoryAddress
@@ -58,7 +58,7 @@ class I32Load8SInstructionBenchmark {
5858
limits = limits(1u),
5959
shared = unsharedStatus(),
6060
),
61-
data = LinearMemoryFactoryImpl(1, null),
61+
data = LinearMemoryFactory(1),
6262
)
6363

6464
private val frame = frame(

benchmark/src/commonMain/kotlin/io/github/charlietap/chasm/benchmark/instruction/memory/I32Load8UInstructionBenchmark.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package io.github.charlietap.chasm.benchmark.instruction.memory
33
import io.github.charlietap.chasm.benchmark.BenchmarkConfig
44
import io.github.charlietap.chasm.executor.invoker.context.ExecutionContext
55
import io.github.charlietap.chasm.executor.invoker.instruction.ExecutionInstructionExecutor
6-
import io.github.charlietap.chasm.executor.memory.factory.LinearMemoryFactoryImpl
6+
import io.github.charlietap.chasm.executor.memory.factory.LinearMemoryFactory
77
import io.github.charlietap.chasm.fixture.frame
88
import io.github.charlietap.chasm.fixture.frameState
99
import io.github.charlietap.chasm.fixture.instance.memoryAddress
@@ -58,7 +58,7 @@ class I32Load8UInstructionBenchmark {
5858
limits = limits(1u),
5959
shared = unsharedStatus(),
6060
),
61-
data = LinearMemoryFactoryImpl(1, null),
61+
data = LinearMemoryFactory(1),
6262
)
6363

6464
private val frame = frame(

benchmark/src/commonMain/kotlin/io/github/charlietap/chasm/benchmark/instruction/memory/I32LoadInstructionBenchmark.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package io.github.charlietap.chasm.benchmark.instruction.memory
33
import io.github.charlietap.chasm.benchmark.BenchmarkConfig
44
import io.github.charlietap.chasm.executor.invoker.context.ExecutionContext
55
import io.github.charlietap.chasm.executor.invoker.instruction.ExecutionInstructionExecutor
6-
import io.github.charlietap.chasm.executor.memory.factory.LinearMemoryFactoryImpl
6+
import io.github.charlietap.chasm.executor.memory.factory.LinearMemoryFactory
77
import io.github.charlietap.chasm.fixture.frame
88
import io.github.charlietap.chasm.fixture.frameState
99
import io.github.charlietap.chasm.fixture.instance.memoryAddress
@@ -58,7 +58,7 @@ class I32LoadInstructionBenchmark {
5858
limits = limits(1u),
5959
shared = unsharedStatus(),
6060
),
61-
data = LinearMemoryFactoryImpl(1, null),
61+
data = LinearMemoryFactory(1),
6262
)
6363

6464
private val frame = frame(

benchmark/src/commonMain/kotlin/io/github/charlietap/chasm/benchmark/instruction/memory/I32Store16InstructionBenchmark.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ package io.github.charlietap.chasm.benchmark.instruction.memory
33
import io.github.charlietap.chasm.benchmark.BenchmarkConfig
44
import io.github.charlietap.chasm.executor.invoker.context.ExecutionContext
55
import io.github.charlietap.chasm.executor.invoker.instruction.ExecutionInstructionExecutor
6-
import io.github.charlietap.chasm.executor.memory.factory.LinearMemoryFactoryImpl
6+
import io.github.charlietap.chasm.executor.memory.factory.LinearMemoryFactory
77
import io.github.charlietap.chasm.fixture.frame
88
import io.github.charlietap.chasm.fixture.frameState
99
import io.github.charlietap.chasm.fixture.instance.memoryAddress
@@ -58,7 +58,7 @@ class I32Store16InstructionBenchmark {
5858
limits = limits(1u),
5959
shared = unsharedStatus(),
6060
),
61-
data = LinearMemoryFactoryImpl(1, null),
61+
data = LinearMemoryFactory(1),
6262
)
6363

6464
private val frame = frame(

0 commit comments

Comments
 (0)