Code Review for graal

Prepared by:tom.deneau@gmail.com on Sun Feb 2 09:31:31 CST 2014
Workspace:/home/tom/graal
Compare against: http://ausb3merapv02:8080/scm/hg/graal/graal
Compare against version:default
Branch:deoptimize-phase2-default
Summary of changes: 3429 lines changed: 3166 ins; 208 del; 55 mod; 20274 unchg
Patch of changes: graal.patch
Legend: Modified file
Deleted file
New file

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw graal/com.oracle.graal.asm.hsail/src/com/oracle/graal/asm/hsail/AbstractHSAILAssembler.java

rev 14347 : moved deopt code block from each DeoptimizeOp to HSAILHotSpotBackend epilogue
5 lines changed: 4 ins; 0 del; 1 mod; 62 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw graal/com.oracle.graal.asm.hsail/src/com/oracle/graal/asm/hsail/HSAILAssembler.java

rev 14527 : Allocate save area as ResourceObj and use 0.95 syntax for webrev
68 lines changed: 58 ins; 5 del; 5 mod; 499 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw graal/com.oracle.graal.compiler.hsail.test.infra/src/com/oracle/graal/compiler/hsail/test/infra/GraalKernelTester.java

rev 14745 : merge with default ccba891bde48, Jan 30.  Includes Doug Simon's  remaining changes for supporting for co-existing GPUs.  According to Doug, major change is removal of CompilerToGPU and its associated C++ code. Instead, each GPU backend has only the native methods it needs and directly implements them in the C++ layer.  Also, all device initialization is *only* done in the constructors of PTXHotSpotBackend and HSAILHotSpotBackend
7 lines changed: 5 ins; 0 del; 2 mod; 146 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw graal/com.oracle.graal.compiler.hsail.test.infra/src/com/oracle/graal/compiler/hsail/test/infra/KernelTester.java

rev 14745 : merge with default ccba891bde48, Jan 30.  Includes Doug Simon's  remaining changes for supporting for co-existing GPUs.  According to Doug, major change is removal of CompilerToGPU and its associated C++ code. Instead, each GPU backend has only the native methods it needs and directly implements them in the C++ layer.  Also, all device initialization is *only* done in the constructors of PTXHotSpotBackend and HSAILHotSpotBackend
8 lines changed: 6 ins; 0 del; 2 mod; 914 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/HSAILHotSpotBackend.java

rev 14783 : merge with default bc32c9f5719b, Feb 2
320 lines changed: 316 ins; 0 del; 4 mod; 413 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/HSAILHotSpotLIRGenerator.java

rev 14687 : merge with default 8576dbd00554, Jan 28
25 lines changed: 24 ins; 0 del; 1 mod; 196 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/HSAILHotSpotLoweringProvider.java

rev 14687 : merge with default 8576dbd00554, Jan 28
73 lines changed: 70 ins; 0 del; 3 mod; 45 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/HotSpotVMConfig.java

rev 14783 : merge with default bc32c9f5719b, Feb 2
24 lines changed: 24 ins; 0 del; 0 mod; 1365 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw graal/com.oracle.graal.hsail/src/com/oracle/graal/hsail/HSAIL.java

rev 14687 : merge with default 8576dbd00554, Jan 28
13 lines changed: 13 ins; 0 del; 0 mod; 219 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw graal/com.oracle.graal.lir.hsail/src/com/oracle/graal/lir/hsail/HSAILControlFlow.java

rev 14347 : moved deopt code block from each DeoptimizeOp to HSAILHotSpotBackend epilogue
78 lines changed: 78 ins; 0 del; 0 mod; 270 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/GuardLoweringPhase.java

rev 14687 : merge with default 8576dbd00554, Jan 28
0 lines changed: 0 ins; 0 del; 0 mod; 202 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw src/gpu/hsail/vm/gpu_hsail.cpp

rev 14761 : HsailCodeInstaller stuff working again, back out hack of skipping debuginfo on externalCompResults
198 lines changed: 192 ins; 2 del; 4 mod; 224 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw src/gpu/hsail/vm/gpu_hsail.hpp

rev 14761 : HsailCodeInstaller stuff working again, back out hack of skipping debuginfo on externalCompResults
83 lines changed: 83 ins; 0 del; 0 mod; 87 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw src/gpu/hsail/vm/hsailKernelArguments.hpp

rev 14156 : cleanups and comments
90 lines changed: 27 ins; 30 del; 33 mod; 44 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw src/gpu/ptx/vm/gpu_ptx.cpp

