зеркало из https://github.com/mozilla/pluotsorbet.git
cleanup return ops
This commit is contained in:
Родитель
8cfefeb7a6
Коммит
be5498cc03
19
frame.js
19
frame.js
|
@ -922,22 +922,18 @@ Frame.prototype.invoke = function(op, methodInfo) {
|
||||||
var method = CLASSES.getMethod(callee, classInfo, methodName, signature, op === 0xb8);
|
var method = CLASSES.getMethod(callee, classInfo, methodName, signature, op === 0xb8);
|
||||||
callee.invoke(op, method);
|
callee.invoke(op, method);
|
||||||
break;
|
break;
|
||||||
|
case 0xb1: // return
|
||||||
case OPCODES.return:
|
|
||||||
callee.popFrame();
|
callee.popFrame();
|
||||||
return;
|
return;
|
||||||
|
case 0xac: // ireturn
|
||||||
case OPCODES.ireturn:
|
case 0xae: // freturn
|
||||||
case OPCODES.freturn:
|
case 0xb0: // areturn
|
||||||
case OPCODES.areturn:
|
|
||||||
callee.popFrame().stack.push(callee.stack.pop());
|
callee.popFrame().stack.push(callee.stack.pop());
|
||||||
return;
|
return;
|
||||||
|
case 0xad: // lreturn
|
||||||
case OPCODES.lreturn:
|
case 0xaf: // dreturn
|
||||||
case OPCODES.dreturn:
|
|
||||||
callee.popFrame().stack.push2(callee.stack.pop2());
|
callee.popFrame().stack.push2(callee.stack.pop2());
|
||||||
return;
|
return;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
var opName = OPCODES[op];
|
var opName = OPCODES[op];
|
||||||
if (!(opName in this))
|
if (!(opName in this))
|
||||||
|
@ -948,9 +944,6 @@ Frame.prototype.invoke = function(op, methodInfo) {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
Frame.prototype.invokestatic = Frame.prototype.invokevirtual = Frame.prototype.invokespecial = Frame.prototype.invokeinterface = function() {
|
|
||||||
}
|
|
||||||
|
|
||||||
Frame.prototype.tableswitch = function() {
|
Frame.prototype.tableswitch = function() {
|
||||||
var startip = this.ip;
|
var startip = this.ip;
|
||||||
var jmp;
|
var jmp;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче