RFR 8239782: CC_INTERP is only used by Zero interpreter

coleen.phillimore at oracle.com coleen.phillimore at oracle.com
Wed Jun 24 01:10:14 UTC 2020


Thanks, Magnus.
Coleen

On 6/23/20 7:04 PM, Magnus Ihse Bursie wrote:
>
>
> On 2020-06-23 22:35, coleen.phillimore at oracle.com wrote:
>>
>> Including build-dev.
>>
>> On 6/23/20 12:17 AM, David Holmes wrote:
>>> Hi Coleen,
>>>
>>> Cleanup is looking good but a few comments:
>>>
>>> - if the bytecodeInterpreter is also zero-only can we rename its 
>>> files too? (I really find it hard to figure out which files are 
>>> really needed/used for a given build.)
>>
>> You're right that bytecodeInterpreter* files in the interpreter 
>> directory always confuses everybody.  So I moved them to 
>> src/hotspot/share/interpreter/zero.  I also fixed the build to not 
>> build that directory unless you're building zero.
>>
>> I removed a few more unnecessary #includes.
>>>
>>> - you are excluding shared templateInterpreter*.* from the zero 
>>> build so
>>> "#ifndef ZERO" is always true in those files.
>>
>> The templateInterpreter header files still need #ifndef ZERO because 
>> they can be transitively included in interpreter.hpp.  I removed 
>> #ifndef ZERO from the .cpp files only.
>>
>>>
>>> - are the platform specific templateInterpreter* files already 
>>> excluded from a zero build? Otherwise they should be added to the 
>>> exclude list.
>>
>> They are already excluded because zero doesn't build those platform 
>> files.
>>
>>>
>>> - how were you able to completely delete:
>>>   - src/hotspot/share/interpreter/cppInterpreter.cpp
>>>   - src/hotspot/share/interpreter/cppInterpreterGenerator.cpp
>>> ?
>>
>> I inlined them into the cpu/zero/*_zero versions.
>>
>> So the additional changes to move the bytecodeInterpreter* and zero 
>> files to a zero directory are here.  I didn't want to move them to 
>> the cpu/zero directory because they are not analogs to the other cpu 
>> files.
>>
>> incremental:http://cr.openjdk.java.net/~coleenp/2020/8239782.02.incr/webrev/index.html 
>>
>> full: http://cr.openjdk.java.net/~coleenp/2020/8239782.02/webrev/
> Build changes look good.
>
> /Magnus
>>
>> Tested with tier1 on Oracle platforms and zero product and fastdebug 
>> build.  CC'ing Adrian who works on Zero, can you comment on this patch?
>>
>> Thanks,
>> Coleen
>>>
>>> Thanks,
>>> David
>>> ----
>>>
>>>
>>> On 23/06/2020 1:36 am, coleen.phillimore at oracle.com wrote:
>>>> Summary: Change CC_INTERP conditional to ZERO and remove in places 
>>>> where unnecessary. Fix build to exclude compilers and rename 
>>>> CppInterpreter to ZeroInterpreter. The "C++ Interpreter" has been 
>>>> removed from the code a while ago.
>>>>
>>>> The motivation is to remove CC_INTERP conditionals from common code 
>>>> for the most part.  The C++ interpreter used to work with C1 and 
>>>> C2.  Some of the hooks are still present (can be cleaned out or 
>>>> implemented correctly later) but I removed some other 
>>>> unconditionally false code in order to remove interactions with 
>>>> common code.  Also it appeared that Zero was creating method 
>>>> counters when it was never using them.  I removed this too, hoping 
>>>> it would make zero faster, but nope, it's still slow.
>>>>
>>>> I also renamed cppInterpreter and CppInterpreter to zeroInterpreter 
>>>> and ZeroInterpreter, respectively, and moved some code to cpu/zero. 
>>>> Thus ends pass 10? of cleaning up this code.
>>>>
>>>> Tested with tier1 on Oracle platforms and built these: 
>>>> linux-arm32,linux-ppc64le-debug,linux-s390x-debug,linux-x64-zero,linux-x64-zero-debug. 
>>>> If you work on Zero, can you give this a test run with your 
>>>> favorite platform and review?
>>>>
>>>> open webrev at 
>>>> http://cr.openjdk.java.net/~coleenp/2020/8239782.01/webrev
>>>> bug link https://bugs.openjdk.java.net/browse/JDK-8239782
>>>>
>>>> Thanks,
>>>> Coleen
>>>>
>>
>



More information about the hotspot-runtime-dev mailing list