rev 14783 : merge with default bc32c9f5719b, Feb 2
0 lines changed: 0 ins; 0 del; 0 mod; 779 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw src/share/vm/classfile/javaClasses.cpp

rev 14336 : merge with Jan 2 default, problem with obj stream containing null compressed ptr (trac 421) not dealt with here since it is unrelated to this merge
10 lines changed: 10 ins; 0 del; 0 mod; 3517 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw src/share/vm/graal/graalCodeInstaller.cpp

rev 14761 : HsailCodeInstaller stuff working again, back out hack of skipping debuginfo on externalCompResults
0 lines changed: 0 ins; 0 del; 0 mod; 855 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw src/share/vm/graal/graalCodeInstaller.hpp

rev 14758 : fix merge problem so that HSAIL kernels can skip debuginfo platform register asserts
3 lines changed: 3 ins; 0 del; 0 mod; 139 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw src/share/vm/runtime/gpu.cpp

rev 14745 : merge with default ccba891bde48, Jan 30.  Includes Doug Simon's  remaining changes for supporting for co-existing GPUs.  According to Doug, major change is removal of CompilerToGPU and its associated C++ code. Instead, each GPU backend has only the native methods it needs and directly implements them in the C++ layer.  Also, all device initialization is *only* done in the constructors of PTXHotSpotBackend and HSAILHotSpotBackend
0 lines changed: 0 ins; 0 del; 0 mod; 36 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw src/share/vm/runtime/gpu.hpp

rev 14783 : merge with default bc32c9f5719b, Feb 2
3 lines changed: 3 ins; 0 del; 0 mod; 52 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw src/share/vm/runtime/thread.cpp

rev 14745 : merge with default ccba891bde48, Jan 30.  Includes Doug Simon's  remaining changes for supporting for co-existing GPUs.  According to Doug, major change is removal of CompilerToGPU and its associated C++ code. Instead, each GPU backend has only the native methods it needs and directly implements them in the C++ layer.  Also, all device initialization is *only* done in the constructors of PTXHotSpotBackend and HSAILHotSpotBackend
2 lines changed: 2 ins; 0 del; 0 mod; 4758 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw src/share/vm/runtime/thread.hpp

rev 14745 : merge with default ccba891bde48, Jan 30.  Includes Doug Simon's  remaining changes for supporting for co-existing GPUs.  According to Doug, major change is removal of CompilerToGPU and its associated C++ code. Instead, each GPU backend has only the native methods it needs and directly implements them in the C++ layer.  Also, all device initialization is *only* done in the constructors of PTXHotSpotBackend and HSAILHotSpotBackend
11 lines changed: 11 ins; 0 del; 0 mod; 2042 unchg

Cdiffs Udiffs Wdiffs Sdiffs Frames Old New Patch Raw src/share/vm/runtime/vmStructs.cpp

rev 14745 : merge with default ccba891bde48, Jan 30.  Includes Doug Simon's  remaining changes for supporting for co-existing GPUs.  According to Doug, major change is removal of CompilerToGPU and its associated C++ code. Instead, each GPU backend has only the native methods it needs and directly implements them in the C++ layer.  Also, all device initialization is *only* done in the constructors of PTXHotSpotBackend and HSAILHotSpotBackend
14 lines changed: 14 ins; 0 del; 0 mod; 3410 unchg

------ ------ ------ ------ ------ --- New Patch Raw graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/BoundsCheckFailsInMiddleTest.java

rev 14527 : Allocate save area as ResourceObj and use 0.95 syntax for webrev
81 lines changed: 81 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/BoundsCheckInlineTest.java

rev 14148 : added support for special deopt bci=0 for instance methods
76 lines changed: 76 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/BoundsCheckLongNonZeroBciTest.java

rev 14475 : use long constant in BoundsCheckLongNonZeroBciTest
77 lines changed: 77 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/BoundsCheckNonZeroBciInstanceTest.java

rev 14459 : add test with long local
77 lines changed: 77 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/BoundsCheckNonZeroBciTest.java

rev 14459 : add test with long local
77 lines changed: 77 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/BoundsCheckTest.java

rev 14148 : added support for special deopt bci=0 for instance methods
70 lines changed: 70 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/ClassCastNonZeroBciTest.java

rev 14160 : add some non-zero bci exception tests
98 lines changed: 98 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/ClassCastTest.java

rev 14148 : added support for special deopt bci=0 for instance methods
93 lines changed: 93 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/IntStreamNullCheckNonZeroBciTest.java

