-
-
Notifications
You must be signed in to change notification settings - Fork 302
Description
I am not sure, but i assume i hit the maximum number of function parameters for my oscilloscope view?
` @import(module = MODULE_NAME, name = "processOsc")
@JSBody(params = { "sidNum",
"wav0", "wav0Len", "wav0Txt", "wav1", "wav1Len", "wav1Txt", "wav2", "wav2Len", "wav2Txt",
"env0", "env0Len", "env0Txt", "env1", "env1Len", "env1Txt", "env2", "env2Len", "env2Txt",
"frq0", "frq0Len", "frq0Txt", "frq1", "frq1Len", "frq1Txt", "frq2", "frq2Len", "frq2Txt",
"vol", "volLen", "volTxt", "res", "resLen", "resTxt", "fil", "filLen", "filTxt"
}, script = "processOsc(" + "sidNum, "
+ "wav0, wav0Len, wav0Txt, wav1, wav1Len, wav1Txt, wav2, wav2Len, wav2Txt, "
+ "env0, env0Len, env0Txt, env1, env1Len, env1Txt, env2, env2Len, env2Txt, "
+ "frq0, frq0Len, frq0Txt, frq1, frq1Len, frq1Txt, frq2, frq2Len, frq2Txt, "
+ "vol, volLen, volTxt, res, resLen, resTxt, fil, filLen, filTxt)")
public static native void processOscJS(int sidNum,
@JSByRef(optional = true) int[] wav0, int wav0Len, String wav0Text,
@JSByRef(optional = true) int[] wav1, int wav1Len, String wav1Text,
@JSByRef(optional = true) int[] wav2, int wav2Len, String wav2Text,
@JSByRef(optional = true) int[] env0, int env0Len, String env0Text,
@JSByRef(optional = true) int[] env1, int env1Len, String env1Text,
@JSByRef(optional = true) int[] env2, int env2Len, String env2Text,
@JSByRef(optional = true) int[] freq0, int frq0Len, String freq0Text,
@JSByRef(optional = true) int[] freq1, int frq1Len, String freq1Text,
@JSByRef(optional = true) int[] freq2, int frq2Len, String freq2Text,
@JSByRef(optional = true) int[] vol, int volLen, String volText,
@JSByRef(optional = true) int[] res, int resLen, String resText,
@JSByRef(optional = true) int[] fil, int filLen, String filText);
`
`[ERROR] Failed generating method body due to internal exception: java.lang.ArrayIndexOutOfBoundsException: Index 37 out of bounds for length 32
at org.teavm.jso.impl.wasmgc.WasmGCJSFunctions.getFunctionConstructor(WasmGCJSFunctions.java:29)
at org.teavm.jso.impl.wasmgc.WasmGCJsoCommonGenerator.addJSBody(WasmGCJsoCommonGenerator.java:131)
at org.teavm.jso.impl.wasmgc.WasmGCBodyIntrinsic.apply(WasmGCBodyIntrinsic.java:48)
at org.teavm.backend.wasm.generate.gc.methods.WasmGCGenerationVisitor.invocation(WasmGCGenerationVisitor.java:728)
at org.teavm.backend.wasm.generate.common.methods.BaseWasmGenerationVisitor.visit(BaseWasmGenerationVisitor.java:487)
at org.teavm.ast.AssignmentStatement.acceptVisitor(AssignmentStatement.java:60)
at org.teavm.backend.wasm.generate.common.methods.BaseWasmGenerationVisitor.visit(BaseWasmGenerationVisitor.java:559)
at org.teavm.ast.SequentialStatement.acceptVisitor(SequentialStatement.java:30)
at org.teavm.backend.wasm.generate.common.methods.BaseWasmGenerationVisitor.generate(BaseWasmGenerationVisitor.java:152)
at org.teavm.backend.wasm.generate.gc.methods.WasmGCMethodGenerator.generateRegularMethodBody(WasmGCMethodGenerator.java:349)
at org.teavm.backend.wasm.generate.gc.methods.WasmGCMethodGenerator.generateMethodBody(WasmGCMethodGenerator.java:252)
at org.teavm.backend.wasm.generate.gc.methods.WasmGCMethodGenerator.lambda$createInstanceFunction$1(WasmGCMethodGenerator.java:239)
at org.teavm.backend.wasm.generate.gc.methods.WasmGCMethodGenerator.process(WasmGCMethodGenerator.java:178)
at org.teavm.backend.wasm.generate.gc.WasmGCDeclarationsGenerator.generateRound(WasmGCDeclarationsGenerator.java:172)
at org.teavm.backend.wasm.generate.gc.WasmGCDeclarationsGenerator.generate(WasmGCDeclarationsGenerator.java:155)
at org.teavm.backend.wasm.WasmGCModuleGenerator.generate(WasmGCModuleGenerator.java:37)
at org.teavm.backend.wasm.WasmGCTarget.emit(WasmGCTarget.java:337)
at org.teavm.vm.TeaVM.build(TeaVM.java:455)
at org.teavm.tooling.TeaVMTool.generate(TeaVMTool.java:540)
at org.teavm.tooling.builder.InProcessBuildStrategy.build(InProcessBuildStrategy.java:328)
at org.teavm.maven.TeaVMCompileMojo.executeWithBuilder(TeaVMCompileMojo.java:329)
at org.teavm.maven.TeaVMCompileMojo.execute(TeaVMCompileMojo.java:278)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:126)
at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2(MojoExecutor.java:328)
at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute(MojoExecutor.java:316)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:212)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:174)
at org.apache.maven.lifecycle.internal.MojoExecutor.access$000(MojoExecutor.java:75)
at org.apache.maven.lifecycle.internal.MojoExecutor$1.run(MojoExecutor.java:162)
at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute(DefaultMojosExecutionStrategy.java:39)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:159)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:105)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:73)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:53)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:118)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:261)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:173)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:101)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:906)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:283)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:206)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
at java.base/java.lang.reflect.Method.invoke(Method.java:565)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:255)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:201)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:361)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:314)
at client.teavm.ImportedApi.processOsc
at client.teavm.common.oscilloscope.Oscilloscope$1.updateGauges(Oscilloscope.java:129)
at libsidutils.oscilloscope.OscilloscopeUtil$HighResolutionEvent.lambda$event$0(OscilloscopeUtil.java:27)
at libsidutils.oscilloscope.OscilloscopeUtil$HighResolutionEvent$event$lambda$_1_0.accept(OscilloscopeUtil.java:23)
at libsidutils.oscilloscope.OscilloscopeUtil$HighResolutionEvent$event$lambda$_1_0.accept(OscilloscopeUtil.java:23)
at libsidplay.C64.configureSIDs(C64.java:513)
at client.teavm.common.ExportedApi.digiBoosted8580(ExportedApi.java:679)
at client.teavm.JSIDPlay2TeaVM.js2digiBoosted8580(JSIDPlay2TeaVM.java:243)
at client.teavm.JSIDPlay2TeaVM.js2digiBoosted8580$exported$29
`