WEB开发网
开发学院软件开发Java MIPS目标平台CLDC的Java虚拟机移植 阅读

MIPS目标平台CLDC的Java虚拟机移植

 2009-12-30 00:00:00 来源:WEB开发网   
核心提示: 根据需要,可能还需创建OsSocket_mips、Globals_mips等文件,MIPS目标平台CLDC的Java虚拟机移植(5),这些文件是文件系统、线程、事件处理、内存管理等在目标OS的具体实现,如OS_mips.cpp中实现了取寄存器值、取PC指针值、为PC指针值赋值、sleep等方法,

根据需要,可能还需创建OsSocket_mips、Globals_mips等文件。这些文件是文件系统、线程、事件处理、内存管理等在目标OS的具体实现。如OS_mips.cpp中实现了取寄存器值、取PC指针值、为PC指针值赋值、sleep等方法。需强调的是,OS_mips.cpp文件中有两个方法非常重要,且必须实现:

◆static void initialize();//用于初始化OS,如定时器、线//程、I/O等

◆static void dispose();//用于撤销初始化的所有工作,//清除线程和其他OS活动

(2)CPU移植

CPU移植的工作主要有两个:一是移植解释器和解释器的产生器;二是移植相应的编译器。

CPU移植的难点在于编译器的优化和调整,因为虚拟机的汇编解释器和相应的编译器依赖于具体的CPU架构。建立/src/vm/cpu/mips目录,并编写相关文件。以解释器的产生器为例,需要编写(包括头文件和源文件):Assembler_mips、SourceAssembler_mips、 SourceMacros_mips、Disassembler_mips、TemplateTable_mips、Interpret- erGenerator_mips、NativeGenerator_mips、SharedStubs_mips、 InterpreterStubs_mips、CompilerStubs_mips等。

(3)JavaCall移植

JavaCall函数集被分成多个子系统。这些子系统包括:图形子系统、内存管理、LCD显示、字体、文件和目录、Socket套接字等。

以移植文件系统接口为例:CLDC虚拟机使用了类似POSIX标准C库的文件API,由于目标平台是基于Linux的,所以不需要映射OsFile_read()方法到目标操作系统。要确保CLDC虚拟机能正确操作OS下的文件,需要验证以下接口:

◆im OsFile_remove(const JvmPathChar*filename)

◆bool OsFile_rename(const JvmPathChar*from,constJvmPathChar*to)

上一页  1 2 3 4 5 6  下一页

Tags:MIPS 目标 平台

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接