Re: RFR: 8264805: Remove the experimental Ahead-of-Time Compiler [v4]

2021-04-09 Thread Dean Long
On Fri, 9 Apr 2021 16:54:51 GMT, Ioi Lam  wrote:

>> Vladimir Kozlov has updated the pull request incrementally with one 
>> additional commit since the last revision:
>> 
>>   Remove exports from Graal module to jdk.aot
>
> LGTM. Just a small nit.

@iklam
I thought the fingerprint code was also used by CDS.

-

PR: https://git.openjdk.java.net/jdk/pull/3398


Fwd: [E] Fwd: Your message to build-dev awaits moderator approval

2021-04-09 Thread Lee Rhodes
Hello,
I didn't realize the "build-dev@openjdk.java.net" help site was for
"members only" and I'm not sure I qualify as a "member", but I have
submitted an OCA using this email address (lrho...@verizonmedia.com), but
my help request was submitted using my other email address "lee...@gmail.com
".

Copied below is the text of my request for help and the robot response I
received.

Lee.

###

Hello,

I have forked foreign-memaccess+abi

in
preparation for making some code contributions.

However, I have been unsuccessful in getting this project to pass the 'bash
configure' phase as detailed below:

This is my environment:

> MacBook Pro (15-inch, 2018)
> 2.6 GHz 6-core, Intel Core i7
> 32GB RAM, 248GB Flash Storage available of 500GB
> MacOS: Big Sur, version 11.2.3
> Xcode Version 12.4 (12D4e)
> Xcode Command Line Tools are already installed
> Apple clang version 12.0.0 (clang-1200.0.32.29)
> Target: x86_64-apple-darwin20.3.0
> autoconf 2.71 installed
> echo $JAVA_HOME
> AdoptOpenJDK 15:
> /Library/Java/JavaVirtualMachines/adoptopenjdk-15.jdk/Contents/Home


Note: In the referenced building.md

page
from the README.md the reference to the blog page (for suggestions on
managing multiple Xcode versions)

is
a bad link.


When I run
*bash configure *
I get the error:

> error: Cannot locate libclang! You can download pre-built llvm
> binary from http://llvm.org/releases/download.html
> ,
> then specify the
> location using --with-libclang


Specifying the path to libclang, (it expects clang 9.0.0, which I installed
in a parallel directory to the clang 12.0.0, which comes with Xcode.)
*bash configure
--with-libclang=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/clang/9.0.0*
I get the error:

> checking libclang version to be used... 9 (default)
> checking libclang auxiliary include path...
> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/9.0.0/include
> checking for clang-c/Index.h... no
> configure: error: Cannot locate libclang or headers at the specified
> locations:
>
> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib
>
> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include
> configure exiting with result code 1


 I also tried overriding the default version of clang with the option
*--with-libclang-version=12.0.0, *which also failed.

Any suggestions would be greatly appreciated.

Lee.

##

-- Forwarded message -
From: 
Date: Thu, Apr 8, 2021 at 11:09 PM
Subject: Your message to build-dev awaits moderator approval
To: 


Your mail to 'build-dev' with the subject

Build problems on MacOS

Is being held until the list moderator can review it for approval.

The reason it is being held:

Post by non-member to a members-only list

Either the message will get posted to the list, or you will receive
notification of the moderator's decision.  If you would like to cancel
this posting, please visit the following URL:


https://mail.openjdk.java.net/mailman/confirm/build-dev/b7be93c4f2e963db037ede37bcda6a8b0711cd3b



Re: RFR: 8264806: Remove the experimental JIT compiler

2021-04-09 Thread Vladimir Kozlov
On Fri, 9 Apr 2021 17:35:11 GMT, Vladimir Kozlov  wrote:

