Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
49c97b5
Improve the performance of accessing ThreadedBlockData.
copi143 Feb 23, 2026
f5b8d4b
fix bugs
copi143 Feb 24, 2026
3739a8d
fix style
copi143 Feb 24, 2026
b79ab38
tidy
copi143 Feb 24, 2026
8463337
Merge remote-tracking branch 'upstream/master' into cache-threadlocal
copi143 Feb 24, 2026
ec789e4
refactor (no logic changes)
copi143 Feb 24, 2026
a689f24
refactor (no logic changes)
copi143 Feb 24, 2026
f297c3b
Also optimize for multiple indirect accesses to ThreadLocal.
copi143 Feb 25, 2026
87ede08
format
copi143 Feb 25, 2026
0ebc23c
don't printStackTrace
copi143 Feb 25, 2026
a69b93c
fix duplicate cache entries
copi143 Feb 25, 2026
258244f
Use a simple whitelist so that it only override methods that won't be…
copi143 Feb 25, 2026
c63ebc3
Overloaded methods in the base class also need to be inherited.
copi143 Feb 25, 2026
0bd4c91
can we overload setBlockBoundsBasedOnState?
copi143 Feb 25, 2026
a14f909
only init CeleritasBlockTransform once
copi143 Feb 25, 2026
0694915
comments
copi143 Feb 25, 2026
8d8d1fe
Cache non-parameter local variables as well.
copi143 Feb 25, 2026
df26395
Fix: used the wrong variable.
copi143 Feb 25, 2026
45b9207
Merge remote-tracking branch 'upstream/master' into cache-threadlocal
copi143 Feb 28, 2026
c1b751d
fixes in MixinBlock
Alexdoru Feb 28, 2026
d39c38f
Move mappings and methodCanOverload into the constructor, use Immutab…
copi143 Mar 1, 2026
f68d995
comment
copi143 Mar 1, 2026
233d0d6
Merge remote-tracking branch 'origin/cache-threadlocal' into cache-th…
copi143 Mar 1, 2026
0ece4de
Merge remote-tracking branch 'upstream/master' into cache-threadlocal
copi143 Mar 1, 2026
55787dc
Add method names to ClassConstantPoolParser
copi143 Mar 1, 2026
24c982c
Skip the analysis of irrelevant methods.
copi143 Mar 1, 2026
8267e82
set changed correctly
copi143 Mar 1, 2026
892343c
I hate style checks
copi143 Mar 1, 2026
39f296f
rearrange class + make some fields non-static (no code change)
Alexdoru Mar 1, 2026
7d36097
extract method trackBlockShadowingFields
Alexdoru Mar 1, 2026
63960f6
rearrange
Alexdoru Mar 2, 2026
2bee26e
Merge branch 'master' into cache-threadlocal
Alexdoru Mar 2, 2026
8b60e8d
Remove setBlockBoundsBasedOnState overload
copi143 Mar 2, 2026
59c553c
Merge remote-tracking branch 'upstream/master' into cache-threadlocal
copi143 Mar 3, 2026
8aa3f28
Place the cache for `this` after calling the base class constructor.
copi143 Mar 3, 2026
892fd61
Merge remote-tracking branch 'upstream/master' into cache-threadlocal
copi143 Mar 3, 2026
391711d
Merge remote-tracking branch 'upstream/master' into cache-threadlocal
copi143 Mar 6, 2026
8f4281e
Merge remote-tracking branch 'upstream/master' into cache-threadlocal
copi143 Mar 26, 2026
033bca0
fix
copi143 Mar 26, 2026
29daf16
apply main-branch's reorganization
copi143 Mar 26, 2026
97e311f
Merge remote-tracking branch 'upstream/master' into cache-threadlocal
copi143 Mar 28, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ public ThreadedBlockData(ThreadedBlockData other) {
}

public static ThreadedBlockData get(Block block) {
if (block == null) return null; // Now, null can be passed in `CeleritasBlockTransform`.
return ((Getter)block).angelica$getThreadData();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ public byte[] transform(String name, String transformedName, byte[] basicClass)
cr.accept(cn, 0);
final boolean changed = inner.transformClassNode(transformedName, cn);
if (changed) {
final ClassWriter cw = new ClassWriter(ClassWriter.COMPUTE_MAXS);
final ClassWriter cw = new ClassWriter(ClassWriter.COMPUTE_FRAMES | ClassWriter.COMPUTE_MAXS);
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

that's gonna need a safe class writer to not blow up

cn.accept(cw);
final byte[] bytes = cw.toByteArray();
AngelicaClassDump.dumpClass(transformedName, basicClass, bytes, this);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ public void transformClass(@NotNull ExtensibleClassLoader classLoader, @NotNull
final boolean changed = inner.transformClassNode(className, classNode.getNode());
if (changed) {
classNode.computeMaxs();
classNode.computeFrames();
AngelicaClassDump.dumpRFBClass(className, classNode, this);
}
}
Expand Down
Loading
Loading