Update dependency Jint to 4.10.0#1163
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
218ffa1 to
e1d71e6
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
4.9.0→4.10.0Release Notes
sebastienros/jint (Jint)
v4.10.0Overview
Jint 4.10.0 is a performance- and memory-focused release. The bulk of this cycle went into making the interpreter run faster and allocate less, with additional work on CLR interop speed and diagnostics, plus a handful of correctness and spec-compliance fixes.
If you execute the same scripts repeatedly, run interop-heavy workloads, or care about GC pressure, this release should give you a meaningful, no-code-changes-required speedup.
Highlights
Interpreter performance
x++updates via version-gated inline caches (#2507, #2514).FunctionDeclarationInstantiationskipped entirely when there's nothing to do (#2502), lazy constructor.prototypecreation (#2512), and no more per-call closure allocation inEvaluateBody(#2534).evalandnew Functionsources (#2503), and a fix for prepared scripts that were running slower than re-parsed source (#2504).String.prototype.splitwith a string separator (#2519).Reduced allocations & memory footprint
slice/substring/substrresults, extended to bounded-waste substrings (#2506, #2518).RegExpsplit,Iterator.toArray, and object enumeration (#2524, #2526).JsDateshrunk by 8 bytes (#2535) andObjectInstanceslimmed by relocating_privateElementsto a per-engine weak table (#2536).CLR interop
for..inover wrapped objects (#2516).Correctness & spec compliance
Evaluate()during module execution (#2493).DefaultTypeConverter.Convertbypassing subclassTryConvertoverrides (#2498).What's Changed
List<T>by @jnyrup in #2501New Contributors
Full Changelog: sebastienros/jint@v4.9.3...v4.10.0
v4.9.3Highlights
Jint 4.9.3 is a maintenance release on top of 4.9.2 that closes the remaining test262 gaps from the 4.9.x line, hardens bulk built-ins against runaway inputs, and delivers large TypedArray performance gains. There are no public API changes (aside from one minor behavioral note below).
ECMAScript spec coverage
The bundled test262 suite was bumped to its latest snapshot and the spec gaps it surfaced were implemented — the full conformance suite now passes with 0 failures (#2489, #2490):
Error.prototype.stackaccessor (error-stack-accessor proposal) —stackis now a configurableget/setaccessor on%Error.prototype%rather than an own data property on each instance.ArrayBufferwrite rejection —%TypedArray%.prototypemutators (copyWithin/fill/reverse/set/sort), theAtomicsread-modify-write ops, andUint8ArraysetFromBase64/setFromHexnow throwTypeErrorbefore any observable side effect when the backing buffer is immutable.NumberFormatandDateTimeFormat, plus the newIntl.PluralRulescompactDisplayoption.Temporal.ZonedDateTime— rejects not-yet-adopted calendar annotations and correctly rounds to start-of-day when midnight occurs twice across a fall-back DST transition.import source x from "…"; export { x };is now supported (#2490).Performance
System.Array.Copy/Span<T>instead of per-element decode/encode loops.set,slice,copyWithin,with,fill,reverse,toReversed, and theindexOf/lastIndexOf/includesscans are now roughly 80×–350× faster with drastically lower allocations (#2488).Robustness
'x'.padStart(2147483647)orArray.from({ length: 50000000 }), along with theArray/%TypedArray%/RegExp/JSON/Stringbulk loops, now honorTimeoutInterval/MaxStatements/LimitMemoryand raise a catchableRangeErrorinstead of hanging or throwing an uncatchableOutOfMemoryException.Correctness
vpatterns that were incorrectly rejected (e.g./-/v,/&&/v,/[\!]/v) (#2481).new RegExp(...),RegExp(...),.compile(...),String.prototype.match, etc. (#2482).For .NET
Regexobjects exposed to the engine,JsRegExp.Source/ToString()now return the placeholder?[native regex]instead of the raw .NET pattern — the .NET pattern was misleading because it isn't a valid JS pattern (#2482).What's Changed
Full Changelog: sebastienros/jint@v4.9.2...v4.9.3
v4.9.2What's Changed
New Contributors
Full Changelog: sebastienros/jint@v4.9.1...v4.9.2
v4.9.1A bug-fix release focused on async correctness, number-to-string conversion, and CLR interop edge cases.
Highlights
Async correctness
Three fixes together close a set of holes in
async/awaitand event-loop behavior:WaitForEventAsyncwaiters are all signaled now — previously only one waiter would wake when an event arrived (#2427).if/for/while/try/switch) (#2469) and through every expression type (#2475). Awaiting inside these constructs no longer drops state or fails to resume.If you use Jint's async API, this release is worth picking up.
Number.prototype.toString(radix)no longer overflows(-12345e+30).toString(2)and other large-magnitude calls used to cast directly tolong, overflowing at ~9.22e18 and returning wrong digits (or throwing). The integer part now goes throughBigIntegeronce it exceedslongrange, producing the mathematically exact base-rrepresentation for radix 2 through 36 (#2471).CLR interop: oversize numeric inputs
Numeric values that don't fit in the target CLR type now surface as a JavaScript
RangeErrorinstead of silently overflowing (#2465).Spec conformance
Updated test262 to commit
673e9bacand fixed the issues that surfaced (#2473).What's Changed
673e9baand fix newly-revealed issues by @lahma in #2473New Contributors
Full Changelog: sebastienros/jint@v4.9.0...v4.9.1
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.