From 3afcc2c6eb07aeb4578b45847be9e34a9adbd996 Mon Sep 17 00:00:00 2001 From: Daniel Lehmann Date: Sat, 31 Oct 2026 03:48:39 +0100 Subject: [PATCH] j2cl-box2d: update J2CL and drop the wasm:js-string stubs This raises the minimum browser versions for JetStream's Wasm workloads to Safari 26.2 (was 18.4) and Firefox 134 (was 131); Chrome stays at 137. J2CL's output imports JS String Builtins ("wasm:js-string") and has no JS fallback. Build with J2CL 6a6e6d7d5d (October 2026, was fbbe1e6db2 from August 2025), which also brings a newer Binaryen (6de3a0b, after v133). - J2CL's Box2D benchmark has the fixed run-count API upstream now (9e5e5b5697), so add-fixed-run-count-api.patch is gone. The other Box2D changes since fbbe1e6db2 are style edits. - build.sh no longer adds the 7 "wasm:js-string" stub imports to the entry JS (the FIXME for Safari). The workload never called them; they only let the module instantiate in engines without JS String Builtins, which Safari ships since 26.2. - build.sh logs the date in UTC, like the other workloads, and clones quietly. Box2dBenchmark_j2wasm_binary.wasm shrinks from 81,878 to 75,213 bytes. Score change, d8 (15.9.60) / jsc (325217) / SpiderMonkey (160.0b3) (each test alone in a fresh shell, 6 rounds): +4.2% / +3.7% / +5.1%. Part of #277. --- .../add-fixed-run-count-api.patch | 77 --- workloads/j2cl-box2d-wasm/build.log | 5 +- workloads/j2cl-box2d-wasm/build.sh | 12 +- ...Benchmark_j2wasm_binary.binaryen.symbolmap | 505 +++++++++--------- .../build/Box2dBenchmark_j2wasm_binary.wasm | Bin 81878 -> 75213 bytes .../build/Box2dBenchmark_j2wasm_entry.js | 47 +- 6 files changed, 297 insertions(+), 349 deletions(-) delete mode 100644 workloads/j2cl-box2d-wasm/add-fixed-run-count-api.patch diff --git a/workloads/j2cl-box2d-wasm/add-fixed-run-count-api.patch b/workloads/j2cl-box2d-wasm/add-fixed-run-count-api.patch deleted file mode 100644 index dcea4c32..00000000 --- a/workloads/j2cl-box2d-wasm/add-fixed-run-count-api.patch +++ /dev/null @@ -1,77 +0,0 @@ -diff --git a/benchmarking/java/com/google/j2cl/benchmarking/benchmarks.bzl b/benchmarking/java/com/google/j2cl/benchmarking/benchmarks.bzl -index 04c4c72007..601cafdcb5 100644 ---- a/benchmarking/java/com/google/j2cl/benchmarking/benchmarks.bzl -+++ b/benchmarking/java/com/google/j2cl/benchmarking/benchmarks.bzl -@@ -95,6 +95,7 @@ def benchmark(name, deps = [], data = [], jvm_only = False, perfgate_test_tags = - "%s.%sLauncher#execute" % (benchmark_java_package, name), - "%s.%sLauncher#prepareForRunOnce" % (benchmark_java_package, name), - "%s.%sLauncher#runOnce" % (benchmark_java_package, name), -+ "%s.%sLauncher#runFixedCount" % (benchmark_java_package, name), - ], - ) - -diff --git a/benchmarking/java/com/google/j2cl/benchmarking/templates.bzl b/benchmarking/java/com/google/j2cl/benchmarking/templates.bzl -index b75b8567dd..8e083f9aa2 100644 ---- a/benchmarking/java/com/google/j2cl/benchmarking/templates.bzl -+++ b/benchmarking/java/com/google/j2cl/benchmarking/templates.bzl -@@ -34,6 +34,17 @@ public class #benchmarkName#Launcher { - benchmark.run(); - benchmark = null; // Make sure it is only executed once. - } -+ -+ public static void runFixedCount(int count) { -+ AbstractBenchmark bench = new #benchmarkName#(); -+ bench.setupOneTime(); -+ for (int i = 0; i < count; i++) { -+ bench.setup(); -+ bench.run(); -+ bench.tearDown(); -+ } -+ bench.tearDownOneTime(); -+ } - } - """ - -@@ -54,7 +65,12 @@ goog.module('#benchmarkName#_launcher') - - const j2wasm = goog.require('#wasm_module_name#'); - --if (typeof read == 'undefined') { -+if (typeof isJetStreamDriver !== 'undefined') { -+ // Running as a JetStream benchmark; expose "instantiateAsync" to JetStream driver. -+ goog.global['instantiateAsync'] = async function(buffer) { -+ return j2wasm.instantiate(await j2wasm.compile(buffer)); -+ } -+} else if (typeof read == 'undefined') { - // Running on browser, fetch the file from server. - j2wasm.instantiateStreaming("#wasm_url#") - .then((instance) => Object.assign(goog.global, instance.exports)); -diff --git a/build_defs/internal_do_not_use/j2wasm_application.bzl b/build_defs/internal_do_not_use/j2wasm_application.bzl -index 36d3abaacd..211319deb9 100644 ---- a/build_defs/internal_do_not_use/j2wasm_application.bzl -+++ b/build_defs/internal_do_not_use/j2wasm_application.bzl -@@ -50,6 +50,15 @@ async function compileStreaming(urlOrResponse) { - return WebAssembly.compileStreaming(response, options); - } - -+/** -+ * @param {!BufferSource} moduleBuffer -+ * @return {!Promise} -+ * @suppress {checkTypes} Externs are missing options parameter (phase 2) -+ */ -+async function compile(moduleBuffer) { -+ return WebAssembly.compile(moduleBuffer, options); -+} -+ - /** - * @param {!WebAssembly.Module} module - * @return {!Promise} -@@ -91,7 +100,7 @@ function prepareImports(module) { - return imports; - } - --exports = {compileStreaming, instantiate, instantiateStreaming, instantiateBlocking}; -+exports = {compile, compileStreaming, instantiate, instantiateStreaming, instantiateBlocking}; - """ - - def _impl_j2wasm_application(ctx): diff --git a/workloads/j2cl-box2d-wasm/build.log b/workloads/j2cl-box2d-wasm/build.log index 8ab7a6ab..11a3f8c4 100644 --- a/workloads/j2cl-box2d-wasm/build.log +++ b/workloads/j2cl-box2d-wasm/build.log @@ -1,5 +1,4 @@ -Built on 2025-08-20 17:36:29+02:00 -Cloning into 'j2cl'... -fbbe1e6db2 [J2KT] Remove dangling readable files which were added by accident. +Built on 2026-10-28T22:42:00Z +6a6e6d7d5d Model java.lang.Enum super calls with the canonical implicit super call target. Copying generated files into build/ Build success diff --git a/workloads/j2cl-box2d-wasm/build.sh b/workloads/j2cl-box2d-wasm/build.sh index 61cc3360..c75cd579 100755 --- a/workloads/j2cl-box2d-wasm/build.sh +++ b/workloads/j2cl-box2d-wasm/build.sh @@ -1,5 +1,5 @@ #!/bin/bash -J2CL_REV=fbbe1e6db2928179f5e747ae382266beb3d2db38 +J2CL_REV=6a6e6d7d5d1278f0bcca60794882e0f0211e44d1 set -eo pipefail # Cleanup old files. @@ -7,14 +7,13 @@ rm -rf build/ rm -rf j2cl/ BUILD_LOG="$(realpath build.log)" -echo -e "Built on $(date --rfc-3339=seconds)" | tee "$BUILD_LOG" +echo -e "Built on $(date -u '+%Y-%m-%dT%H:%M:%SZ')" | tee "$BUILD_LOG" # Build the benchmark from source. -git clone https://github.com/google/j2cl.git |& tee -a "$BUILD_LOG" +git clone -q https://github.com/google/j2cl.git 2>&1 | tee -a "$BUILD_LOG" pushd j2cl/ -git checkout $J2CL_REV +git checkout -q $J2CL_REV git log -1 --oneline | tee -a "$BUILD_LOG" -git apply ../add-fixed-run-count-api.patch | tee -a "$BUILD_LOG" BUILD_SRC_DIR="benchmarking/java/com/google/j2cl/benchmarks/octane/" pushd "$BUILD_SRC_DIR" bazel build //benchmarking/java/com/google/j2cl/benchmarks/octane:Box2dBenchmark_local-j2wasm-v8 @@ -25,9 +24,6 @@ echo "Copying generated files into build/" | tee -a "$BUILD_LOG" mkdir -p build/ | tee -a "$BUILD_LOG" BUILD_OUT_DIR="j2cl/bazel-bin/$BUILD_SRC_DIR" cp $BUILD_OUT_DIR/Box2dBenchmark_j2wasm_entry.js build/ | tee -a "$BUILD_LOG" -# FIXME: Remove this workaround, once Safari/JSC implements JS-string builtins. -# Since these imports/builtins are never called in the workload, they should not have any effect on runtime. -sed -i 's/imports:/"wasm:js-string":{fromCharCodeArray:unused_import,concat:unused_import,equals:unused_import,compare:unused_import,length:unused_import,charCodeAt:unused_import,substring:unused_import},imports:/g' build/Box2dBenchmark_j2wasm_entry.js cp $BUILD_OUT_DIR/Box2dBenchmark_j2wasm_binary.wasm build/ | tee -a "$BUILD_LOG" cp $BUILD_OUT_DIR/Box2dBenchmark_j2wasm_binary.binaryen.symbolmap build/ | tee -a "$BUILD_LOG" echo "Build success" | tee -a "$BUILD_LOG" diff --git a/workloads/j2cl-box2d-wasm/build/Box2dBenchmark_j2wasm_binary.binaryen.symbolmap b/workloads/j2cl-box2d-wasm/build/Box2dBenchmark_j2wasm_binary.binaryen.symbolmap index 1cd86c1e..f5beb5ac 100755 --- a/workloads/j2cl-box2d-wasm/build/Box2dBenchmark_j2wasm_binary.binaryen.symbolmap +++ b/workloads/j2cl-box2d-wasm/build/Box2dBenchmark_j2wasm_binary.binaryen.symbolmap @@ -2,250 +2,263 @@ 1:m_lastIndexOf__java_lang_String_NativeString__int__int@java.lang.String.NativeString 2:m_replace__javaemul_internal_NativeRegExp__java_lang_String_NativeString__java_lang_String_NativeString@java.lang.String.NativeString 3:m_performanceNow__double@java.lang.System -4:m_createJsError__java_lang_String_NativeString__javaemul_internal_ThrowableUtils_JsObject@javaemul.internal.Exceptions -5:m___java_lang_String_NativeString__java_lang_String_NativeString@javaemul.internal.NativeRegExp -6:m_generateClassName__java_lang_String_NativeString@java.lang.Class -7:m_fromNumber__int__int__java_lang_String_NativeString@java.lang.IntegralToString +4:m_createJsError__java_lang_String__javaemul_internal_ThrowableUtils_JsObject@javaemul.internal.Exceptions +5:m___java_lang_String__java_lang_String@javaemul.internal.NativeRegExp +6:m_generateClassName__java_lang_String@java.lang.Class +7:m_fromNumber__int__int__java_lang_String@java.lang.IntegralToString 8:m_sin__double__double@java.lang.Math -9:m_fromNumber__double__java_lang_String_NativeString@java.lang.RealToString -10:m_fromNumber__float__java_lang_String_NativeString@java.lang.RealToString -11:m_setJavaThrowableImpl__javaemul_internal_ThrowableUtils_JsObject__javaemul_internal_WasmExtern__void@javaemul.internal.ThrowableUtils -12:f___benchmarking_result__com_google_j2cl_benchmarking_framework_BenchmarkExecutor_External__void@com.google.j2cl.benchmarking.framework.BenchmarkExecutor.Global -13:m_nativeGc__void@com.google.j2cl.benchmarking.framework.Platform -14:fromCharCodeArray -15:concat -16:equals -17:compare -18:length -19:charCodeAt -20:substring -21:m_hashCode__int@java.lang.Object -22:m_toString__java_lang_String@java.lang.Object -23:m_nanoTime__long@java.lang.System -24:m_privateInitError__javaemul_internal_ThrowableUtils_JsObject__void_$pp_java_lang@java.lang.Throwable -25:m_toString__java_lang_String@java.lang.Throwable -26:m_hasNext__boolean@java.util.ArrayListBase.1 -27:m_next__java_lang_Object@java.util.ArrayListBase.1 -28:$getClassImpl__java_lang_Class@java.util.ArrayListBase.1 -29:m_mergeSort__arrayOf_java_lang_Object__arrayOf_java_lang_Object__int__int__int__java_util_Comparator__void@javaemul.internal.MergeSorter -30:m_getName__java_lang_String@java.lang.Class -31:m_stripToLastOccurrenceOf__java_lang_String__java_lang_String__java_lang_String@java.lang.Class -32:m_toString__java_lang_String@java.lang.Class -33:m_getClassName__java_lang_String_$p_java_lang_Class@java.lang.Class -34:m_repeatString__java_lang_String__int__java_lang_String@java.lang.Class -35:$getClassImpl__java_lang_Class@java.lang.Class -36:m_intToString_$private__int__int__java_lang_String@java.lang.IntegralToString -37:m_doubleToString__double__java_lang_String@java.lang.RealToString -38:m_valueOf__float__java_lang_String@java.lang.String -39:m_hashCode__int@java.lang.String -40:m_toString__java_lang_String@java.lang.String -41:m_compareTo__java_lang_Object__int@java.lang.String -42:$getClassImpl__java_lang_Class@java.lang.String -43:m_hashCode__int@java.util.HashMap.HashMapEntry -44:m_toString__java_lang_String@java.util.HashMap.HashMapEntry -45:$getClassImpl__java_lang_Class@java.util.HashMap.HashMapEntry -46:m_hasNext__boolean@java.util.HashMap.HashIterator -47:m_hasNext__boolean@java.util.LinkedHashMap.LinkedHashIterator -48:m_cloneImpl__java_lang_Object__int__int__java_lang_Object@javaemul.internal.ArrayHelper -49:m_createRecursively__arrayOf_int__int__int__java_lang_Object@javaemul.internal.WasmArray -50:m_hashCode__int@java.lang.Double -51:m_toString__java_lang_String@java.lang.Double -52:m_compareTo__java_lang_Object__int@java.lang.Double -53:$getClassImpl__java_lang_Class@java.lang.Double -54:m_valueOf__int__java_lang_Integer@java.lang.Integer -55:m_hashCode__int@java.lang.Integer -56:m_toString__java_lang_String@java.lang.Integer -57:m_compareTo__java_lang_Object__int@java.lang.Integer -58:$getClassImpl__java_lang_Class@java.lang.Integer -59:m_hashCode__int@java.lang.Long -60:m_toString__java_lang_String@java.lang.Long -61:m_compareTo__java_lang_Object__int@java.lang.Long -62:$getClassImpl__java_lang_Class@java.lang.Long -63:m_get__java_lang_Object__java_lang_Object@java.util.Collections.EmptyMap -64:m_hasNext__boolean@java.util.LinkedList.ListIteratorImpl -65:m_next__java_lang_Object@java.util.LinkedList.ListIteratorImpl -66:$getClassImpl__java_lang_Class@java.util.LinkedList.ListIteratorImpl -67:m_secondaryHash_$private__int__int@java.util.HashMap -68:m_get__java_lang_Object__java_lang_Object@java.util.HashMap -69:m_remove__java_lang_Object__java_lang_Object@java.util.HashMap -70:m_next__java_lang_Object@java.util.HashMap.EntryIterator -71:$getClassImpl__java_lang_Class@java.util.HashMap.EntryIterator -72:$getClassImpl__java_lang_Class@java.util.LinkedHashMap.LinkedEntry -73:m_next__java_lang_Object@java.util.LinkedHashMap.EntryIterator -74:$getClassImpl__java_lang_Class@java.util.LinkedHashMap.EntryIterator -75:$getClassImpl__java_lang_Class@javaemul.internal.WasmArray.OfObject -76:$create__@java.lang.AssertionError -77:$getClassImpl__java_lang_Class@java.lang.AssertionError -78:m_get__java_lang_Object__java_lang_Object@java.util.LinkedHashMap -79:$getClassImpl__java_lang_Class@java.lang.IllegalArgumentException -80:m_get__int__java_lang_Object@java.util.AbstractSequentialList -81:m_iterator__java_util_Iterator@java.util.AbstractSequentialList -82:m_remove__int__java_lang_Object@java.util.AbstractSequentialList -83:m_get__int__java_lang_Object@java.util.ArrayListBase -84:m_iterator__java_util_Iterator@java.util.ArrayListBase -85:m_remove__int__java_lang_Object@java.util.ArrayListBase -86:m_size__int@java.util.ArrayListBase -87:$getClassImpl__java_lang_Class@java.lang.ArrayIndexOutOfBoundsException -88:$ctor__void_$p_java_util_LinkedList@java.util.LinkedList -89:m_add__java_lang_Object__boolean@java.util.LinkedList -90:m_listIterator__int__java_util_ListIterator@java.util.LinkedList -91:m_size__int@java.util.LinkedList -92:m_add__java_lang_Object__boolean@java.util.ArrayList -93:m_combine__org_jbox2d_collision_AABB__org_jbox2d_collision_AABB__void@org.jbox2d.collision.AABB -94:m_toString__java_lang_String@org.jbox2d.collision.AABB -95:$getClassImpl__java_lang_Class@org.jbox2d.collision.AABB -96:m_clipSegmentToLine_$private__arrayOf_org_jbox2d_collision_Collision_ClipVertex__arrayOf_org_jbox2d_collision_Collision_ClipVertex__org_jbox2d_common_Vec2__float__int__int@org.jbox2d.collision.Collision -97:m_edgeSeparation__org_jbox2d_collision_shapes_PolygonShape__org_jbox2d_common_Transform__int__org_jbox2d_collision_shapes_PolygonShape__org_jbox2d_common_Transform__float@org.jbox2d.collision.Collision -98:m_findMaxSeparation__org_jbox2d_collision_Collision_EdgeResults__org_jbox2d_collision_shapes_PolygonShape__org_jbox2d_common_Transform__org_jbox2d_collision_shapes_PolygonShape__org_jbox2d_common_Transform__void@org.jbox2d.collision.Collision -99:m_set__org_jbox2d_collision_Collision_ClipVertex__void@org.jbox2d.collision.Collision.ClipVertex -100:$getClassImpl__java_lang_Class@org.jbox2d.collision.Collision.ClipVertex -101:m_set__org_jbox2d_collision_Distance_SimplexVertex__void@org.jbox2d.collision.Distance.SimplexVertex -102:$getClassImpl__java_lang_Class@org.jbox2d.collision.Distance.SimplexVertex -103:$create__@org.jbox2d.collision.Distance.SimplexCache -104:m_getClosestPoint__org_jbox2d_common_Vec2__void@org.jbox2d.collision.Distance.Simplex -105:m_getMetric__float@org.jbox2d.collision.Distance.Simplex -106:$create__@org.jbox2d.collision.Distance.DistanceProxy -107:m_set__org_jbox2d_collision_shapes_Shape__int__void@org.jbox2d.collision.Distance.DistanceProxy -108:m_getSupport__org_jbox2d_common_Vec2__int@org.jbox2d.collision.Distance.DistanceProxy -109:$create__@org.jbox2d.collision.DistanceInput -110:$create__@org.jbox2d.collision.Manifold -111:$getClassImpl__java_lang_Class@org.jbox2d.collision.ManifoldPoint -112:m_evaluate__int__int__float__float@org.jbox2d.collision.SeparationFunction -113:m_bufferMove__int__void@org.jbox2d.collision.broadphase.BroadPhase -114:m_allocateNode__org_jbox2d_collision_broadphase_DynamicTreeNode_$p_org_jbox2d_collision_broadphase_DynamicTree@org.jbox2d.collision.broadphase.DynamicTree -115:m_freeNode__org_jbox2d_collision_broadphase_DynamicTreeNode__void_$p_org_jbox2d_collision_broadphase_DynamicTree@org.jbox2d.collision.broadphase.DynamicTree -116:m_insertLeaf__int__void_$p_org_jbox2d_collision_broadphase_DynamicTree@org.jbox2d.collision.broadphase.DynamicTree -117:m_balance__org_jbox2d_collision_broadphase_DynamicTreeNode__org_jbox2d_collision_broadphase_DynamicTreeNode_$p_org_jbox2d_collision_broadphase_DynamicTree@org.jbox2d.collision.broadphase.DynamicTree -118:m_push__org_jbox2d_collision_broadphase_DynamicTreeNode__void@org.jbox2d.collision.broadphase.DynamicTree.TreeNodeStack -119:$create__int@org.jbox2d.collision.broadphase.DynamicTreeNode -120:$getClassImpl__java_lang_Class@org.jbox2d.collision.broadphase.DynamicTreeNode -121:m_compareTo__java_lang_Object__int@org.jbox2d.collision.broadphase.Pair -122:$getClassImpl__java_lang_Class@org.jbox2d.collision.broadphase.Pair -123:m_toString__java_lang_String@org.jbox2d.common.Mat22 -124:m_hashCode__int@org.jbox2d.common.Mat22 -125:$getClassImpl__java_lang_Class@org.jbox2d.common.Mat22 -126:m_hashCode__int@org.jbox2d.common.Mat33 -127:$getClassImpl__java_lang_Class@org.jbox2d.common.Mat33 -128:m_toString__java_lang_String@org.jbox2d.common.Rot -129:m_set__float__org_jbox2d_common_Rot@org.jbox2d.common.Rot -130:m_mulToOutUnsafe__org_jbox2d_common_Rot__org_jbox2d_common_Vec2__org_jbox2d_common_Vec2__void@org.jbox2d.common.Rot -131:m_mulTransUnsafe__org_jbox2d_common_Rot__org_jbox2d_common_Vec2__org_jbox2d_common_Vec2__void@org.jbox2d.common.Rot -132:$getClassImpl__java_lang_Class@org.jbox2d.common.Rot -133:m_normalize__void@org.jbox2d.common.Sweep -134:m_set__org_jbox2d_common_Sweep__org_jbox2d_common_Sweep@org.jbox2d.common.Sweep -135:m_getTransform__org_jbox2d_common_Transform__float__void@org.jbox2d.common.Sweep -136:m_mulToOut__org_jbox2d_common_Transform__org_jbox2d_common_Vec2__org_jbox2d_common_Vec2__void@org.jbox2d.common.Transform -137:m_mulToOutUnsafe__org_jbox2d_common_Transform__org_jbox2d_common_Vec2__org_jbox2d_common_Vec2__void@org.jbox2d.common.Transform -138:m_normalize__float@org.jbox2d.common.Vec2 -139:m_toString__java_lang_String@org.jbox2d.common.Vec2 -140:m_hashCode__int@org.jbox2d.common.Vec2 -141:$getClassImpl__java_lang_Class@org.jbox2d.common.Vec2 -142:m_toString__java_lang_String@org.jbox2d.common.Vec3 -143:m_hashCode__int@org.jbox2d.common.Vec3 -144:$getClassImpl__java_lang_Class@org.jbox2d.common.Vec3 -145:m_createFixture__org_jbox2d_dynamics_FixtureDef__org_jbox2d_dynamics_Fixture@org.jbox2d.dynamics.Body -146:m_setAwake__boolean__void@org.jbox2d.dynamics.Body -147:m_synchronizeFixtures__void@org.jbox2d.dynamics.Body -148:m_synchronizeTransform__void@org.jbox2d.dynamics.Body -149:m_advance__float__void@org.jbox2d.dynamics.Body -150:$getClassImpl__java_lang_Class@org.jbox2d.dynamics.Body -151:m_findNewContacts__void@org.jbox2d.dynamics.ContactManager -152:m_destroy__org_jbox2d_dynamics_contacts_Contact__void@org.jbox2d.dynamics.ContactManager -153:$getClassImpl__java_lang_Class@org.jbox2d.dynamics.FixtureProxy -154:$create__@org.jbox2d.dynamics.Island -155:m_init__int__int__int__org_jbox2d_callbacks_ContactListener__void@org.jbox2d.dynamics.Island -156:m_addType__org_jbox2d_pooling_IDynamicStack__org_jbox2d_collision_shapes_ShapeType__org_jbox2d_collision_shapes_ShapeType__void_$p_org_jbox2d_dynamics_World@org.jbox2d.dynamics.World -157:m_createBody__org_jbox2d_dynamics_BodyDef__org_jbox2d_dynamics_Body@org.jbox2d.dynamics.World -158:$ctor__org_jbox2d_pooling_IWorldPool__void_$p_org_jbox2d_dynamics_contacts_Contact@org.jbox2d.dynamics.contacts.Contact -159:m_init__org_jbox2d_dynamics_Fixture__int__org_jbox2d_dynamics_Fixture__int__void@org.jbox2d.dynamics.contacts.Contact -160:m_update__org_jbox2d_callbacks_ContactListener__void@org.jbox2d.dynamics.contacts.Contact -161:$create__@org.jbox2d.dynamics.contacts.ContactPositionConstraint -162:$getClassImpl__java_lang_Class@org.jbox2d.dynamics.contacts.ContactPositionConstraint -163:$getClassImpl__java_lang_Class@org.jbox2d.dynamics.contacts.ContactRegister -164:$create__@org.jbox2d.dynamics.contacts.ContactSolver -165:m_init__org_jbox2d_dynamics_contacts_ContactSolver_ContactSolverDef__void@org.jbox2d.dynamics.contacts.ContactSolver -166:m_initializeVelocityConstraints__void@org.jbox2d.dynamics.contacts.ContactSolver -167:m_solveVelocityConstraints__void@org.jbox2d.dynamics.contacts.ContactSolver -168:m_initialize__org_jbox2d_dynamics_contacts_ContactPositionConstraint__org_jbox2d_common_Transform__org_jbox2d_common_Transform__int__void@org.jbox2d.dynamics.contacts.PositionSolverManifold -169:$create__@org.jbox2d.dynamics.contacts.ContactVelocityConstraint -170:$getClassImpl__java_lang_Class@org.jbox2d.dynamics.contacts.ContactVelocityConstraint -171:$getClassImpl__java_lang_Class@org.jbox2d.dynamics.contacts.ContactVelocityConstraint.VelocityConstraintPoint -172:$getClassImpl__java_lang_Class@org.jbox2d.dynamics.contacts.Position -173:$getClassImpl__java_lang_Class@org.jbox2d.dynamics.contacts.Velocity -174:$create__@org.jbox2d.common.Timer -175:m_reset__void@org.jbox2d.common.Timer -176:m_getMilliseconds__float@org.jbox2d.common.Timer -177:$ctor__int__void_$p_org_jbox2d_pooling_normal_MutableStack@org.jbox2d.pooling.normal.MutableStack -178:m_extendStack__int__void_$p_org_jbox2d_pooling_normal_MutableStack@org.jbox2d.pooling.normal.MutableStack -179:m_pop__java_lang_Object@org.jbox2d.pooling.normal.MutableStack -180:$ctor__int__int__void_$p_org_jbox2d_pooling_normal_OrderedStack@org.jbox2d.pooling.normal.OrderedStack -181:$create_$private__@org.jbox2d.collision.shapes.EdgeShape -182:m_computeAABB__org_jbox2d_collision_AABB__org_jbox2d_common_Transform__int__void@org.jbox2d.collision.shapes.EdgeShape -183:$create_$private__@org.jbox2d.collision.shapes.PolygonShape -184:m_computeAABB__org_jbox2d_collision_AABB__org_jbox2d_common_Transform__int__void@org.jbox2d.collision.shapes.PolygonShape -185:m_sin__float__float@org.jbox2d.common.MathUtils -186:m_sinLUT_$private__float__float@org.jbox2d.common.MathUtils -187:m_cos__float__float@org.jbox2d.common.MathUtils -188:m_abs__float__float@org.jbox2d.common.MathUtils -189:m_max__int__int__int@org.jbox2d.common.MathUtils -190:m_min__float__float__float@org.jbox2d.common.MathUtils -191:m_clamp__float__float__float__float@org.jbox2d.common.MathUtils -192:m_distance__org_jbox2d_common_Vec2__org_jbox2d_common_Vec2__float@org.jbox2d.common.MathUtils -193:m_init__org_jbox2d_dynamics_Fixture__int__org_jbox2d_dynamics_Fixture__int__void@org.jbox2d.dynamics.contacts.ChainAndCircleContact -194:m_evaluate__org_jbox2d_collision_Manifold__org_jbox2d_common_Transform__org_jbox2d_common_Transform__void@org.jbox2d.dynamics.contacts.ChainAndCircleContact -195:$getClassImpl__java_lang_Class@org.jbox2d.dynamics.contacts.ChainAndCircleContact -196:$getClassImpl__java_lang_Class@org.jbox2d.dynamics.contacts.ChainAndPolygonContact -197:$getClassImpl__java_lang_Class@org.jbox2d.dynamics.contacts.CircleContact -198:$getClassImpl__java_lang_Class@org.jbox2d.dynamics.contacts.EdgeAndCircleContact -199:m_evaluate__org_jbox2d_collision_Manifold__org_jbox2d_common_Transform__org_jbox2d_common_Transform__void@org.jbox2d.dynamics.contacts.EdgeAndPolygonContact -200:$getClassImpl__java_lang_Class@org.jbox2d.dynamics.contacts.EdgeAndPolygonContact -201:$getClassImpl__java_lang_Class@org.jbox2d.dynamics.contacts.PolygonAndCircleContact -202:m_evaluate__org_jbox2d_collision_Manifold__org_jbox2d_common_Transform__org_jbox2d_common_Transform__void@org.jbox2d.dynamics.contacts.PolygonContact -203:$getClassImpl__java_lang_Class@org.jbox2d.dynamics.contacts.PolygonContact -204:m_newInstance__java_lang_Object@org.jbox2d.pooling.normal.DefaultWorldPool.1 -205:$getClassImpl__java_lang_Class@org.jbox2d.pooling.normal.DefaultWorldPool.1 -206:m_newInstance__java_lang_Object@org.jbox2d.pooling.normal.DefaultWorldPool.2 -207:$getClassImpl__java_lang_Class@org.jbox2d.pooling.normal.DefaultWorldPool.2 -208:m_newInstance__java_lang_Object@org.jbox2d.pooling.normal.DefaultWorldPool.3 -209:$getClassImpl__java_lang_Class@org.jbox2d.pooling.normal.DefaultWorldPool.3 -210:m_newInstance__java_lang_Object@org.jbox2d.pooling.normal.DefaultWorldPool.4 -211:$getClassImpl__java_lang_Class@org.jbox2d.pooling.normal.DefaultWorldPool.4 -212:m_newInstance__java_lang_Object@org.jbox2d.pooling.normal.DefaultWorldPool.5 -213:$getClassImpl__java_lang_Class@org.jbox2d.pooling.normal.DefaultWorldPool.5 -214:m_newInstance__java_lang_Object@org.jbox2d.pooling.normal.DefaultWorldPool.6 -215:$getClassImpl__java_lang_Class@org.jbox2d.pooling.normal.DefaultWorldPool.6 -216:m_newInstance__java_lang_Object@org.jbox2d.pooling.normal.DefaultWorldPool.7 -217:$getClassImpl__java_lang_Class@org.jbox2d.pooling.normal.DefaultWorldPool.7 -218:m_newInstance__java_lang_Object@org.jbox2d.pooling.normal.DefaultWorldPool.8 -219:$getClassImpl__java_lang_Class@org.jbox2d.pooling.normal.DefaultWorldPool.8 -220:m_newInstance__java_lang_Object@org.jbox2d.pooling.normal.DefaultWorldPool.9 -221:$getClassImpl__java_lang_Class@org.jbox2d.pooling.normal.DefaultWorldPool.9 -222:m_newInstance__java_lang_Object@org.jbox2d.pooling.normal.DefaultWorldPool.10 -223:$getClassImpl__java_lang_Class@org.jbox2d.pooling.normal.DefaultWorldPool.10 -224:m_newInstance__java_lang_Object@org.jbox2d.pooling.normal.DefaultWorldPool.11 -225:$getClassImpl__java_lang_Class@org.jbox2d.pooling.normal.DefaultWorldPool.11 -226:m_newInstance__java_lang_Object@org.jbox2d.pooling.normal.DefaultWorldPool.12 -227:$getClassImpl__java_lang_Class@org.jbox2d.pooling.normal.DefaultWorldPool.12 -228:m_newInstance__java_lang_Object@org.jbox2d.pooling.normal.DefaultWorldPool.13 -229:$getClassImpl__java_lang_Class@org.jbox2d.pooling.normal.DefaultWorldPool.13 -230:m_execute_$private__com_google_j2cl_benchmarking_framework_AbstractBenchmark__com_google_j2cl_benchmarking_framework_Clock__int__int__long__com_google_j2cl_benchmarking_framework_BenchmarkResult@com.google.j2cl.benchmarking.framework.BenchmarkExecutor -231:m_log__java_lang_String__arrayOf_java_lang_Object__void@com.google.j2cl.benchmarking.framework.BenchmarkExecutor -232:m_useResult__java_lang_Object__void@com.google.j2cl.benchmarking.framework.BenchmarkExecutor -233:m_utilizeMap__java_util_Map__void@com.google.j2cl.benchmarking.framework.CollectionUtilizer -234:m_utilizeList__java_util_List__void@com.google.j2cl.benchmarking.framework.CollectionUtilizer -235:m_size__int@com.google.j2cl.benchmarking.framework.CollectionUtilizer.1 -236:m_add__java_lang_Object__boolean@com.google.j2cl.benchmarking.framework.CollectionUtilizer.1 -237:m_get__int__java_lang_Object@com.google.j2cl.benchmarking.framework.CollectionUtilizer.1 -238:m_size__int@com.google.j2cl.benchmarking.framework.CollectionUtilizer.2 -239:m_add__java_lang_Object__boolean@com.google.j2cl.benchmarking.framework.CollectionUtilizer.2 -240:m_get__int__java_lang_Object@com.google.j2cl.benchmarking.framework.CollectionUtilizer.2 -241:m_run__java_lang_Object@com.google.j2cl.benchmarks.octane.Box2dBenchmark -242:m_execute__$export__java_lang_String_NativeString@com.google.j2cl.benchmarks.octane.Box2dBenchmarkLauncher -243:m_prepareForRunOnce__$export__void@com.google.j2cl.benchmarks.octane.Box2dBenchmarkLauncher -244:m_runFixedCount__$export__int__void@com.google.j2cl.benchmarks.octane.Box2dBenchmarkLauncher -245:m_runOnce__$export__void@com.google.j2cl.benchmarks.octane.Box2dBenchmarkLauncher -246:byn-split-outlined-A$$clinit__void__@java.lang.Integer.BoxedValues -247:byn-split-outlined-A$$clinit__void__@org.jbox2d.common.MathUtils -248:byn-split-outlined-A$$clinit__void__@org.jbox2d.collision.Distance -249:byn-split-outlined-A$$clinit__void__@org.jbox2d.collision.TimeOfImpact -250:byn-split-outlined-A$$clinit__void__@com.google.j2cl.benchmarking.framework.BenchmarkExecutor +9:m_fromNumber__double__java_lang_String@java.lang.RealToString +10:m_fromNumber__float__java_lang_String@java.lang.RealToString +11:m_isSame__javaemul_internal_WasmExtern__javaemul_internal_WasmExtern__boolean@javaemul.internal.Platform +12:m_setJavaThrowable__javaemul_internal_ThrowableUtils_JsObject__java_lang_Throwable__void@javaemul.internal.ThrowableUtils +13:m_isError__javaemul_internal_ThrowableUtils_JsObject__boolean@javaemul.internal.ThrowableUtils +14:m___@javaemul.internal.ThrowableUtils.NativeError +15:m_hasCaptureStackTraceProperty__boolean@javaemul.internal.ThrowableUtils.NativeError +16:m_captureStackTrace__javaemul_internal_ThrowableUtils_NativeError__void@javaemul.internal.ThrowableUtils.NativeError +17:m_stack__java_lang_String@javaemul.internal.ThrowableUtils.NativeError +18:m_stack__java_lang_String__void@javaemul.internal.ThrowableUtils.NativeError +19:m___benchmarking_result__java_lang_Object__void@com.google.j2cl.benchmarking.framework.BenchmarkExecutor.Global +20:m_nativeGc__void@com.google.j2cl.benchmarking.framework.Platform +21:fromCharCodeArray +22:concat +23:equals +24:compare +25:length +26:charCodeAt +27:substring +28:m_hashCode__int@java.lang.Object +29:m_toString__java_lang_String@java.lang.Object +30:m_getClass__java_lang_Class@java.lang.Object +31:m_nanoTime__long@java.lang.System +32:m_privateInitError__javaemul_internal_ThrowableUtils_JsObject__void_$pp_java_lang@java.lang.Throwable +33:m_fillInStackTrace__java_lang_Throwable@java.lang.Throwable +34:m_toString__java_lang_String@java.lang.Throwable +35:m_hasNext__boolean@java.util.ArrayListBase.1 +36:m_next__java_lang_Object@java.util.ArrayListBase.1 +37:$getClassImpl__java_lang_Class@java.util.ArrayListBase.1 +38:m_compare__java_lang_Object__java_lang_Object__int@java.util.Comparators.NaturalOrderComparator +39:m_toString__java_lang_String@java.util.StringJoiner +40:$getClassImpl__java_lang_Class@java.util.StringJoiner +41:m_mergeSort__arrayOf_java_lang_Object__arrayOf_java_lang_Object__int__int__int__java_util_Comparator__void@javaemul.internal.MergeSorter +42:m_getName__java_lang_String@java.lang.Class +43:m_stripToLastOccurrenceOf__java_lang_String__java_lang_String__java_lang_String@java.lang.Class +44:m_getArrayType__int__java_lang_Class_$pp_java_lang@java.lang.Class +45:m_toString__java_lang_String@java.lang.Class +46:m_getClassName__java_lang_String_$p_java_lang_Class@java.lang.Class +47:m_repeatString__java_lang_String__int__java_lang_String@java.lang.Class +48:$getClassImpl__java_lang_Class@java.lang.Class +49:m_intToString_$private__int__int__java_lang_String@java.lang.IntegralToString +50:m_doubleToString__double__java_lang_String@java.lang.RealToString +51:m_valueOf__float__java_lang_String@java.lang.String +52:m_valueOf__java_lang_Object__java_lang_String@java.lang.String +53:m_hashCode__int@java.lang.String +54:m_toString__java_lang_String@java.lang.String +55:m_fromJs__java_lang_String_NativeString__java_lang_String@java.lang.String +56:m_compareTo__java_lang_Object__int@java.lang.String +57:$getClassImpl__java_lang_Class@java.lang.String +58:m_hashCode__int@java.util.HashMap.HashMapEntry +59:m_toString__java_lang_String@java.util.HashMap.HashMapEntry +60:$getClassImpl__java_lang_Class@java.util.HashMap.HashMapEntry +61:m_hasNext__boolean@java.util.HashMap.HashIterator +62:m_hasNext__boolean@java.util.LinkedHashMap.LinkedHashIterator +63:m_cloneImpl__java_lang_Object__int__int__java_lang_Object@javaemul.internal.ArrayHelper +64:m_copy_$private__java_lang_Object__int__java_lang_Object__int__int__void@javaemul.internal.ArrayHelper +65:m_createRecursively__arrayOf_int__int__int__java_lang_Object@javaemul.internal.WasmArray +66:m_hashCode__int@java.lang.Double +67:m_toString__java_lang_String@java.lang.Double +68:m_compareTo__java_lang_Object__int@java.lang.Double +69:$getClassImpl__java_lang_Class@java.lang.Double +70:m_valueOf__int__java_lang_Integer@java.lang.Integer +71:m_hashCode__int@java.lang.Integer +72:m_toString__java_lang_String@java.lang.Integer +73:m_compareTo__java_lang_Object__int@java.lang.Integer +74:$getClassImpl__java_lang_Class@java.lang.Integer +75:m_hashCode__int@java.lang.Long +76:m_toString__java_lang_String@java.lang.Long +77:m_compareTo__java_lang_Object__int@java.lang.Long +78:$getClassImpl__java_lang_Class@java.lang.Long +79:m_get__java_lang_Object__java_lang_Object@java.util.Collections.EmptyMap +80:m_hasNext__boolean@java.util.LinkedList.ListIteratorImpl +81:m_next__java_lang_Object@java.util.LinkedList.ListIteratorImpl +82:$getClassImpl__java_lang_Class@java.util.LinkedList.ListIteratorImpl +83:m_secondaryHash_$private__int__int@java.util.HashMap +84:m_get__java_lang_Object__java_lang_Object@java.util.HashMap +85:m_next__java_lang_Object@java.util.HashMap.EntryIterator +86:$getClassImpl__java_lang_Class@java.util.HashMap.EntryIterator +87:$getClassImpl__java_lang_Class@java.util.LinkedHashMap.LinkedEntry +88:m_next__java_lang_Object@java.util.LinkedHashMap.EntryIterator +89:$getClassImpl__java_lang_Class@java.util.LinkedHashMap.EntryIterator +90:$getClassImpl__java_lang_Class@javaemul.internal.WasmArray.OfInt +91:$getClassImpl__java_lang_Class@javaemul.internal.WasmArray.OfObject +92:$create__@java.lang.AssertionError +93:$getClassImpl__java_lang_Class@java.lang.AssertionError +94:$ctor__java_lang_String__void_$p_java_lang_RuntimeException@java.lang.RuntimeException +95:m_get__java_lang_Object__java_lang_Object@java.util.LinkedHashMap +96:$getClassImpl__java_lang_Class@java.lang.IllegalArgumentException +97:m_get__int__java_lang_Object@java.util.AbstractSequentialList +98:m_iterator__java_util_Iterator@java.util.AbstractSequentialList +99:m_remove__int__java_lang_Object@java.util.AbstractSequentialList +100:m_get__int__java_lang_Object@java.util.ArrayListBase +101:m_iterator__java_util_Iterator@java.util.ArrayListBase +102:m_remove__int__java_lang_Object@java.util.ArrayListBase +103:m_size__int@java.util.ArrayListBase +104:$getClassImpl__java_lang_Class@java.lang.ArrayIndexOutOfBoundsException +105:$ctor__void_$p_java_util_LinkedList@java.util.LinkedList +106:m_add__java_lang_Object__boolean@java.util.LinkedList +107:m_listIterator__int__java_util_ListIterator@java.util.LinkedList +108:m_size__int@java.util.LinkedList +109:m_add__java_lang_Object__boolean@java.util.ArrayList +110:m_combine__org_jbox2d_collision_AABB__org_jbox2d_collision_AABB__void@org.jbox2d.collision.AABB +111:m_toString__java_lang_String@org.jbox2d.collision.AABB +112:$getClassImpl__java_lang_Class@org.jbox2d.collision.AABB +113:m_clipSegmentToLine_$private__arrayOf_org_jbox2d_collision_Collision_ClipVertex__arrayOf_org_jbox2d_collision_Collision_ClipVertex__org_jbox2d_common_Vec2__float__int__int@org.jbox2d.collision.Collision +114:m_edgeSeparation__org_jbox2d_collision_shapes_PolygonShape__org_jbox2d_common_Transform__int__org_jbox2d_collision_shapes_PolygonShape__org_jbox2d_common_Transform__float@org.jbox2d.collision.Collision +115:m_findMaxSeparation__org_jbox2d_collision_Collision_EdgeResults__org_jbox2d_collision_shapes_PolygonShape__org_jbox2d_common_Transform__org_jbox2d_collision_shapes_PolygonShape__org_jbox2d_common_Transform__void@org.jbox2d.collision.Collision +116:m_set__org_jbox2d_collision_Collision_ClipVertex__void@org.jbox2d.collision.Collision.ClipVertex +117:$getClassImpl__java_lang_Class@org.jbox2d.collision.Collision.ClipVertex +118:m_set__org_jbox2d_collision_Distance_SimplexVertex__void@org.jbox2d.collision.Distance.SimplexVertex +119:$getClassImpl__java_lang_Class@org.jbox2d.collision.Distance.SimplexVertex +120:$create__@org.jbox2d.collision.Distance.SimplexCache +121:m_getClosestPoint__org_jbox2d_common_Vec2__void@org.jbox2d.collision.Distance.Simplex +122:m_getMetric__float@org.jbox2d.collision.Distance.Simplex +123:$create__@org.jbox2d.collision.Distance.DistanceProxy +124:m_set__org_jbox2d_collision_shapes_Shape__int__void@org.jbox2d.collision.Distance.DistanceProxy +125:m_getSupport__org_jbox2d_common_Vec2__int@org.jbox2d.collision.Distance.DistanceProxy +126:$create__@org.jbox2d.collision.Manifold +127:$getClassImpl__java_lang_Class@org.jbox2d.collision.ManifoldPoint +128:m_evaluate__int__int__float__float@org.jbox2d.collision.SeparationFunction +129:m_bufferMove__int__void@org.jbox2d.collision.broadphase.BroadPhase +130:m_allocateNode__org_jbox2d_collision_broadphase_DynamicTreeNode_$p_org_jbox2d_collision_broadphase_DynamicTree@org.jbox2d.collision.broadphase.DynamicTree +131:m_freeNode__org_jbox2d_collision_broadphase_DynamicTreeNode__void_$p_org_jbox2d_collision_broadphase_DynamicTree@org.jbox2d.collision.broadphase.DynamicTree +132:m_insertLeaf__int__void_$p_org_jbox2d_collision_broadphase_DynamicTree@org.jbox2d.collision.broadphase.DynamicTree +133:m_balance__org_jbox2d_collision_broadphase_DynamicTreeNode__org_jbox2d_collision_broadphase_DynamicTreeNode_$p_org_jbox2d_collision_broadphase_DynamicTree@org.jbox2d.collision.broadphase.DynamicTree +134:m_push__org_jbox2d_collision_broadphase_DynamicTreeNode__void@org.jbox2d.collision.broadphase.DynamicTree.TreeNodeStack +135:$getClassImpl__java_lang_Class@org.jbox2d.collision.broadphase.DynamicTreeNode +136:m_compareTo__java_lang_Object__int@org.jbox2d.collision.broadphase.Pair +137:$getClassImpl__java_lang_Class@org.jbox2d.collision.broadphase.Pair +138:m_toString__java_lang_String@org.jbox2d.common.Mat22 +139:m_hashCode__int@org.jbox2d.common.Mat22 +140:$getClassImpl__java_lang_Class@org.jbox2d.common.Mat22 +141:m_hashCode__int@org.jbox2d.common.Mat33 +142:$getClassImpl__java_lang_Class@org.jbox2d.common.Mat33 +143:m_toString__java_lang_String@org.jbox2d.common.Rot +144:m_set__float__org_jbox2d_common_Rot@org.jbox2d.common.Rot +145:m_mulToOutUnsafe__org_jbox2d_common_Rot__org_jbox2d_common_Vec2__org_jbox2d_common_Vec2__void@org.jbox2d.common.Rot +146:m_mulTransUnsafe__org_jbox2d_common_Rot__org_jbox2d_common_Vec2__org_jbox2d_common_Vec2__void@org.jbox2d.common.Rot +147:$getClassImpl__java_lang_Class@org.jbox2d.common.Rot +148:m_normalize__void@org.jbox2d.common.Sweep +149:m_set__org_jbox2d_common_Sweep__org_jbox2d_common_Sweep@org.jbox2d.common.Sweep +150:m_getTransform__org_jbox2d_common_Transform__float__void@org.jbox2d.common.Sweep +151:m_mulToOut__org_jbox2d_common_Transform__org_jbox2d_common_Vec2__org_jbox2d_common_Vec2__void@org.jbox2d.common.Transform +152:m_mulToOutUnsafe__org_jbox2d_common_Transform__org_jbox2d_common_Vec2__org_jbox2d_common_Vec2__void@org.jbox2d.common.Transform +153:m_normalize__float@org.jbox2d.common.Vec2 +154:m_toString__java_lang_String@org.jbox2d.common.Vec2 +155:m_hashCode__int@org.jbox2d.common.Vec2 +156:$getClassImpl__java_lang_Class@org.jbox2d.common.Vec2 +157:m_toString__java_lang_String@org.jbox2d.common.Vec3 +158:m_hashCode__int@org.jbox2d.common.Vec3 +159:$getClassImpl__java_lang_Class@org.jbox2d.common.Vec3 +160:m_createFixture__org_jbox2d_dynamics_FixtureDef__org_jbox2d_dynamics_Fixture@org.jbox2d.dynamics.Body +161:m_setAwake__boolean__void@org.jbox2d.dynamics.Body +162:m_synchronizeFixtures__void@org.jbox2d.dynamics.Body +163:m_synchronizeTransform__void@org.jbox2d.dynamics.Body +164:m_advance__float__void@org.jbox2d.dynamics.Body +165:$getClassImpl__java_lang_Class@org.jbox2d.dynamics.Body +166:m_findNewContacts__void@org.jbox2d.dynamics.ContactManager +167:m_destroy__org_jbox2d_dynamics_contacts_Contact__void@org.jbox2d.dynamics.ContactManager +168:$getClassImpl__java_lang_Class@org.jbox2d.dynamics.FixtureProxy +169:$create__@org.jbox2d.dynamics.Island +170:m_init__int__int__int__org_jbox2d_callbacks_ContactListener__void@org.jbox2d.dynamics.Island +171:m_addType__org_jbox2d_pooling_IDynamicStack__org_jbox2d_collision_shapes_ShapeType__org_jbox2d_collision_shapes_ShapeType__void_$p_org_jbox2d_dynamics_World@org.jbox2d.dynamics.World +172:m_createBody__org_jbox2d_dynamics_BodyDef__org_jbox2d_dynamics_Body@org.jbox2d.dynamics.World +173:$ctor__org_jbox2d_pooling_IWorldPool__void_$p_org_jbox2d_dynamics_contacts_Contact@org.jbox2d.dynamics.contacts.Contact +174:m_init__org_jbox2d_dynamics_Fixture__int__org_jbox2d_dynamics_Fixture__int__void@org.jbox2d.dynamics.contacts.Contact +175:m_update__org_jbox2d_callbacks_ContactListener__void@org.jbox2d.dynamics.contacts.Contact +176:$create__@org.jbox2d.dynamics.contacts.ContactPositionConstraint +177:$getClassImpl__java_lang_Class@org.jbox2d.dynamics.contacts.ContactPositionConstraint +178:$getClassImpl__java_lang_Class@org.jbox2d.dynamics.contacts.ContactRegister +179:$create__@org.jbox2d.dynamics.contacts.ContactSolver +180:m_init__org_jbox2d_dynamics_contacts_ContactSolver_ContactSolverDef__void@org.jbox2d.dynamics.contacts.ContactSolver +181:m_initializeVelocityConstraints__void@org.jbox2d.dynamics.contacts.ContactSolver +182:m_solveVelocityConstraints__void@org.jbox2d.dynamics.contacts.ContactSolver +183:m_initialize__org_jbox2d_dynamics_contacts_ContactPositionConstraint__org_jbox2d_common_Transform__org_jbox2d_common_Transform__int__void@org.jbox2d.dynamics.contacts.PositionSolverManifold +184:$create__@org.jbox2d.dynamics.contacts.ContactVelocityConstraint +185:$getClassImpl__java_lang_Class@org.jbox2d.dynamics.contacts.ContactVelocityConstraint +186:$getClassImpl__java_lang_Class@org.jbox2d.dynamics.contacts.ContactVelocityConstraint.VelocityConstraintPoint +187:$getClassImpl__java_lang_Class@org.jbox2d.dynamics.contacts.Position +188:$getClassImpl__java_lang_Class@org.jbox2d.dynamics.contacts.Velocity +189:m_getMilliseconds__float@org.jbox2d.common.Timer +190:$ctor__int__void_$p_org_jbox2d_pooling_normal_MutableStack@org.jbox2d.pooling.normal.MutableStack +191:m_extendStack__int__void_$p_org_jbox2d_pooling_normal_MutableStack@org.jbox2d.pooling.normal.MutableStack +192:m_pop__java_lang_Object@org.jbox2d.pooling.normal.MutableStack +193:$ctor__int__int__void_$p_org_jbox2d_pooling_normal_OrderedStack@org.jbox2d.pooling.normal.OrderedStack +194:m_computeAABB__org_jbox2d_collision_AABB__org_jbox2d_common_Transform__int__void@org.jbox2d.collision.shapes.EdgeShape +195:$create_$private__@org.jbox2d.collision.shapes.PolygonShape +196:m_computeAABB__org_jbox2d_collision_AABB__org_jbox2d_common_Transform__int__void@org.jbox2d.collision.shapes.PolygonShape +197:m_sin__float__float@org.jbox2d.common.MathUtils +198:m_sinLUT_$private__float__float@org.jbox2d.common.MathUtils +199:m_cos__float__float@org.jbox2d.common.MathUtils +200:m_abs__float__float@org.jbox2d.common.MathUtils +201:m_max__int__int__int@org.jbox2d.common.MathUtils +202:m_min__float__float__float@org.jbox2d.common.MathUtils +203:m_clamp__float__float__float__float@org.jbox2d.common.MathUtils +204:m_distance__org_jbox2d_common_Vec2__org_jbox2d_common_Vec2__float@org.jbox2d.common.MathUtils +205:m_init__org_jbox2d_dynamics_Fixture__int__org_jbox2d_dynamics_Fixture__int__void@org.jbox2d.dynamics.contacts.ChainAndCircleContact +206:m_evaluate__org_jbox2d_collision_Manifold__org_jbox2d_common_Transform__org_jbox2d_common_Transform__void@org.jbox2d.dynamics.contacts.ChainAndCircleContact +207:$getClassImpl__java_lang_Class@org.jbox2d.dynamics.contacts.ChainAndCircleContact +208:$getClassImpl__java_lang_Class@org.jbox2d.dynamics.contacts.ChainAndPolygonContact +209:$getClassImpl__java_lang_Class@org.jbox2d.dynamics.contacts.CircleContact +210:$getClassImpl__java_lang_Class@org.jbox2d.dynamics.contacts.EdgeAndCircleContact +211:m_evaluate__org_jbox2d_collision_Manifold__org_jbox2d_common_Transform__org_jbox2d_common_Transform__void@org.jbox2d.dynamics.contacts.EdgeAndPolygonContact +212:$getClassImpl__java_lang_Class@org.jbox2d.dynamics.contacts.EdgeAndPolygonContact +213:$getClassImpl__java_lang_Class@org.jbox2d.dynamics.contacts.PolygonAndCircleContact +214:m_evaluate__org_jbox2d_collision_Manifold__org_jbox2d_common_Transform__org_jbox2d_common_Transform__void@org.jbox2d.dynamics.contacts.PolygonContact +215:$getClassImpl__java_lang_Class@org.jbox2d.dynamics.contacts.PolygonContact +216:m_newInstance__java_lang_Object@org.jbox2d.pooling.normal.DefaultWorldPool.1 +217:$getClassImpl__java_lang_Class@org.jbox2d.pooling.normal.DefaultWorldPool.1 +218:m_newInstance__java_lang_Object@org.jbox2d.pooling.normal.DefaultWorldPool.2 +219:$getClassImpl__java_lang_Class@org.jbox2d.pooling.normal.DefaultWorldPool.2 +220:m_newInstance__java_lang_Object@org.jbox2d.pooling.normal.DefaultWorldPool.3 +221:$getClassImpl__java_lang_Class@org.jbox2d.pooling.normal.DefaultWorldPool.3 +222:m_newInstance__java_lang_Object@org.jbox2d.pooling.normal.DefaultWorldPool.4 +223:$getClassImpl__java_lang_Class@org.jbox2d.pooling.normal.DefaultWorldPool.4 +224:m_newInstance__java_lang_Object@org.jbox2d.pooling.normal.DefaultWorldPool.5 +225:$getClassImpl__java_lang_Class@org.jbox2d.pooling.normal.DefaultWorldPool.5 +226:m_newInstance__java_lang_Object@org.jbox2d.pooling.normal.DefaultWorldPool.6 +227:$getClassImpl__java_lang_Class@org.jbox2d.pooling.normal.DefaultWorldPool.6 +228:m_newInstance__java_lang_Object@org.jbox2d.pooling.normal.DefaultWorldPool.7 +229:$getClassImpl__java_lang_Class@org.jbox2d.pooling.normal.DefaultWorldPool.7 +230:m_newInstance__java_lang_Object@org.jbox2d.pooling.normal.DefaultWorldPool.8 +231:$getClassImpl__java_lang_Class@org.jbox2d.pooling.normal.DefaultWorldPool.8 +232:m_newInstance__java_lang_Object@org.jbox2d.pooling.normal.DefaultWorldPool.9 +233:$getClassImpl__java_lang_Class@org.jbox2d.pooling.normal.DefaultWorldPool.9 +234:m_newInstance__java_lang_Object@org.jbox2d.pooling.normal.DefaultWorldPool.10 +235:$getClassImpl__java_lang_Class@org.jbox2d.pooling.normal.DefaultWorldPool.10 +236:m_newInstance__java_lang_Object@org.jbox2d.pooling.normal.DefaultWorldPool.11 +237:$getClassImpl__java_lang_Class@org.jbox2d.pooling.normal.DefaultWorldPool.11 +238:m_newInstance__java_lang_Object@org.jbox2d.pooling.normal.DefaultWorldPool.12 +239:$getClassImpl__java_lang_Class@org.jbox2d.pooling.normal.DefaultWorldPool.12 +240:m_newInstance__java_lang_Object@org.jbox2d.pooling.normal.DefaultWorldPool.13 +241:$getClassImpl__java_lang_Class@org.jbox2d.pooling.normal.DefaultWorldPool.13 +242:m_execute_$private__com_google_j2cl_benchmarking_framework_AbstractBenchmark__com_google_j2cl_benchmarking_framework_Clock__int__int__long__com_google_j2cl_benchmarking_framework_BenchmarkResult@com.google.j2cl.benchmarking.framework.BenchmarkExecutor +243:m_log__java_lang_String__arrayOf_java_lang_Object__void@com.google.j2cl.benchmarking.framework.BenchmarkExecutor +244:m_useResult__java_lang_Object__void@com.google.j2cl.benchmarking.framework.BenchmarkExecutor +245:m_utilizeMap__java_util_Map__void@com.google.j2cl.benchmarking.framework.CollectionUtilizer +246:m_utilizeList__java_util_List__void@com.google.j2cl.benchmarking.framework.CollectionUtilizer +247:m_size__int@com.google.j2cl.benchmarking.framework.CollectionUtilizer.1 +248:m_add__java_lang_Object__boolean@com.google.j2cl.benchmarking.framework.CollectionUtilizer.1 +249:m_get__int__java_lang_Object@com.google.j2cl.benchmarking.framework.CollectionUtilizer.1 +250:m_size__int@com.google.j2cl.benchmarking.framework.CollectionUtilizer.2 +251:m_add__java_lang_Object__boolean@com.google.j2cl.benchmarking.framework.CollectionUtilizer.2 +252:m_get__int__java_lang_Object@com.google.j2cl.benchmarking.framework.CollectionUtilizer.2 +253:m_run__java_lang_Object@com.google.j2cl.benchmarks.octane.Box2dBenchmark +254:$getClassImpl__java_lang_Class@com.google.j2cl.benchmarks.octane.Box2dBenchmark +255:entry_point_execute__java_lang_String@com.google.j2cl.benchmarks.octane.Box2dBenchmarkLauncher +256:entry_point_prepareForRunOnce__void@com.google.j2cl.benchmarks.octane.Box2dBenchmarkLauncher +257:entry_point_runOnce__void@com.google.j2cl.benchmarks.octane.Box2dBenchmarkLauncher +258:entry_point_runFixedCount__int__void@com.google.j2cl.benchmarks.octane.Box2dBenchmarkLauncher +259:byn-split-outlined-A$$clinit__void__@java.lang.Integer.BoxedValues +260:byn-split-outlined-A$$clinit__void__@org.jbox2d.common.MathUtils +261:byn-split-outlined-A$$clinit__void__@org.jbox2d.collision.Distance +262:byn-split-outlined-A$$clinit__void__@org.jbox2d.collision.TimeOfImpact +263:byn-split-outlined-A$$clinit__void__@com.google.j2cl.benchmarking.framework.BenchmarkExecutor diff --git a/workloads/j2cl-box2d-wasm/build/Box2dBenchmark_j2wasm_binary.wasm b/workloads/j2cl-box2d-wasm/build/Box2dBenchmark_j2wasm_binary.wasm index 26c4380c0b9feb2a4b55d12653199dc4717b5e53..e1c45a17b5e6ae968e9e465969fa7c8e0c6447f4 100755 GIT binary patch literal 75213 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

