Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Libretro
SquirrelJME
Commits
902f6d2a
Commit
902f6d2a
authored
Jul 18, 2021
by
Stephanie Gawroriski
Browse files
Update SpringThreadWorker.
parent
545ac583
Pipeline
#39162
passed with stages
in 1 minute and 51 seconds
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
emulators/springcoat-vm/src/main/java/cc/squirreljme/vm/springcoat/SpringThreadWorker.java
View file @
902f6d2a
...
@@ -21,6 +21,7 @@ import cc.squirreljme.jdwp.trips.JDWPTripBreakpoint;
...
@@ -21,6 +21,7 @@ import cc.squirreljme.jdwp.trips.JDWPTripBreakpoint;
import
cc.squirreljme.jdwp.trips.JDWPTripClassStatus
;
import
cc.squirreljme.jdwp.trips.JDWPTripClassStatus
;
import
cc.squirreljme.jdwp.trips.JDWPTripField
;
import
cc.squirreljme.jdwp.trips.JDWPTripField
;
import
cc.squirreljme.jdwp.trips.JDWPTripThread
;
import
cc.squirreljme.jdwp.trips.JDWPTripThread
;
import
cc.squirreljme.jvm.Assembly
;
import
cc.squirreljme.jvm.mle.constants.VerboseDebugFlag
;
import
cc.squirreljme.jvm.mle.constants.VerboseDebugFlag
;
import
cc.squirreljme.runtime.cldc.debug.Debugging
;
import
cc.squirreljme.runtime.cldc.debug.Debugging
;
import
cc.squirreljme.vm.springcoat.brackets.TypeObject
;
import
cc.squirreljme.vm.springcoat.brackets.TypeObject
;
...
@@ -1037,10 +1038,28 @@ public final class SpringThreadWorker
...
@@ -1037,10 +1038,28 @@ public final class SpringThreadWorker
// All low-level calls are considered invalid in SpringCoat because
// All low-level calls are considered invalid in SpringCoat because
// it does not have the given functionality.
// it does not have the given functionality.
if
(
__class
.
toString
().
startsWith
(
"cc/squirreljme/jvm/Assembly"
)
||
if
(
__class
.
toString
().
startsWith
(
"cc/squirreljme/jvm/Assembly"
)
||
__class
.
toString
().
startsWith
(
"cc/squirreljme/jvm/mle/lle/"
))
__class
.
toString
().
startsWith
(
"cc/squirreljme/jvm/summercoat/lle/"
))
{
// The only exception is made for packing/unpacking longs
if
(
__class
.
toString
().
startsWith
(
"cc/squirreljme/jvm/Assembly"
))
switch
(
__method
.
name
().
toString
())
{
case
"longPack"
:
return
Assembly
.
longPack
(
(
int
)
__args
[
0
],
(
int
)
__args
[
1
]);
case
"longUnpackHigh"
:
return
Assembly
.
longUnpackHigh
((
long
)
__args
[
0
]);
case
"longUnpackLow"
:
return
Assembly
.
longUnpackLow
((
long
)
__args
[
0
]);
}
// Otherwise fail
throw
new
SpringVirtualMachineException
(
String
.
format
(
throw
new
SpringVirtualMachineException
(
String
.
format
(
"Invalid LLE native call: %s %s"
,
__class
,
"Invalid LLE native call: %s
:%s
%s"
,
__class
,
__method
,
Arrays
.
asList
(
__args
)));
Arrays
.
asList
(
__args
)));
}
// Do not allow the older SpringCoat "asm" classes to be called as
// Do not allow the older SpringCoat "asm" classes to be called as
// the interfaces are very different with the MLE layer.
// the interfaces are very different with the MLE layer.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment