ristretto

v0.12.1

v0.12.1 Dec 6 2024 at 23:09 UTC

🐞 Bug fixes

  • implement preview features flag (#178)
  • correct object array lengt allocation for java.lang.reflect.Array.newArray(Ljava/lang/Class;I)Ljava/lang/Object; (#177)
  • correct minimum value handling for ineg and lneg instructions (#176)
  • implement java.lang.ProcessHandleImpl.getCurrentPid0()J (#175)
  • correct exception handling by translating ranges to/from bytes/instructions (#172)
  • implement numerous jdk.internal.misc.Unsafe get<type>() and put<type>() methods (#171)
  • implement jdk.internal.misc.Unsafe.objectFieldOffset0(Ljava/lang/reflect/Field;)J (#170)
  • correct java.lang.Class.getDeclaredFields0(Z)[Ljava/lang/reflect/Field; to work with latest Java versions (#169)
  • add properties to jdk.internal.util.SystemProps$Raw.vmProperties()[Ljava/lang/String; (#168)
  • correct line number offsets (#167)
  • implement java.lang.String.intern()Ljava/lang/String; (#166)
  • implement java.util.concurrent.atomic.AtomicLong.VMSupportsCS8()Z (#165)
  • implement java.lang.Float.intBitsToFloat(I)F (#164)
  • implement java.lang.ClassLoader methods (#161)
  • correct getCallerClass() to return null instead of void (#159)

📖 Documentation

  • update documentation links to point to latest jvm version (#174)

📦 Build system

  • update dependencies (#158)

🛠️ Other improvements

  • improve todo docs (#163)
  • refactor native methods into a module hierarchy (#162)
  • add System.getSecurityManager() and System.setSecurityManager() implementations (#160)