Example #1
0
void Interpreter::loadCtxDouble() {
	FunctionContext* ctx = topContext();
	uint16_t ctxId = getNext2Bytes();
	uint16_t id = getNext2Bytes();

	pushDouble(ctx->readDouble(ctxId, id));
}
Example #2
0
void Interpreter::storeCtxInt() {
	FunctionContext* ctx = topContext();
	uint16_t ctxId = getNext2Bytes();
	uint16_t id = getNext2Bytes();
	StackVar var = _stack.top();
	popVar();
	ctx->storeInt(ctxId, id, var.i);
}
Example #3
0
void image::processDRI()
{
	unsigned short int length;

	length = getNext2Bytes();
	restartInterval = getNext2Bytes();
	if(restartInterval > 0)
		restartEnabled = true;

	printInfo(1,"\ninfo : found DRI marker\n");
	printInfo(1,"\n********************** DRI HEADER ******************************\n");
	printInfo(1,"\nlength : %u\n", length);
	printInfo(1,"\nrestart interval : %u \n", restartInterval);
	printInfo((restartEnabled == true),"\nrestart is enabled\n");
	printInfo((restartEnabled == false),"\nrestart is not enabled\n");
	printInfo(1,"\n****************************************************************\n");
}
Example #4
0
void Interpreter::call() {
    uint16_t funId = getNext2Bytes();

    pushContext(funId);
    loadFunParamsInCtx(funId);

    stackTrace.push(CallInfo(_bc, _insPtr));

    _bc = ((BytecodeFunction*)_code->functionById(funId))->bytecode();
    _insPtr = 0;

//    popContext();

}
Example #5
0
void Interpreter::loadString() {
    StackVar var;
    var.strId = getNext2Bytes();

    pushVar(VT_STRING, var);
}