RFR 8239782: CC_INTERP is only used by Zero interpreter
coleen.phillimore at oracle.com
coleen.phillimore at oracle.com
Tue Jun 23 20:35:40 UTC 2020
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/
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 build-dev
mailing list