> As part of [JEP 410](http://openjdk.java.net/jeps/410) remove code related to 
> Java-based JIT compiler (Graal) from JDK:
> 
> - `jdk.internal.vm.compiler` — the Graal compiler 
> - `jdk.internal.vm.compiler.management` — Graal's `MBean`
> - `test/hotspot/jtreg/compiler/graalunit` — Graal's unit tests
> 
> Remove Graal related code in makefiles.
> 
> Note, next two `module-info.java` files are preserved so that the JVMCI 
> module `jdk.internal.vm.ci` continues to build:
> src/jdk.internal.vm.compiler/share/classes/module-info.java
> src/jdk.internal.vm.compiler.management/share/classes/module-info.java
> 
> @AlanBateman suggested that we can avoid it by using Module API to export 
> packages at runtime . It requires changes in GraalVM's JVMCI too so I will 
> file followup RFE to implement it.
> 
> Tested hs-tier1-4

Thankyou, @erikj79, for review. I restored code as you asked.
For some reasons incremental webrev shows update only in Cdiffs.

-

PR: https://git.openjdk.java.net/jdk/pull/3421


Re: RFR: 8264806: Remove the experimental JIT compiler [v2]

2021-04-09 Thread Vladimir Kozlov
> As part of [JEP 410](http://openjdk.java.net/jeps/410) remove code related to 
> Java-based JIT compiler (Graal) from JDK:
> 
> - `jdk.internal.vm.compiler` — the Graal compiler 
> - `jdk.internal.vm.compiler.management` — Graal's `MBean`
> - `test/hotspot/jtreg/compiler/graalunit` — Graal's unit tests
> 
> Remove Graal related code in makefiles.
> 
> Note, next two `module-info.java` files are preserved so that the JVMCI 
> module `jdk.internal.vm.ci` continues to build:
> src/jdk.internal.vm.compiler/share/classes/module-info.java
> src/jdk.internal.vm.compiler.management/share/classes/module-info.java
> 
> @AlanBateman suggested that we can avoid it by using Module API to export 
> packages at runtime . It requires changes in GraalVM's JVMCI too so I will 
> file followup RFE to implement it.
> 
> Tested hs-tier1-4

Vladimir Kozlov has updated the pull request with a new target base due to a 
merge or a rebase. The incremental webrev excludes the unrelated changes 
brought in by the merge/rebase. The pull request contains three additional 
commits since the last revision:

 - Restore Graal Builder image makefile
 - Merge latest changes from branch 'JDK-8264805' into JDK-8264806
 - 8264806: Remove the experimental JIT compiler

-

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/3421/files
  - new: https://git.openjdk.java.net/jdk/pull/3421/files/8ff9b599..a246aaa6

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk=3421=01
 - incr: https://webrevs.openjdk.java.net/?repo=jdk=3421=00-01

  Stats: 102 lines in 12 files changed: 66 ins; 27 del; 9 mod
  Patch: https://git.openjdk.java.net/jdk/pull/3421.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/3421/head:pull/3421

PR: https://git.openjdk.java.net/jdk/pull/3421


Re: RFR: 8264805: Remove the experimental Ahead-of-Time Compiler [v5]

2021-04-09 Thread Igor Veresov
On Fri, 9 Apr 2021 21:59:04 GMT, Vladimir Kozlov  wrote:

>> As part of [JEP 410](http://openjdk.java.net/jeps/410) remove code related 
>> to Ahead-of-Time Compiler from JDK: 
>> 
>> - `jdk.aot` module — the `jaotc` tool 
>> - `src/hotspot/share/aot` — loads AoT compiled code into VM for execution 
>> - related HotSpot code guarded by `#if INCLUDE_AOT` 
>> 
>> Additionally, remove tests as well as code in makefiles related to AoT 
>> compilation.
>> 
>> Tested hs-tier1-4
>
> Vladimir Kozlov has updated the pull request incrementally with one 
> additional commit since the last revision:
> 
>   Address review comments

Marked as reviewed by iveresov (Reviewer).

-

PR: https://git.openjdk.java.net/jdk/pull/3398


Re: RFR: 8264805: Remove the experimental Ahead-of-Time Compiler [v5]

2021-04-09 Thread Vladimir Kozlov
> As part of [JEP 410](http://openjdk.java.net/jeps/410) remove code related to 
> Ahead-of-Time Compiler from JDK: 
> 
> - `jdk.aot` module — the `jaotc` tool 
> - `src/hotspot/share/aot` — loads AoT compiled code into VM for execution 
> - related HotSpot code guarded by `#if INCLUDE_AOT` 
> 
> Additionally, remove tests as well as code in makefiles related to AoT 
> compilation.
> 
> Tested hs-tier1-4

Vladimir Kozlov has updated the pull request incrementally with one additional 
commit since the last revision:

  Address review comments

-

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/3398/files
  - new: https://git.openjdk.java.net/jdk/pull/3398/files/6cce0f6c..71a166c1

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk=3398=04
 - incr: https://webrevs.openjdk.java.net/?repo=jdk=3398=03-04

  Stats: 36 lines in 9 files changed: 0 ins; 27 del; 9 mod
  Patch: https://git.openjdk.java.net/jdk/pull/3398.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/3398/head:pull/3398

PR: https://git.openjdk.java.net/jdk/pull/3398


Re: RFR: 8264805: Remove the experimental Ahead-of-Time Compiler [v4]

2021-04-09 Thread Mandy Chung
On Thu, 8 Apr 2021 17:24:38 GMT, Vladimir Kozlov  wrote:

>> As part of [JEP 410](http://openjdk.java.net/jeps/410) remove code related 
>> to Ahead-of-Time Compiler from JDK: 
>> 
>> - `jdk.aot` module — the `jaotc` tool 
>> - `src/hotspot/share/aot` — loads AoT compiled code into VM for execution 
>> - related HotSpot code guarded by `#if INCLUDE_AOT` 
>> 
>> Additionally, remove tests as well as code in makefiles related to AoT 
>> compilation.
>> 
>> Tested hs-tier1-4
>
> Vladimir Kozlov has updated the pull request incrementally with one 
> additional commit since the last revision:
> 
>   Remove exports from Graal module to jdk.aot

I reviewed the module-loader-map and non-hotspot non-AOT tests.

-

Marked as reviewed by mchung (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/3398


Re: RFR: 8264806: Remove the experimental JIT compiler

2021-04-09 Thread Erik Joelsson
On Fri, 9 Apr 2021 17:35:11 GMT, Vladimir Kozlov  wrote:

> As part of [JEP 410](http://openjdk.java.net/jeps/410) remove code related to 
> Java-based JIT compiler (Graal) from JDK:
> 
> - `jdk.internal.vm.compiler` — the Graal compiler 
> - `jdk.internal.vm.compiler.management` — Graal's `MBean`
> - `test/hotspot/jtreg/compiler/graalunit` — Graal's unit tests
> 
> Remove Graal related code in makefiles.
> 
> Note, next two `module-info.java` files are preserved so that the JVMCI 
> module `jdk.internal.vm.ci` continues to build:
> src/jdk.internal.vm.compiler/share/classes/module-info.java
> src/jdk.internal.vm.compiler.management/share/classes/module-info.java
> 
> @AlanBateman suggested that we can avoid it by using Module API to export 
> packages at runtime . It requires changes in GraalVM's JVMCI too so I will 
> file followup RFE to implement it.
> 
> Tested hs-tier1-4

make/GraalBuilderImage.gmk line 1:

> 1: #

This file should not be removed. This outout image is this makefile produces is 
used as input to the separate GraalVM build.

make/Main.gmk line 444:

> 442: ))
> 443: 
> 444: $(eval $(call SetupTarget, graal-builder-image, \

Same as above, this needs to stay.

make/autoconf/spec.gmk.in line 895:

> 893: STATIC_LIBS_IMAGE_DIR := $(IMAGES_OUTPUTDIR)/$(STATIC_LIBS_IMAGE_SUBDIR)
> 894: 
> 895: # Graal builder image

Like above, this needs to stay.

-

PR: https://git.openjdk.java.net/jdk/pull/3421


Re: RFR: 8264805: Remove the experimental Ahead-of-Time Compiler [v4]

2021-04-09 Thread Vladimir Kozlov
On Fri, 9 Apr 2021 16:54:35 GMT, Ioi Lam  wrote:

>> Vladimir Kozlov has updated the pull request incrementally with one 
>> additional commit since the last revision:
>> 
>>   Remove exports from Graal module to jdk.aot
>
> src/hotspot/share/oops/methodCounters.cpp line 77:
> 
>> 75: }
>> 76: 
>> 77: void MethodCounters::metaspace_pointers_do(MetaspaceClosure* it) {
> 
> MethodCounters::metaspace_pointers_do can be removed altogether (also need to 
> remove the declaration in methodCounter.hpp).

Done.

-

PR: https://git.openjdk.java.net/jdk/pull/3398


Re: RFR: 8264805: Remove the experimental Ahead-of-Time Compiler [v4]

2021-04-09 Thread Vladimir Kozlov
On Fri, 9 Apr 2021 16:34:58 GMT, Igor Veresov  wrote:

>> Vladimir Kozlov has updated the pull request incrementally with one 
>> additional commit since the last revision:
>> 
>>   Remove exports from Graal module to jdk.aot
>
> src/hotspot/share/jvmci/jvmciCodeInstaller.cpp line 1184:
> 
>> 1182:   }
>> 1183: } else if 
>> (jvmci_env()->isa_HotSpotMetaspaceConstantImpl(constant)) {
>> 1184:   if (!_immutable_pic_compilation) {
> 
> All _immutable_pic_compilation mentions can be removed as well. It is true 
> only for AOT compiles produced by Graal. It's never going to be used without 
> AOT.

Done. I removed _immutable_pic_compilation in JVMCI in Hotspot.

-

PR: https://git.openjdk.java.net/jdk/pull/3398


Re: RFR: 8264805: Remove the experimental Ahead-of-Time Compiler [v4]

2021-04-09 Thread Vladimir Kozlov
On Fri, 9 Apr 2021 16:30:41 GMT, Igor Veresov  wrote:

>> Vladimir Kozlov has updated the pull request incrementally with one 
>> additional commit since the last revision:
>> 
>>   Remove exports from Graal module to jdk.aot
>
> src/hotspot/share/oops/instanceKlass.hpp line 257:
> 
>> 255: _misc_declares_nonstatic_concrete_methods = 1 << 6,  // directly 
>> declares non-static, concrete methods
>> 256: _misc_has_been_redefined  = 1 << 7,  // class has 
>> been redefined
>> 257: _unused   = 1 << 8,  //
> 
> Any particular reason we don't want to remove this gap?

Less changes. We don't get any benefits from removing it. It is opposite - if 
we need a new value we will use it without changing following values again.

-

PR: https://git.openjdk.java.net/jdk/pull/3398


Re: RFR: 8264805: Remove the experimental Ahead-of-Time Compiler [v4]

2021-04-09 Thread Vladimir Kozlov
On Fri, 9 Apr 2021 08:32:59 GMT, Aleksey Shipilev  wrote:

>> Vladimir Kozlov has updated the pull request incrementally with one 
>> additional commit since the last revision:
>> 
>>   Remove exports from Graal module to jdk.aot
>
> src/hotspot/share/code/compiledIC.cpp line 715:
> 
>> 713: tty->print("interpreted");
>> 714:   } else {
>> 715: tty->print("unknown");
> 
> We can probably split this cleanup into the minor issue, your call. The 
> benefit of separate issue: backportability.

Reverted and filed https://bugs.openjdk.java.net/browse/JDK-8265013

-

PR: https://git.openjdk.java.net/jdk/pull/3398


Re: RFR: 8264805: Remove the experimental Ahead-of-Time Compiler [v4]

2021-04-09 Thread Vladimir Kozlov
On Fri, 9 Apr 2021 08:29:21 GMT, Aleksey Shipilev  wrote:

>> Vladimir Kozlov has updated the pull request incrementally with one 
>> additional commit since the last revision:
>> 
>>   Remove exports from Graal module to jdk.aot
>
> src/hotspot/cpu/x86/globalDefinitions_x86.hpp line 73:
> 
>> 71: 
>> 72: #if INCLUDE_JVMCI
>> 73: #define COMPRESSED_CLASS_POINTERS_DEPENDS_ON_COMPRESSED_OOPS 
>> (EnableJVMCI)
> 
> Minor nit: can probably drop parentheses here.

done

-

PR: https://git.openjdk.java.net/jdk/pull/3398


Re: RFR: 8264805: Remove the experimental Ahead-of-Time Compiler [v4]

2021-04-09 Thread Vladimir Kozlov
On Fri, 9 Apr 2021 03:03:33 GMT, David Holmes  wrote:

>> Vladimir Kozlov has updated the pull request incrementally with one 
>> additional commit since the last revision:
>> 
>>   Remove exports from Graal module to jdk.aot
>
> src/hotspot/share/memory/heap.hpp line 174:
> 
>> 172:   bool contains(const void* p) const { return low() <= p && 
>> p < high(); }
>> 173:   bool contains_blob(const CodeBlob* blob) const {
>> 174: const void* start = (void*)blob;
> 
> start seems redundant now

Done:
   bool contains_blob(const CodeBlob* blob) const {
-const void* start = (void*)blob;
-return contains(start);
+return contains((void*)blob);
   }

-

PR: https://git.openjdk.java.net/jdk/pull/3398


Re: RFR: 8264805: Remove the experimental Ahead-of-Time Compiler [v4]

2021-04-09 Thread Vladimir Kozlov
On Fri, 9 Apr 2021 02:44:23 GMT, David Holmes  wrote:

>> Vladimir Kozlov has updated the pull request incrementally with one 
>> additional commit since the last revision:
>> 
>>   Remove exports from Graal module to jdk.aot
>
> src/hotspot/cpu/x86/compiledIC_x86.cpp line 134:
> 
>> 132: #ifdef ASSERT
>> 133:   CodeBlob *cb = CodeCache::find_blob_unsafe((address) _call);
>> 134:   assert(cb, "sanity");
> 
> Nit: implied boolean - use "cb != NULL"

done

-

PR: https://git.openjdk.java.net/jdk/pull/3398


RFR: 8264806: Remove the experimental JIT compiler

2021-04-09 Thread Vladimir Kozlov
As part of [JEP 410](http://openjdk.java.net/jeps/410) remove code related to 
Java-based JIT compiler (Graal) from JDK:

- `jdk.internal.vm.compiler` — the Graal compiler 
- `jdk.internal.vm.compiler.management` — Graal's `MBean`
- `test/hotspot/jtreg/compiler/graalunit` — Graal's unit tests

Remove Graal related code in makefiles.

Note, next two `module-info.java` files are preserved so that the JVMCI module 
`jdk.internal.vm.ci` continues to build:
src/jdk.internal.vm.compiler/share/classes/module-info.java
src/jdk.internal.vm.compiler.management/share/classes/module-info.java

@AlanBateman suggested that we can avoid it by using Module API to export 
packages at runtime . It requires changes in GraalVM's JVMCI too so I will file 
followup RFE to implement it.

Tested hs-tier1-4

-

Depends on: https://git.openjdk.java.net/jdk/pull/3398

Commit messages:
 - 8264806: Remove the experimental JIT compiler

Changes: https://git.openjdk.java.net/jdk/pull/3421/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk=3421=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8264806
  Stats: 441620 lines in 2886 files changed: 0 ins; 441604 del; 16 mod
  Patch: https://git.openjdk.java.net/jdk/pull/3421.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/3421/head:pull/3421

PR: https://git.openjdk.java.net/jdk/pull/3421


Re: RFR: 8264805: Remove the experimental Ahead-of-Time Compiler [v4]

2021-04-09 Thread Vladimir Kozlov
On Fri, 9 Apr 2021 17:09:58 GMT, Vladimir Kozlov  wrote:

>> Hi Vladimir,
>> 
>> This looks good to me - I went through all the files.
>> 
>> It was nice to see how nicely compartmentalized the AOT feature was - that 
>> made checking the changes quite simple. The one exception was the 
>> fingerprinting code, which for some reason was AOT-only but not marked that 
>> way, so I'm not sure what the story is there. ??
>> 
>> I was also surprised to see some of the flags were not marked experimental, 
>> so there will need to a CSR request to remove those without going through 
>> the normal deprecation process.
>> 
>> Thanks,
>> David
>
>> Hi Vladimir,
>> 
>> This looks good to me - I went through all the files.
>> 
>> It was nice to see how nicely compartmentalized the AOT feature was - that 
>> made checking the changes quite simple. The one exception was the 
>> fingerprinting code, which for some reason was AOT-only but not marked that 
>> way, so I'm not sure what the story is there. ??
>> 
>> I was also surprised to see some of the flags were not marked experimental, 
>> so there will need to a CSR request to remove those without going through 
>> the normal deprecation process.
>> 
>> Thanks,
>> David
> 
> Thank you, David.
> We thought that we could use fingerprint code for other cases that is why we 
> did not put it under `#if INCLUDE_AOT`.
> I filed CSR for AOT product flags removal: 
> https://bugs.openjdk.java.net/browse/JDK-8265000

Thank you, Igor Ignatyev, Igor Veresov, Ioi, Aleksey and Andrew for reviews.
I will update changes based on your comments.

-

PR: https://git.openjdk.java.net/jdk/pull/3398


Re: RFR: 8264805: Remove the experimental Ahead-of-Time Compiler [v4]

2021-04-09 Thread Vladimir Kozlov
On Fri, 9 Apr 2021 04:32:14 GMT, David Holmes  wrote:

> Hi Vladimir,
> 
> This looks good to me - I went through all the files.
> 
> It was nice to see how nicely compartmentalized the AOT feature was - that 
> made checking the changes quite simple. The one exception was the 
> fingerprinting code, which for some reason was AOT-only but not marked that 
> way, so I'm not sure what the story is there. ??
> 
> I was also surprised to see some of the flags were not marked experimental, 
> so there will need to a CSR request to remove those without going through the 
> normal deprecation process.
> 
> Thanks,
> David

Thank you, David.
We thought that we could use fingerprint code for other cases that is why we 
did not put it under `#if INCLUDE_AOT`.
I filed CSR for AOT product flags removal: 
https://bugs.openjdk.java.net/browse/JDK-8265000

-

PR: https://git.openjdk.java.net/jdk/pull/3398


Re: RFR: 8264805: Remove the experimental Ahead-of-Time Compiler [v4]

2021-04-09 Thread Ioi Lam
On Thu, 8 Apr 2021 17:24:38 GMT, Vladimir Kozlov  wrote:

>> As part of [JEP 410](http://openjdk.java.net/jeps/410) remove code related 
>> to Ahead-of-Time Compiler from JDK: 
>> 
>> - `jdk.aot` module — the `jaotc` tool 
>> - `src/hotspot/share/aot` — loads AoT compiled code into VM for execution 
>> - related HotSpot code guarded by `#if INCLUDE_AOT` 
>> 
>> Additionally, remove tests as well as code in makefiles related to AoT 
>> compilation.
>> 
>> Tested hs-tier1-4
>
> Vladimir Kozlov has updated the pull request incrementally with one 
> additional commit since the last revision:
> 
>   Remove exports from Graal module to jdk.aot

LGTM. Just a small nit.

src/hotspot/share/oops/methodCounters.cpp line 77:

> 75: }
> 76: 
> 77: void MethodCounters::metaspace_pointers_do(MetaspaceClosure* it) {

MethodCounters::metaspace_pointers_do can be removed altogether (also need to 
remove the declaration in methodCounter.hpp).

-

Marked as reviewed by iklam (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/3398


Re: RFR: 8264805: Remove the experimental Ahead-of-Time Compiler [v4]

2021-04-09 Thread Igor Veresov
On Thu, 8 Apr 2021 17:24:38 GMT, Vladimir Kozlov  wrote:

>> As part of [JEP 410](http://openjdk.java.net/jeps/410) remove code related 
>> to Ahead-of-Time Compiler from JDK: 
>> 
>> - `jdk.aot` module — the `jaotc` tool 
>> - `src/hotspot/share/aot` — loads AoT compiled code into VM for execution 
>> - related HotSpot code guarded by `#if INCLUDE_AOT` 
>> 
>> Additionally, remove tests as well as code in makefiles related to AoT 
>> compilation.
>> 
>> Tested hs-tier1-4
>
> Vladimir Kozlov has updated the pull request incrementally with one 
> additional commit since the last revision:
> 
>   Remove exports from Graal module to jdk.aot

src/hotspot/share/jvmci/jvmciCodeInstaller.cpp line 1184:

> 1182:   }
> 1183: } else if (jvmci_env()->isa_HotSpotMetaspaceConstantImpl(constant)) 
> {
> 1184:   if (!_immutable_pic_compilation) {

All _immutable_pic_compilation mentions can be removed as well. It is true only 
for AOT compiles produced by Graal. It's never going to be used without AOT.

src/hotspot/share/oops/instanceKlass.hpp line 257:

> 255: _misc_declares_nonstatic_concrete_methods = 1 << 6,  // directly 
> declares non-static, concrete methods
> 256: _misc_has_been_redefined  = 1 << 7,  // class has 
> been redefined
> 257: _unused   = 1 << 8,  //

Any particular reason we don't want to remove this gap?

-

PR: https://git.openjdk.java.net/jdk/pull/3398


Re: Build problems on MacOS

2021-04-09 Thread erik . joelsson

Hello Lee,

The libclang dependency is specific to the Panama project. I would 
recommend asking for help on this particular problem on panama-dev.


/Erik

On 2021-04-08 23:08, leerho wrote:

Hello,

I have forked foreign-memaccess+abi
 in
preparation for making some code contributions.

However, I have been unsuccessful in getting this project to pass the 'bash
configure' phase as detailed below:

This is my environment:


MacBook Pro (15-inch, 2018)
2.6 GHz 6-core, Intel Core i7
32GB RAM, 248GB Flash Storage available of 500GB
MacOS: Big Sur, version 11.2.3
Xcode Version 12.4 (12D4e)
Xcode Command Line Tools are already installed
Apple clang version 12.0.0 (clang-1200.0.32.29)
Target: x86_64-apple-darwin20.3.0
autoconf 2.71 installed
echo $JAVA_HOME
 AdoptOpenJDK 15:
/Library/Java/JavaVirtualMachines/adoptopenjdk-15.jdk/Contents/Home


Note: In the referenced building.md

page
from the README.md the reference to the blog page (for suggestions on
managing multiple Xcode versions)
 is
a bad link.


When I run
*bash configure *
I get the error:


error: Cannot locate libclang! You can download pre-built llvm
 binary from http://llvm.org/releases/download.html, then
specify the
 location using --with-libclang


Specifying the path to libclang, (it expects clang 9.0.0, which I installed
in a parallel directory to the clang 12.0.0, which comes with Xcode.)
*bash configure
--with-libclang=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/clang/9.0.0*
I get the error:


checking libclang version to be used... 9 (default)
checking libclang auxiliary include path...
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/9.0.0/include
checking for clang-c/Index.h... no
configure: error: Cannot locate libclang or headers at the specified
locations:

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include
configure exiting with result code 1


  I also tried overriding the default version of clang with the option
*--with-libclang-version=12.0.0,
*which also failed.

Any suggestions would be greatly appreciated.

Lee.


Build problems on MacOS

2021-04-09 Thread leerho
Hello,

I have forked foreign-memaccess+abi
 in
preparation for making some code contributions.

However, I have been unsuccessful in getting this project to pass the 'bash
configure' phase as detailed below:

This is my environment:

> MacBook Pro (15-inch, 2018)
> 2.6 GHz 6-core, Intel Core i7
> 32GB RAM, 248GB Flash Storage available of 500GB
> MacOS: Big Sur, version 11.2.3
> Xcode Version 12.4 (12D4e)
> Xcode Command Line Tools are already installed
> Apple clang version 12.0.0 (clang-1200.0.32.29)
> Target: x86_64-apple-darwin20.3.0
> autoconf 2.71 installed
> echo $JAVA_HOME
> AdoptOpenJDK 15:
> /Library/Java/JavaVirtualMachines/adoptopenjdk-15.jdk/Contents/Home


Note: In the referenced building.md

page
from the README.md the reference to the blog page (for suggestions on
managing multiple Xcode versions)
 is
a bad link.


When I run
*bash configure *
I get the error:

> error: Cannot locate libclang! You can download pre-built llvm
> binary from http://llvm.org/releases/download.html, then
> specify the
> location using --with-libclang


Specifying the path to libclang, (it expects clang 9.0.0, which I installed
in a parallel directory to the clang 12.0.0, which comes with Xcode.)
*bash configure
--with-libclang=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/clang/9.0.0*
I get the error:

> checking libclang version to be used... 9 (default)
> checking libclang auxiliary include path...
> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/9.0.0/include
> checking for clang-c/Index.h... no
> configure: error: Cannot locate libclang or headers at the specified
> locations:
>
> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib
>
> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include
> configure exiting with result code 1


 I also tried overriding the default version of clang with the option
*--with-libclang-version=12.0.0,
*which also failed.

Any suggestions would be greatly appreciated.

Lee.


Re: RFR: 8264805: Remove the experimental Ahead-of-Time Compiler [v4]

2021-04-09 Thread Aleksey Shipilev
On Thu, 8 Apr 2021 17:24:38 GMT, Vladimir Kozlov  wrote:

>> As part of [JEP 410](http://openjdk.java.net/jeps/410) remove code related 
>> to Ahead-of-Time Compiler from JDK: 
>> 
>> - `jdk.aot` module — the `jaotc` tool 
>> - `src/hotspot/share/aot` — loads AoT compiled code into VM for execution 
>> - related HotSpot code guarded by `#if INCLUDE_AOT` 
>> 
>> Additionally, remove tests as well as code in makefiles related to AoT 
>> compilation.
>> 
>> Tested hs-tier1-4
>
> Vladimir Kozlov has updated the pull request incrementally with one 
> additional commit since the last revision:
> 
>   Remove exports from Graal module to jdk.aot

Shenandoah parts look good. I have a few minor comments after reading the rest.

src/hotspot/cpu/x86/globalDefinitions_x86.hpp line 73:

> 71: 
> 72: #if INCLUDE_JVMCI
> 73: #define COMPRESSED_CLASS_POINTERS_DEPENDS_ON_COMPRESSED_OOPS (EnableJVMCI)

Minor nit: can probably drop parentheses here.

src/hotspot/share/code/compiledIC.cpp line 715:

> 713: tty->print("interpreted");
> 714:   } else {
> 715: tty->print("unknown");

We can probably split this cleanup into the minor issue, your call. The benefit 
of separate issue: backportability.

-

Marked as reviewed by shade (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/3398


Integrated: 8264779: Fix doclint warnings in java/nio

2021-04-09 Thread Conor Cleary
On Wed, 7 Apr 2021 13:22:44 GMT, Conor Cleary  wrote:

> This fix addresses the following warnings which were generated by building 
> JDK API documentation with the `-Xdoclint:all` option enabled:
> 
> ./build/linux-x64/support/gensrc/java.base/java/nio/charset/IllegalCharsetNameException.java:47:
>  warning: no comment
> private String charsetName;
>^
> ./open/src/java.base/share/classes/java/nio/charset/MalformedInputException.java:44:
>  warning: no comment
> private int inputLength;
> ^
> ./open/src/java.base/share/classes/java/nio/charset/UnmappableCharacterException.java:44:
>  warning: no comment
> private int inputLength;
> ^
> ./build/linux-x64/support/gensrc/java.base/java/nio/charset/UnsupportedCharsetException.java:47:
>  warning: no comment
> private String charsetName;
>^
> ./open/src/java.base/share/classes/java/nio/file/DirectoryIteratorException.java:81:
>  warning: no @param for s
> private void readObject(ObjectInputStream s)
>  ^
> ./open/src/java.base/share/classes/java/nio/file/DirectoryIteratorException.java:81:
>  warning: no @throws for java.lang.ClassNotFoundException
> private void readObject(ObjectInputStream s)
>  ^
> ./open/src/java.base/share/classes/java/nio/file/FileSystemException.java:43: 
> warning: no comment
> private final String file;
>  ^
> ./open/src/java.base/share/classes/java/nio/file/FileSystemException.java:44: 
> warning: no comment
> private final String other;
>  ^
> ./open/src/java.base/share/classes/java/nio/file/InvalidPathException.java:43:
>  warning: no comment
> private int index;
> ^
> ./open/src/java.base/share/classes/java/nio/file/InvalidPathException.java:42:
>  warning: no comment
> private String input;
>^
> ./open/src/java.base/share/classes/java/nio/file/attribute/UserPrincipalNotFoundException.java:43:
>  warning: no comment
> private final String name;
>  ^
> Changes to 
> [`genExceptions.sh`](https://github.com/openjdk/jdk/commit/b729d8ed7970737a8a2d4e8aa788df33789faea2)
>  and the two 
> [`exceptions`](https://github.com/openjdk/jdk/commit/b729d8ed7970737a8a2d4e8aa788df33789faea2)
>  templates are to address the warnings concerned with 
> `UnsupportedCharsetException.java` and `IllegalCharsetNameException.java` 
> which are generated when `make jdk-image` is run.
> 
> CSR: https://bugs.openjdk.java.net/browse/JDK-8264844

This pull request has now been integrated.

Changeset: a45733f8
Author:Conor Cleary 
Committer: Chris Hegarty 
URL:   https://git.openjdk.java.net/jdk/commit/a45733f8
Stats: 48 lines in 9 files changed: 38 ins; 0 del; 10 mod

8264779: Fix doclint warnings in java/nio

Reviewed-by: chegar, iris, alanb, naoto

-

PR: https://git.openjdk.java.net/jdk/pull/3376


Re: RFR: 8264805: Remove the experimental Ahead-of-Time Compiler [v4]

2021-04-09 Thread Andrew Haley
On Thu, 8 Apr 2021 17:24:38 GMT, Vladimir Kozlov  wrote:

>> As part of [JEP 410](http://openjdk.java.net/jeps/410) remove code related 
>> to Ahead-of-Time Compiler from JDK: 
>> 
>> - `jdk.aot` module — the `jaotc` tool 
>> - `src/hotspot/share/aot` — loads AoT compiled code into VM for execution 
>> - related HotSpot code guarded by `#if INCLUDE_AOT` 
>> 
>> Additionally, remove tests as well as code in makefiles related to AoT 
>> compilation.
>> 
>> Tested hs-tier1-4
>
> Vladimir Kozlov has updated the pull request incrementally with one 
> additional commit since the last revision:
> 
>   Remove exports from Graal module to jdk.aot

AArch64 looks fine.

-

Marked as reviewed by aph (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/3398