Prepared by: | goetz on Mon Sep 22 15:08:24 CEST 2014 |
---|---|
Workspace: | /net/usr.work/d045726/oJ/tempDef-hs-comp |
Compare against: | http://hg.openjdk.java.net/jdk9/hs-comp/hotspot |
Compare against version: | 7059 |
Summary of changes: | 45 lines changed: 9 ins; 1 del; 35 mod; 10894 unchg |
Changeset: | tempDef-hs-comp.changeset |
Author comments: | 8058880: Introduce identifier TEMP_DEF for effects in adl.This effect is similar to USE_DEF, except that a TEMP node will be generated that represents the USE. With this effect one can express that the def'ed register must be different from the used ones corresponding to ins. Currently this is already possible by specifying effect TEMP for the operand with effect DEF from the match rule. Introducing this new identifyer makes the code more readable and allows to specify the effect for nodes without match rules. An example is an optimized encode node, if the base of the compressed heap is 35G aligned, i.e., the shifted narrow oop can be merged with the base by an or instruction. On PPC we can shift and or with a single instruction, so we can implement Decode with these instructions:
mov Rdst = Rbase As the move is off the critical path, this is superior to do a shift and an add. Unfortunately we must guarantee that Rdst != Rsrc. which we do with a TEMP_DEF effect:
instruct decodeN(iRegPdst dst, iRegNsrc src) %{ |
Legend: |
Modified file Deleted file New file |
Cdiffs
Udiffs
Wdiffs
Sdiffs
Frames
Old
New
-----
Raw
src/share/vm/adlc/archDesc.cpp
rev 7060 : 8058880: Introduce identifier TEMP_DEF for effects in adl.18 lines changed: 3 ins; 1 del; 14 mod; 1175 unchg
Cdiffs
Udiffs
Wdiffs
Sdiffs
Frames
Old
New
-----
Raw
src/share/vm/adlc/formssel.cpp
rev 7060 : 8058880: Introduce identifier TEMP_DEF for effects in adl.11 lines changed: 2 ins; 0 del; 9 mod; 4244 unchg
Cdiffs
Udiffs
Wdiffs
Sdiffs
Frames
Old
New
-----
Raw
src/share/vm/adlc/formssel.hpp
rev 7060 : 8058880: Introduce identifier TEMP_DEF for effects in adl.9 lines changed: 3 ins; 0 del; 6 mod; 1086 unchg
Cdiffs
Udiffs
Wdiffs
Sdiffs
Frames
Old
New
-----
Raw
src/share/vm/adlc/output_c.cpp
rev 7060 : 8058880: Introduce identifier TEMP_DEF for effects in adl.7 lines changed: 1 ins; 0 del; 6 mod; 4389 unchg
This code review page was prepared using /sapmnt/home1/d045726/bin/webrev.ksh (vers 24.0-hg+jbs).