summaryrefslogtreecommitdiff
path: root/vm/mterp/c/OP_CONST_STRING.cpp
blob: 748119ac555d6530db6ea4699398ebfa0d99672d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
HANDLE_OPCODE(OP_CONST_STRING /*vAA, string@BBBB*/)
    {
        StringObject* strObj;

        vdst = INST_AA(inst);
        ref = FETCH(1);
        ILOGV("|const-string v%d string@0x%04x", vdst, ref);
        strObj = dvmDexGetResolvedString(methodClassDex, ref);
        if (strObj == NULL) {
            EXPORT_PC();
            strObj = dvmResolveString(curMethod->clazz, ref);
            if (strObj == NULL)
                GOTO_exceptionThrown();
        }
        SET_REGISTER(vdst, (u4) strObj);
    }
    FINISH(2);
OP_END