From 7719faf49f7c11708cc932cfe4354220b911c317 Mon Sep 17 00:00:00 2001 From: Georgii Gavrichev Date: Tue, 16 Oct 2018 14:16:53 +0200 Subject: [PATCH] Split up bootstrap tasks and submit individual ones to the executor. --- .../mojang/datafixers/DataFixerBuilder.java | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/mojang/datafixers/DataFixerBuilder.java b/src/main/java/com/mojang/datafixers/DataFixerBuilder.java index 57ceddbf..fd1d00b3 100644 --- a/src/main/java/com/mojang/datafixers/DataFixerBuilder.java +++ b/src/main/java/com/mojang/datafixers/DataFixerBuilder.java @@ -3,13 +3,13 @@ package com.mojang.datafixers; import com.google.common.collect.Lists; +import com.mojang.datafixers.schemas.Schema; +import com.mojang.datafixers.types.Type; import it.unimi.dsi.fastutil.ints.Int2ObjectAVLTreeMap; import it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap; import it.unimi.dsi.fastutil.ints.IntAVLTreeSet; import it.unimi.dsi.fastutil.ints.IntBidirectionalIterator; import it.unimi.dsi.fastutil.ints.IntSortedSet; -import com.mojang.datafixers.schemas.Schema; -import com.mojang.datafixers.types.Type; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; @@ -61,18 +61,18 @@ public void addFixer(final DataFix fix) { public DataFixer build(final Executor executor) { final DataFixerUpper fixerUpper = new DataFixerUpper(new Int2ObjectAVLTreeMap<>(schemas), new ArrayList<>(globalList), new IntAVLTreeSet(fixerVersions)); - executor.execute(() -> { - final IntBidirectionalIterator iterator = fixerUpper.fixerVersions().iterator(); - while (iterator.hasNext()) { - final int versionKey = iterator.nextInt(); - final Schema schema = schemas.get(versionKey); - for (final String typeName: schema.types()) { + final IntBidirectionalIterator iterator = fixerUpper.fixerVersions().iterator(); + while (iterator.hasNext()) { + final int versionKey = iterator.nextInt(); + final Schema schema = schemas.get(versionKey); + for (final String typeName : schema.types()) { + executor.execute(() -> { final Type dataType = schema.getType(() -> typeName); final TypeRewriteRule rule = fixerUpper.getRule(DataFixUtils.getVersion(versionKey), dataVersion); dataType.rewrite(rule, DataFixerUpper.OPTIMIZATION_RULE); - } + }); } - }); + } return fixerUpper; }