⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 op_methods.hc

📁 专业汽车级嵌入式操作系统OSEK的源代码
💻 HC
字号:
/** * This is included inside a switch statement. */case OP_INVOKEVIRTUAL:  // Stack: (see method)  // Arguments: 2  // Note: pc is updated by dispatch method  {    #ifdef WIMPY_MATH    TWOBYTES mr;    STACKWORD sw;    TWOBYTES offset;    mr = (TWOBYTES) pc[1] | ((TWOBYTES)(pc[0] & 0x0F) << 8);    offset = pc[0] >> 4;    sw = get_ref_at (offset);    dispatch_virtual (word2obj (sw), mr, pc + 2);    #else    dispatch_virtual (word2obj (get_ref_at (pc[0] >> 4)),       (TWOBYTES) pc[1] | ((TWOBYTES)(pc[0] & 0x0F) << 8), pc + 2);     #endif  }  goto LABEL_ENGINELOOP;case OP_INVOKESPECIAL:case OP_INVOKESTATIC:  // Stack: (see method)  // Arguments: 2  // Note: pc is updated by dispatch method  dispatch_special_checked (pc[0], pc[1], pc + 2, pc - 1);  goto LABEL_ENGINELOOP;case OP_IRETURN:case OP_LRETURN:case OP_FRETURN:case OP_DRETURN:case OP_ARETURN:  // Stack: 1 or 2 words copied up  // Arguments: 0  do_return ((*(pc-1) - OP_IRETURN) % 2 + 1);  goto LABEL_ENGINELOOP;case OP_RETURN:  // Stack: unchanged  // Arguments: 0  do_return (0);  goto LABEL_ENGINELOOP;// Notes:// * INVOKEINTERFACE cannot occur because it's replaced//   by INVOKEVIRTUAL and a couple of NOOPs./*end*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -