This is an automated email from the ASF dual-hosted git repository.

sunlan pushed a commit to branch GROOVY_4_0_X
in repository https://gitbox.apache.org/repos/asf/groovy.git

commit c9e9330628a8e539f5328413e5e6bf859270130c
Author: Daniel Sun <sun...@apache.org>
AuthorDate: Sun Jun 16 07:09:18 2024 +0900

    Minor refactor
    
    (cherry picked from commit 72f3295ca94c768bf54f1bc6ad83ab4a0f5a1b80)
---
 .../org/codehaus/groovy/vmplugin/v9/Java9.java     | 27 ++++++++++------------
 1 file changed, 12 insertions(+), 15 deletions(-)

diff --git a/src/main/java/org/codehaus/groovy/vmplugin/v9/Java9.java 
b/src/main/java/org/codehaus/groovy/vmplugin/v9/Java9.java
index 5a744c3e27..218fe87ef8 100644
--- a/src/main/java/org/codehaus/groovy/vmplugin/v9/Java9.java
+++ b/src/main/java/org/codehaus/groovy/vmplugin/v9/Java9.java
@@ -378,25 +378,22 @@ public class Java9 extends Java8 {
 
     static {
         ModuleFinder finder = ModuleFinder.ofSystem();
-        Map<String, ModuleDescriptor> map = new HashMap<>();
+        Map<String, ModuleDescriptor> packages = new HashMap<>(1024);
         finder.findAll().stream()
                 .map(ModuleReference::descriptor)
-                .forEach(md -> md.packages().forEach(pn -> map.putIfAbsent(pn, 
md)));
+                .forEach(md -> md.packages().forEach(pn -> 
packages.putIfAbsent(pn, md)));
 
-        Map<String, Set<String>> concealedPackagesToOpen = new 
ConcurrentHashMap<>();
-        Map<String, Set<String>> exportedPackagesToOpen = new 
ConcurrentHashMap<>();
+        Map<String, Set<String>> concealedPackagesToOpen = new 
ConcurrentHashMap<>(64);
+        Map<String, Set<String>> exportedPackagesToOpen = new 
ConcurrentHashMap<>(64);
 
-        Arrays.stream(JAVA8_PACKAGES())
-                .forEach(pn -> {
-                    ModuleDescriptor descriptor = map.get(pn);
-                    if (descriptor != null && !isOpen(descriptor, pn)) {
-                        if (isExported(descriptor, pn)) {
-                            
exportedPackagesToOpen.computeIfAbsent(descriptor.name(), k -> new 
HashSet<>()).add(pn);
-                        } else {
-                            
concealedPackagesToOpen.computeIfAbsent(descriptor.name(), k -> new 
HashSet<>()).add(pn);
-                        }
-                    }
-                });
+        for (String j8pn : JAVA8_PACKAGES()) {
+            ModuleDescriptor descriptor = packages.get(j8pn);
+            if (descriptor == null || isOpen(descriptor, j8pn)) continue;
+
+            Map<String, Set<String>> packagesToOpen =
+                isExported(descriptor, j8pn) ? exportedPackagesToOpen : 
concealedPackagesToOpen;
+            packagesToOpen.computeIfAbsent(descriptor.name(), k -> new 
HashSet<>(128)).add(j8pn);
+        }
 
         CONCEALED_PACKAGES_TO_OPEN = concealedPackagesToOpen;
         EXPORTED_PACKAGES_TO_OPEN = exportedPackagesToOpen;

Reply via email to