Download Latest Version v0.4.5 source code.zip (32.9 MB) Google Add to Preferred Sources
Home / v0.4.5
Name Modified Size InfoDownloads / Week
Parent folder
scriptc-0.4.5-linux-x64-musl.tar.gz 2026-10-25 104.3 MB
scriptc-0.4.5-win32-x64-msvc.tar.gz 2026-10-25 117.9 MB
scriptc-0.4.5-cli.profdata.gz 2026-10-25 1.9 MB
scriptc-0.4.5-darwin-arm64.tar.gz 2026-10-25 98.0 MB
scriptc-0.4.5-darwin-x64.tar.gz 2026-10-25 101.9 MB
scriptc-0.4.5-linux-arm64-gnu.tar.gz 2026-10-25 112.1 MB
scriptc-0.4.5-linux-arm64-musl.tar.gz 2026-10-25 99.8 MB
scriptc-0.4.5-linux-x64-gnu.tar.gz 2026-10-25 116.5 MB
SHA256SUMS 2026-10-25 710 Bytes
surface-manifest.json 2026-10-25 187.0 kB
README.md 2026-10-25 3.4 kB
v0.4.5 source code.tar.gz 2026-10-25 25.1 MB
v0.4.5 source code.zip 2026-10-25 32.9 MB
Totals: 13 Items   810.5 MB 0

0.4.5

Highlights

  • Fixes:
  • Release builds read a typed array's length without a header load that could read a freed view.
  • net.Socket write() returns Node's backpressure boolean and fires 'drain'.
  • Super calls in JavaScript method values call the declared base method.
  • Calling a non-function through an asserted callee throws Node's TypeError.
  • Faster programs:
  • Exceptions propagate by unwinding from directly called functions on Linux, instead of status checks after every call.
  • Typed-array loops prove their bounds and keep their views disjoint in more cases, including views over shared memory in worker programs; integer loops stay in integers across nested counted loops, pure helper calls, powers of two and byte reads.
  • Lone array callbacks run as loops with their bodies inlined, and row sums run two rows per pass.
  • Number-key maps look keys up on their integer view and write updates through the entry the read found; small number-key maps use a direct index.
  • Strings: base64 decodes eight characters at a time; Buffers fill, swap byte order and decode utf16le a word at a time; readline splits input in one scan; string scans over non-ASCII strings use their UTF-16 units.
  • Untyped code: property caches also cache absent properties, object literal members go through the store caches, calls on plain arrays skip the method ladder, and dynamic values dispose without key-cache walks.
  • JSON parses into discriminated unions, and dynamic values convert into nested unions, in one pass.
  • BigInt division settles quotients from the top limbs, and limb shifts are vectorized.
  • Faster builds:
  • Function bodies are emitted on up to eight workers, including in dev builds, and repeated work in LLVM module emission is cut.
  • Linux executables link with lld when the driver finds it, and unchanged executables are reused without selecting the runtime pack.
  • Dev builds reuse their frontend output after edits that keep token positions, and unchanged frontend inputs are checked by file identity before hashing.
  • Lowering fetches only the syntax trees it reads, and the large compiler tables are built on first use.
  • Release builds of the native compiler use a profile collected on the release commit.
  • Type checking can use a tsc-ts server shared by later builds (opt-in).
  • Node.js parity:
  • Crypto: RSA key generation lengths, RSA-PSS keys, encrypted private keys, X509Certificate fields and methods, and TLS certificates and tls.Server contexts.
  • zlib: Brotli compression and decompression.
  • Dates are mutable objects with Node's setters and conversions; URL hosts and paths parse as the URL Standard does, including non-ASCII hosts with UTS [#46].
  • Math, JSON and Reflect are real objects in JavaScript; objects can inherit from JavaScript class prototypes; typed arrays held as untyped values support named properties and Symbol.species.
  • Error messages: JSON.parse syntax errors use V8's messages and positions; Object.getPrototypeOf of an Error answers Error.prototype.
  • util.inspect of dynamic classes, functions and %o arguments, and Symbol.toStringTag fields and getters, match Node.
  • npm packages: more npm and CommonJS dependencies compile statically, including namespace-style packages with guarded declarations and var exports, and untyped Maps, Sets and arrays are typed from their uses.
Source: README.md, updated 2026-10-25