软件上的 Binstock

  • Project Status on February 28: It's the 3½-year point in the construction of [Jacobin] written in go. A six-month anniversary led to updating the project status and publishing code base numbers.

    • What Just Done: Spent six months cleaning the code base by rewriting two significant subsystems - the interpreter and the logging/tracing framework. The original interpreter with a 203-case switch statement was converted to a dispatch table with function pointers. The initial logging system with granularity levels was replaced by a new tracing framework based on topics. Expanded the port of JDK library native methods to go and contributed a correction to the JVM specification document.
    • What's Next: Redesigned key systems and cleaned code, ready to tackle the last two unimplemented bytecodes (finish INVOKEINTERFACE and begin INVOKEDYNAMIC), then fill in features for running third-party benchmark suites. Aim to run a full suite of benchmarks by the end of the year and start working on visibility and performance.
    • By the Numbers: Rewrite and refactoring slightly shrank the codebase. Committed 721 times to the [GitHub repository]. Jacobin now has 44,862 lines (including code, comments, and blank lines), and the Jacotest suite has 23,421 lines, making the total 68,283 lines. Run 836 unit tests and 180 end-to-end tests in the Jacotest suite with every non-trivial commit, totaling 1,016 tests. The unit tests have 22,684 lines, and the total test code is 46,105 lines, which is 207% the size of the production code (compared to 223% six months ago).
    • Show Support: Want to support Jacobin JVM? Give a ⭐ on [GitHub]. For more frequent updates, follow [platypusguy] on Bluesky.
阅读 8
0 条评论