13
0
geforkt von Mirrors/Paper
Commit graph

11 Commits

Autor SHA1 Nachricht Datum
Shane Freeder
0ccfc595a4 Cache generated EventExecutors (fixes #786)
the first 'major' change in this PR is to cache the generated event
executrs from the ASM class, by doing this we only generate a single
class for every method that we need an executor for, thus reducing the
number of classes that are needed, especially in cases where plugins
re/unregister events all the time.

The second change is to modify the generated classloader map, generated
classloaders are not held against the plugin itself but the classloader
that the event is declared in, the implication here is that we cannot
drop generated classloaders when a plugin disable, and so we use a guava
weak-key'd hashmap, downfall here is that classes won't be GC'd until
guava drops the generated classloader, however the first change should
deal with most of the grunt.
2017-09-06 21:18:36 +01:00
Aikar
64b2b87256 Upstream update 2017-08-07 23:05:16 -04:00
BlackHole
01d1cc351b Update to 1.12.1 2017-08-03 16:36:06 +02:00
Zach Brown
3b5e6cd48f Properly fix JavaDoc linting issues
Fixes our own, and upstream's, issues with the stricter Java 8 JavaDoc
linter.

Also removes the destroystokyo-release maven repository. I'm not sure
why I added it originally, but it's unnecessary now.
2017-06-10 17:11:10 -05:00
Zach Brown
6caa4fe122 Go back to disabling javadoc linting for now
It's breaking our maven deployments. This should be fixed properly in
the future when I have more time and have had less to drink.
2017-06-09 19:40:41 -05:00
Zach Brown
d1a100c11e Remove unnecessary doclint param on API 2017-05-27 23:36:18 -05:00
Zach Brown
b712d77d72 Update API patches to MC 1.12pre2 2017-05-14 08:46:44 -05:00
Spottedleaf
19fa8bcffc Use invokeinterface for methods defined in interfaces in the ASM executor 2017-02-14 03:04:20 -08:00
Techcable
c114ab3fea Handle static methods 2016-03-12 09:43:39 -07:00
Zach Brown
a9f44f2240 Rebuild some patches 2016-03-12 00:40:16 -06:00
Techcable
88d0213190 Use ASM for event execution
Reflection (although highly optimized), has noticable overhead.
It also creates noticable GC overhead by allocating arrays with arguments, as @Aikar has said.

Based on WaterfallMC/Waterfall@1692934370

Merge pull request #45 from Techcable/feature/asm-executors
2016-03-03 13:26:03 -07:00