Feature update:
Add Zero support for the 32-bit RISC-V architecture(只修改了platform.m4,os_linux.cpp文件)
https://github.com/openjdk/jdk/pull/8284
autoconf-config.sub是一个相当旧的版本,内部没有RISC-V支持。导致riscv64-linux-gnu in script config.sub fails
Fix a configure error in RISC-V cross build
https://github.com/openjdk/jdk/pull/8420
为RISC-V添加了部分JVMCI实现,以允许使用GraalVM本机映像RISC-V LLVM后端,该后端不使用JVMCI进行代码发射。(全新添加的特性)
[JVMCI] partially implement JVMCI for RISC-V
https://github.com/openjdk/jdk/pull/9587
riscv rvv目前实现的MaxReduceV、MinReduceV、AddReduceV节点可以通过调用共享函数来实现
8296515: RISC-V: Small refactoring for MaxReductionV/MinReductionV/AddReductionV node implementation
https://github.com/openjdk/jdk/pull/11036
Add experimental Foreign Function & Memory API support for RISC-V.
8293841: RISC-V: Implementation of Foreign Function & Memory API (Preview)
https://github.com/openjdk/jdk/pull/11003
Follow up JDK-8280152, this case also exists in riscv.
Reuse runtime call trampolines
https://github.com/openjdk/jdk/pull/10260
给BarrierSetAssembler::load_at GC API增加第二个临时寄存器
Add a second temporary register for BarrierSetAssembler::load_at
https://github.com/openjdk/jdk/pull/10261
和x86不同在RISC-V上使用相同的fclass指令,isFinite
Implement isFinite intrinsic for RISC-V
https://github.com/openjdk/jdk/pull/10391
为rv增加AndReductionV, OrReductionV, XorReductionV的支持(只存在vredsum_vs,只有Addreduce存在node)
RISC-V: Support ReductionV instructions for Vector API
https://github.com/openjdk/jdk/pull/10691
Use Zicboz/cbo.zero to zero-out memory on RISC-V(全新的extension,存疑)
https://github.com/openjdk/jdk/pull/10718
Support for Zicbop/prefetch instructions on RISC-V(需要支持UseZicbop)
https://github.com/openjdk/jdk/pull/10884
porting JEP 425 (Virtual Threads) to RISC-V.
https://github.com/openjdk/jdk/pull/10917
Bug fix
MSB在特殊情况下会污染高位,加载立即数[0x7FFF_8000_0000, 0x7FFF_FFFF_FFFF]结果会变为[0xFFFF_7FFF_8000_0000, 0xFFFF_7FFF_FFFF_FFFF]
Fix correctness issue of MacroAssembler::movptr
https://github.com/openjdk/jdk/pull/8913
riscv: small refactoring for add_memory_int32/64
https://github.com/openjdk/jdk/pull/9461
rscv的add_memory_int32/64只能将符号扩展的12位立即添加到内存中,因为它们直接调用addi/addiw汇编程序。(rv中w代表4个字节)
直接返回weak CAS在macroAssembler_riscv.cpp中的结果值给riscv.ad
RISC-V: Simplify weak CAS return value handling
https://github.com/openjdk/jdk/pull/10006
移除不必要的assert_cond(masm != NULL);
https://github.com/openjdk/jdk/pull/10079
目前,G1(和Shenandoah)在riscv上的oop_store_at中隐式使用x13。将x13改为tmp3形式的隐式调用。
RISC-V: Explicitly pass a third temp register to MacroAssembler::store_heap_oop
https://github.com/openjdk/jdk/pull/10137
get/put_native_u8 misses the case when address AND 7 is 6
https://github.com/openjdk/jdk/pull/10344
缺少了析构'java_lang_ref_Reference导致构建失败
https://github.com/openjdk/jdk/pull/10368
清理RISC-V后端中虚拟指令标记用法
Cleanup InstructionMark usages in the backend
https://github.com/openjdk/jdk/pull/10369
Issue https://bugs.openjdk.org/browse/JDK-8294160同步修改到riscv中
RISC-V: Misc crash dump improvements
https://github.com/openjdk/jdk/pull/10512
Fix PaX check on RISC-V
https://github.com/openjdk/jdk/pull/10690
LIRGenerator::do_LibmInrinsic的移植逻辑存在正确性问题
Fix LIRGenerator::do_LibmIntrinsic
https://github.com/openjdk/jdk/pull/10867
使NegVI可以匹配T_SHORT/T_BYTE(mr中的测试用例jdk11没有)
8296638: RISC-V: NegVI node emits wrong code when vector element basic type is T_BYTE/T_SHORT
https://github.com/openjdk/jdk/pull/11074
encounters the same assertion failure as JDK-8295414
8296771: RISC-V: C2: assert(false) failed: bad AD file
https://github.com/openjdk/jdk/pull/11085
SkipIfEqual 会从内存加载一个flag,但是在aarch64和risc-v中没有使用到value这个输入参数。
8296630: Fix SkipIfEqual on AArch64 and RISC-V
https://github.com/openjdk/jdk/pull/11076
修复MacroAssembler::en/decode_klass_not_null中kill usages of heapbase register 的情况
8296448: RISC-V: Fix temp usages of heapbase register killed by MacroAssembler::en/decode_klass_not_null
https://github.com/openjdk/jdk/pull/11010
vrsub_vx和vrsub_vi的操作数顺序与RVV1.0规范中的操作数顺序不同
8296447: RISC-V: Make the operands order of vrsub_vx/vrsub_vi consistent with RVV 1.0 spec
https://github.com/openjdk/jdk/pull/11009
count_bytecode(),histogram_bytecode() and histogram_bytecode_pair() 修改为使用x7作为临时寄存器
8296301: Interpreter(RISC-V): Implement -XX:+PrintBytecodeHistogram and -XX:+PrintBytecodePairHistogram options
https://github.com/openjdk/jdk/pull/11051
优化:
将一些小的宏汇编函数转移到关联的头文件,这样他们有机会内联。
8296916: RISC-V: Move some small macro-assembler functions to header file
https://github.com/openjdk/jdk/pull/11130
在目前的rscv端口实现中,fence.i的使用效率低下或冗余
riscv: remove fence.i used in user space
https://github.com/openjdk/jdk/pull/9770
更改为使用“li”而不是“movptr”来实现“mv”,并统一了移动函数指针的方式。
Unify the way of moving function pointer
https://github.com/openjdk/jdk/pull/10194
使用membar代替fence的直接调用来优化assembler function, 用mv取代li来让常数移动更加统一
Use macro-assembler functions as appropriate
https://github.com/openjdk/jdk/pull/10210
remove cbuf parameter from far_call/far_jump/trampoline in riscv.
https://github.com/openjdk/jdk/pull/10277
一些方法在sharedRuntime_riscv.cpp可以被复用
RISC-V: Move rt_call and xxx_move from SharedRuntime to MacroAssembler
https://github.com/openjdk/jdk/pull/10375
将所有在 AbstractAssembler的重定位封装成relocate()
https://github.com/openjdk/jdk/pull/10384
将movptr_with_offset改为movptr来对原有的movptr进行重载。https://github.com/openjdk/jdk/pull/10439
Calling intrinsic version of Thread.currentThread() in interpreter is ~30% faster on the Unmatched board:
https://github.com/openjdk/jdk/pull/10709
修改load_heap_oop store_heap_oop load_heap_oop_not_null三个方法中 = noreg的临时寄存器。
Remove implicit noreg temp register arguments in MacroAssembler
https://github.com/openjdk/jdk/pull/10778
仅修改代码格式或注释:
https://github.com/openjdk/jdk/pull/10227
注明RISCV64 OpenJDK在生成的调用中使用不同类型的调用。修改过时的注释
https://github.com/openjdk/jdk/pull/10311
删除部分代码
Use li instead of patchable movptr at non-patchable callsites
https://github.com/openjdk/jdk/pull/10462
将assembler.cpp/hpp 中的macro-assembler functions移动到masm
https://github.com/openjdk/jdk/pull/10697
修复minimal debug build
RISC-V: Minimal builds are broken
https://github.com/openjdk/jdk/pull/10742
Rename some assembler intrinsic functions for RVV 1.0
https://github.com/openjdk/jdk/pull/10878
increment and decrement使用t1作为临时寄存器,但是t1是flag register 在c2中。
Small refactoring for increment/decrement
https://github.com/openjdk/jdk/pull/11005
Hi hejianheng001, welcome to the openEuler Community.
I'm the Bot here serving you. You can find the instructions on how to interact with me at Here.
If you have any questions, please contact the SIG: Compiler, and any of the maintainers: @Noah , @eastb233 , @Peilin Guo , @guoge , @wangyadong , @jiangfeilong , @cf-zhao , @编译小伙 , @周磊 , @stubCode , @kuen
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
登录 后才可以发表评论