rev 14161 : HSAILPhase in HSAILCompilationResult, check argument # to avoid stamping last argument (eg, in objstream) non-null
98 lines changed: 98 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/IntStreamNullCheckTest.java

rev 14161 : HSAILPhase in HSAILCompilationResult, check argument # to avoid stamping last argument (eg, in objstream) non-null
93 lines changed: 93 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/IntStreamNullNonArrayParamCheckTest.java

rev 14347 : moved deopt code block from each DeoptimizeOp to HSAILHotSpotBackend epilogue
70 lines changed: 70 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/IntStreamNullParamCheckTest.java

rev 14338 : TRAC 419, check kernel parameters for null-ness at HSAILKernelArguments time
66 lines changed: 66 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/SingleExceptionTestBase.java

rev 14151 : remove dead import, format
50 lines changed: 50 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/StaticMandelBoundsCheckTest.java

rev 14155 : added StaticMandelBoundsCheckTest, fixed runningOnSimulator test
90 lines changed: 90 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/Vec3ObjStreamClassCastNonZeroBciTest.java

rev 14160 : add some non-zero bci exception tests
84 lines changed: 84 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/Vec3ObjStreamClassCastTest.java

rev 14154 : handleFinalObjParameter for javaCallArgs case, also add a test case Vec3ObjStreamClassCastTest to test it
77 lines changed: 77 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/Vec3ObjStreamNullCheckNonZeroBciTest.java

rev 14340 : also simplified  Vec3ObjStreamNullCheckNonZeroBciTest to not do a class cast check
83 lines changed: 83 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/Vec3ObjStreamNullCheckTest.java

rev 14339 : simplified Vec3ObjStreamNullCheckTest to not do a class cast check
76 lines changed: 76 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw graal/com.oracle.graal.compiler.hsail.test/src/com/oracle/graal/compiler/hsail/test/Vec3ObjStreamNullParamCheckTest.java

rev 14338 : TRAC 419, check kernel parameters for null-ness at HSAILKernelArguments time
77 lines changed: 77 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw src/gpu/hsail/vm/gpu_hsail_CodeInstaller.cpp

rev 14454 : add precompiled.hpp, it is required on Windows build
88 lines changed: 88 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw src/gpu/hsail/vm/gpu_hsail_CodeInstaller.hpp

rev 14745 : merge with default ccba891bde48, Jan 30.  Includes Doug Simon's  remaining changes for supporting for co-existing GPUs.  According to Doug, major change is removal of CompilerToGPU and its associated C++ code. Instead, each GPU backend has only the native methods it needs and directly implements them in the C++ layer.  Also, all device initialization is *only* done in the constructors of PTXHotSpotBackend and HSAILHotSpotBackend
10 lines changed: 10 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw src/gpu/hsail/vm/gpu_hsail_Frame.cpp

rev 14632 : use vmStructs to get offsets for HSAIL prologue etc
17 lines changed: 17 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw src/gpu/hsail/vm/gpu_hsail_Frame.hpp

rev 14633 : remove extra fwd decl of Location
31 lines changed: 31 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw src/gpu/hsail/vm/gpu_hsail_Location.cpp

rev 14632 : use vmStructs to get offsets for HSAIL prologue etc
56 lines changed: 56 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw src/gpu/hsail/vm/gpu_hsail_Location.hpp

rev 14632 : use vmStructs to get offsets for HSAIL prologue etc
56 lines changed: 56 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw src/gpu/hsail/vm/hsailArgumentsBase.cpp

rev 14338 : TRAC 419, check kernel parameters for null-ness at HSAILKernelArguments time
168 lines changed: 168 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw src/gpu/hsail/vm/hsailArgumentsBase.hpp

rev 14338 : TRAC 419, check kernel parameters for null-ness at HSAILKernelArguments time
141 lines changed: 141 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw src/gpu/hsail/vm/hsailJavaCallArguments.hpp

rev 14158 : add Vec3ObjStreamNullCheckTest, remove HSAILPhase from HSAILCompilationResult. (note: it would be nice if we could null check the extracted obj from the obj stream  without null checking every kernel parameter)
81 lines changed: 81 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ --- New Patch Raw src/gpu/hsail/vm/vmStructs_hsail.hpp

rev 14632 : use vmStructs to get offsets for HSAIL prologue etc
62 lines changed: 62 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ ------ Old --- Patch --- src/gpu/hsail/vm/hsailKernelArguments.cpp

171 lines changed: 0 ins; 171 del; 0 mod; 0 unchg

This code review page was prepared using ../webrev.sh (vers 23.18-hg).