Skip to content

Commit

Permalink
3.3
Browse files Browse the repository at this point in the history
  • Loading branch information
ZZZank committed Nov 4, 2024
1 parent 09517bc commit 166e463
Show file tree
Hide file tree
Showing 3 changed files with 38 additions and 3 deletions.
25 changes: 25 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,28 @@
## Rhizo 3.2 -> 3.3

Perf++ && Rest Parameter

- support for function rest parameter
- e.g. `function a(arg1, arg2, ...restParamIsHere) {}`, you can call `a(1, 2)` or `a(1,2,3)` or `a(1,2,3,4)` or ...
- smaller and more efficient name remapper
- thanks to the uniqueness of intermediary name, we can match field/class names directly, making
remapping for these two more efficient and complete
- mapping file is now at version 3, with a more compat storage format, so the Rhizo jar should be smaller now
- better NBT wrapper and AABB wrapper
- more conversion methods for AABBWrapper
- more consistent NBTWrapper (somehow there are more than three NBT wrappers in the original Rhino)
- ReflectASM
- an ASM library that can make method/field invoking 8.7 times faster
- Rhizo is trying to use this to replace original reflection, and make native access faster
- rewrite native java methods lookup
- faster, that's all
- performance tweaks for general native java member lookup
- faster math, and support for BigInteger and BigDecimal
- more precisely, faster when doing integer math
- fix `RemapPrefixForJS` annotation being broken

---

## Rhizo 3.1 -> 3.2

`??` and `?.` operator
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -514,9 +514,19 @@ boolean matches(Object[] args) {
}
for (int i = 0, len = args.length; i < len; i++) {
Object arg = args[i];
if (arg instanceof Wrapper wrapper) {
arg = wrapper.unwrap();
if (arg instanceof Wrapper) {
arg = ((Wrapper) arg).unwrap();
}
// val type = types[i];
// if (type == null) {
// if (arg != null) {
// return false;
// }
// } else if (arg == null) {
// return false;
// } else if (!type.isAssignableFrom(arg.getClass())) {
// return false;
// }
if (arg == null) {
if (types[i] != null) {
return false;
Expand Down
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ enabled_platforms=fabric,forge

mod_id=rhino
mod_name=Rhizo
mod_version=3.2
mod_version=3.3
mod_package=dev.latvian.mods
mod_author=ZZZank&LatvianModder

Expand Down

0 comments on commit 166e463

Please sign in to comment.