Bytecode: LOOKUPSWITCH und table
-
24-09-2019 - |
Frage
Ich bin derzeit instrumentiert Bytecode BCEL verwenden. In der BCEL API, die beiden Befehle Typen LOOKUPSWITCH
und TABLESWITCH
(package org.apache.bcel.generic
) implementieren Schnittstelle StackProducer
. Ich weiß, dass diese beiden Anweisungen, um die Operanden-Stack pop (das heißt, sie verbrauchen) und produzieren nicht alles auf dem Stack, so wie kommt implementieren sie StackProducer
statt StackConsumer
? Ist das ein Fehler? Danke
(ps: Ich habe versucht, diese Frage auf der BCEL Mailing-Liste zu schreiben, ohne Antwort, die ich hoffe, dass ich mehr Glück finden Sie hier.)
Lösung
Es war ein Fehler . Aber es wurde vor nun eine Weile festgelegt.
tree:generic jbevain$ svn log -c 1081190 && svn diff -c 1081190
------------------------------------------------------------------------
r1081190 | dbrosius | 2011-03-13 19:41:20 +0100 (Sun, 13 Mar 2011) | 1 line
Bug 48908 - Select instructions should implement StackConsumer instead of StackProducer
------------------------------------------------------------------------
Index: Select.java
===================================================================
--- Select.java (revision 1081189)
+++ Select.java (revision 1081190)
@@ -33,7 +33,7 @@
* @see InstructionList
*/
public abstract class Select extends BranchInstruction implements VariableLengthInstruction,
- StackProducer {
+ StackConsumer {
private static final long serialVersionUID = 2806771744559217250L;
protected int[] match; // matches, i.e., case 1: ...
Select
ist die Basisklasse für LOOKUPSWITCH
und TABLESWITCH
.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow