Files
scriptc/docs
Malte UblandClaude Opus 5.5 ae531a06ce Keep the compatibility paths out of the always-linked runtime units
The zero-cost gate showed every benchmark executable changing: the new
string literals and floating-point constants grew the merged constant
pools of scr_json.o and scr_lib.o, which every program linking those units
carries, and edits to scr_dyn_fn_get and scr_dyn_has_own changed code the
typed benchmarks reach.

- The builtin constructor values, the inherited Object.prototype members
  and the stored timer functions move to scr_dyn_invoke.c, which links only
  into programs that use them: the frontend now selects that unit for
  dyn.globalConstructor, dyn.builtinFunction, dyn.objectTag and
  constant-key reads of constructor/valueOf/toString/hasOwnProperty/
  propertyIsEnumerable. Those reads call scr_dyn_inherited_read after the
  ordinary read (and scr_dyn_object_prototype_member before it, since the
  ordinary read fences Object.prototype itself); computed-key reads keep
  their old answer. The unit's new strings live in their own section so
  programs linking it for other reasons keep their bytes.
- scr_date_parse_get_time keeps its exact body; Date.parse and
  new Date(string) call the new scr_date_parse (bounded grammars, then
  V8's parser), and JavaScript `new Date(value)` calls
  scr_dyn_native_date_new_value, so fs.Stats dates are untouched. The
  parser and UTC(t) avoid new pooled constants.
- Object.prototype.toString's "[object Error]" moves to
  scr_dyn_object_tag_of; scr_json.c is unchanged.
- Calling or constructing through stored constructor values and
  own-property checks on Object.prototype itself are not supported in
  this change (they would touch shared code).

Also pins the IMF-fixdate (cookie Expires) parse and Date#toUTCString
round-trip in the corpus.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 14:49:14 -07:00
..
2026-07-22 18:08:04 -05:00
2026-10-02 00:58:25 -05:00
2026-10-02 00:58:25 -05:00
2026-07-22 18:08:04 -05:00
2026-07-22 18:08:04 -05:00