=Ez;kd{X)2(#$eywyQ+*iFKn!f5)u|$ed7EaL} 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 U&DD)()>**R6#h(4tz^^x3$}=almGw# literal 81878 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 ZZ@$oG0hcb}-{Pe;{9n1%YPVgs_#4!MJHP+{ diff --git a/workloads/j2cl-box2d-wasm/build/Box2dBenchmark_j2wasm_entry.js b/workloads/j2cl-box2d-wasm/build/Box2dBenchmark_j2wasm_entry.js index 7dca4248..6fbcffc9 100755 --- a/workloads/j2cl-box2d-wasm/build/Box2dBenchmark_j2wasm_entry.js +++ b/workloads/j2cl-box2d-wasm/build/Box2dBenchmark_j2wasm_entry.js @@ -4,18 +4,35 @@ Copyright The Closure Compiler Authors. SPDX-License-Identifier: Apache-2.0 */ -function g(){this.j=!1;this.h=null;this.l=void 0;this.g=1;this.o=0;this.i=null}function k(a){if(a.j)throw new TypeError("Generator is already running");a.j=!0}g.prototype.m=function(a){this.l=a};function l(a,b){a.i={s:b,u:!0};a.g=a.o}g.prototype.return=function(a){this.i={return:a};this.g=this.o};function m(a){this.g=new g;this.h=a}function n(a,b){k(a.g);var c=a.g.h;if(c)return p(a,"return"in c?c["return"]:function(d){return{value:d,done:!0}},b,a.g.return);a.g.return(b);return q(a)} -function p(a,b,c,d){try{var e=b.call(a.g.h,c);if(!(e instanceof Object))throw new TypeError("Iterator result "+e+" is not an object");if(!e.done)return a.g.j=!1,e;var h=e.value}catch(f){return a.g.h=null,l(a.g,f),q(a)}a.g.h=null;d.call(a.g,h);return q(a)}function q(a){for(;a.g.g;)try{var b=a.h(a.g);if(b)return a.g.j=!1,{value:b.value,done:!1}}catch(c){a.g.l=void 0,l(a.g,c)}a.g.j=!1;if(a.g.i){b=a.g.i;a.g.i=null;if(b.u)throw b.s;return{value:b.return,done:!0}}return{value:void 0,done:!0}} -function r(a){this.next=function(b){k(a.g);a.g.h?b=p(a,a.g.h.next,b,a.g.m):(a.g.m(b),b=q(a));return b};this.throw=function(b){k(a.g);a.g.h?b=p(a,a.g.h["throw"],b,a.g.m):(l(a.g,b),b=q(a));return b};this.return=function(b){return n(a,b)};this[Symbol.iterator]=function(){return this}}function t(a){function b(d){return a.next(d)}function c(d){return a.throw(d)}return new Promise(function(d,e){function h(f){f.done?d(f.value):Promise.resolve(f.value).then(b,c).then(h,e)}h(a.next())})} -function u(a){return t(new r(new m(a)))}var v=this||self;function w(a){return String.fromCodePoint(a).toLowerCase().codePointAt(0)}function x(a){return String.fromCodePoint(a).toUpperCase().codePointAt(0)}function y(a){return String.fromCharCode(a).toLowerCase().charCodeAt(0)}function z(a){return String.fromCharCode(a).toUpperCase().charCodeAt(0)};function A(a,b){console[a](b)};function B(a){return/^\s*[+-]?(NaN|Infinity|((\d+\.?\d*)|(\.\d+))([eE][+-]?\d+)?[dDfF]?)\s*$/.test(a)}function C(a,b){return a%b};function D(a,b){if(a instanceof Object)try{a.__j2wasm$exception=b}catch(c){}}function E(a){var b;return(b=a.__j2wasm$exception)!=null?b:null};function F(a,b){return a.toLowerCase()==b.toLowerCase()}function G(a,b){a=a.toLowerCase();b=b.toLowerCase();return a==b?0:a0;){var a=this.h.pop();if(a in this.j)return a}return null};r.prototype.getNext=r.prototype.i; +function t(a){this.h=new m;this.i=a}function u(a,b){p(a.h);var c=a.h.j;if(c)return v(a,"return"in c?c["return"]:function(d){return{value:d,done:!0}},b,a.h.return);a.h.return(b);return w(a)}function v(a,b,c,d){try{var f=b.call(a.h.j,c);l(f);if(!f.done)return a.h.A=!1,f;var h=f.value}catch(g){return a.h.j=null,q(a.h,g),w(a)}a.h.j=null;d.call(a.h,h);return w(a)} +function w(a){for(;a.h.h;)try{var b=a.i(a.h);if(b)return a.h.A=!1,{value:b.value,done:!1}}catch(c){a.h.m=void 0,q(a.h,c)}a.h.A=!1;if(a.h.i){b=a.h.i;a.h.i=null;if(b.F)throw b.D;return{value:b.return,done:!0}}return{value:void 0,done:!0}} +function x(a){this.next=function(b){p(a.h);a.h.j?b=v(a,a.h.j.next,b,a.h.B):(a.h.B(b),b=w(a));return b};this.throw=function(b){p(a.h);if(a.h.j){var c=a.h.j["throw"];if(c)var d=v(a,c,b,a.h.B);else{b=a.h.j;a.h.j=null;try{b["return"]&&(d=b["return"](),l(d)),q(a.h,new TypeError("The iterator does not provide a 'throw' method."))}catch(f){q(a.h,f)}d=w(a)}}else q(a.h,b),d=w(a);return d};this.return=function(b){return u(a,b)};this[Symbol.iterator]=function(){return this}} +function z(a){function b(d){return a.next(d)}function c(d){return a.throw(d)}return new Promise(function(d,f){function h(g){g.done?d(g.value):Promise.resolve(g.value).then(b,c).then(h,f)}h(a.next())})}function A(a){return z(new x(new t(a)))}function B(){for(var a=Number(this),b=[],c=a;c>>0)}E.prototype.toString=function(a){a=a||10;if(a<2||36>21;if(b==0||b==-1&&(this.i!=0||this.h!=-2097152))return b=F(this),a==10?""+b:b.toString(a);b=14-(a>>2);var c=Math.pow(a,b),d=G(c,c/4294967296);c=H(this,d);d=Math.abs(F(this.add(J(K(c,d)))));var f=a==10?""+d:d.toString(a);f.length>>0>a.i>>>0?1:-1:this.h>a.h?1:-1};function J(a){var b=~a.i+1|0;return G(b,~a.h+!b|0)}E.prototype.add=function(a){var b=this.h>>>16,c=this.h&65535,d=this.i>>>16,f=a.h>>>16,h=a.h&65535,g=a.i>>>16;a=(this.i&65535)+(a.i&65535);g=(a>>>16)+(d+g);d=g>>>16;d+=c+h;b=(d>>>16)+(b+f)&65535;return G((g&65535)<<16|a&65535,b<<16|d&65535)}; +function K(a,b){if(L(a))return a;if(L(b))return b;var c=a.h>>>16,d=a.h&65535,f=a.i>>>16;a=a.i&65535;var h=b.h>>>16,g=b.h&65535,I=b.i>>>16;b=b.i&65535;var M=a*b;var y=(M>>>16)+f*b;var n=y>>>16;y=(y&65535)+a*I;n+=y>>>16;n+=d*b;var D=n>>>16;n=(n&65535)+f*I;D+=n>>>16;n=(n&65535)+a*g;D=D+(n>>>16)+(c*b+d*I+f*g+a*h)&65535;return G((y&65535)<<16|M&65535,D<<16|n&65535)} +function H(a,b){if(L(b))throw Error("division by zero");if(a.h<0){if(N(a,O)){if(N(b,P)||N(b,Q))return O;if(N(b,O))return P;var c=1;if(c==0)c=a;else{var d=a.h;c=c<32?G(a.i>>>c|d<<32-c,d>>c):G(d>>c-32,d>=0?0:-1)}c=H(c,b);d=1;if(d!=0){var f=c.i;c=d<32?G(f<>>32-d):G(0,f<=0;){d=Math.max(1,Math.floor(F(a)/ +F(b)));f=Math.ceil(Math.log(d)/Math.LN2);f=f<=48?1:Math.pow(2,f-48);for(var h=S(d),g=K(h,b);g.h<0||g.compare(a)>0;)d-=f,h=S(d),g=K(h,b);L(h)&&(h=P);c=c.add(h);a=a.add(J(g))}return c}E.prototype.and=function(a){return G(this.i&a.i,this.h&a.h)};E.prototype.or=function(a){return G(this.i|a.i,this.h|a.h)};E.prototype.xor=function(a){return G(this.i^a.i,this.h^a.h)};function S(a){return a>0?a>=0x7fffffffffffffff?aa:new E(a,a/4294967296):a<0?a<=-0x7fffffffffffffff?O:J(new E(-a,-a/4294967296)):R} +function G(a,b){return new E(a,b)}var R=G(0,0),P=G(1,0),Q=G(-1,-1),aa=G(4294967295,2147483647),O=G(0,2147483648);function ba(a){return a.length}function ca(a,b){return a[b]}function da(a,b,c){a[b]=c};function ea(a){return String.fromCodePoint(a).toLowerCase().codePointAt(0)}function fa(a){return String.fromCodePoint(a).toUpperCase().codePointAt(0)}function ha(a){return String.fromCharCode(a).toLowerCase().charCodeAt(0)}function ia(a){return String.fromCharCode(a).toUpperCase().charCodeAt(0)};function ja(a,b){console[a](b)};function ka(a){return/^\s*[+-]?(NaN|Infinity|((\d+\.?\d*)|(\.\d+))([eE][+-]?\d+)?[dDfF]?)\s*$/.test(a)}function la(a,b){return a%b};function ma(a,b){return Object.is(a,b)||a==null&&b==null};function na(a,b){if(a instanceof Object)try{a.__j2wasm$exception=b}catch(c){}}function oa(a){var b;return(b=a.__j2wasm$exception)!=null?b:null}function pa(a){return a instanceof Error};function qa(a){var b=a.apply,c=B.apply(1,arguments);if(!(c instanceof Array)){c=k(c);for(var d,f=[];!(d=c.next()).done;)f.push(d.value);c=f}return b.call(a,null,c)}function ra(a,b){a=a.bind(null,b);a.__j2wasm$adaptor=b;return a}function sa(a){return a.__j2wasm$adaptor||null}function ta(a,b){a.__j2wasm$adaptor=b}function ua(a){if(a==null)return 0;switch(typeof a){case "string":return 1;case "boolean":return 2;case "number":return 3;case "function":return 5;default:return a instanceof E?4:6}};function va(a,b){return a.toLowerCase()==b.toLowerCase()}function wa(a,b){a=a.toLowerCase();b=b.toLowerCase();return a==b?0:a