- 博客(4)
- 收藏
- 关注
原创 v8中的跳转设计(trampoline机制分析)
1. 跳转指令Riscv64中的跳转指令分为绝对跳转和分支跳转(以下指令只针对于Riscv64基础指令,其他类型跳转指令原理类似)。1、绝对跳转有j、jal、jalr、jrJal指令格式为:其中j是jal的伪指令:j offset等同于jal x0, offsetJalr指令格式为:其中jr是jalr的伪指令:jr rs1等同于jalr x0, 0(rs1)2、分支跳转有beq、bne、blt、bge、bltu、bgeu以beq的指令格式为例:从以上指令中offset的位宽可以看出不
2021-10-11 09:36:08 1367
原创 aosp中switchImpl解释执行流程分析
一、解释执行流程虚拟机中java指令的执行只有两种方式:解释执行或执行编译后的机器码。在普遍情况下,这两种方式将穿插进行。本章主要描述解释执行。1.1、栈帧管理函数的参数如何传递,以及它们的具体含义。对函数的执行至关重要。需要注意的是机器码执行层和虚拟机执行层不需要单独的栈管理对象。1.1.1、ShadowFrame首先描述ShadowFrame的数据结构,然后再结合QuickArgumentVisitor的构造函数,描述如何填充ShadowFrame。PushShadowFrame
2021-03-01 09:15:10 1311
原创 JIT源码分析
1、Class jit1.1 Jit*Jit::CreateJit* Jit::Create(JitCodeCache* code_cache, JitOptions* options) { if (jit_load_ == nullptr) { LOG(WARNING) << "Not creating JIT: library not loaded"; return nullptr; } jit_compiler_handle_ = (jit_load.
2020-12-15 14:19:18 488
原创 ubantu下NucleStudio开发环境配置(烧录和串口调试)
1、准备工作ubantu版本:18.04NucleStudio安装包:https://www.nucleisys.com/download.php开发板:GD32VF1032、在linux系统中安装驱动 1、在终端输入指令:lsusb 出现如下信息: 2、将开发板连接ubantu并在终端中输入步骤一指令: 出现以下信息:...
2020-11-26 11:14:57 410
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人