Nikolai Tillmann
Nikolai Tillmann
Release notes: Better error messages on I/O failures At least for everything that's triggered from prepack-cli.
Prepacking this... ```js (function () { function f(a) { while (a > 10) { a--; } } __optimize(f); global.f = f; })(); ``` produces the following. The output looks correct,...
When Prepack comes across conditional control-flow during its interpretation of the initialization code, e.g. if (require("NativeModules").UIManager.screen.width > 1000) { ... } else { ... } then it explores both branches,...
Prepack wraps all values into instance of (subtypes of) the Value class. Structurally identical values can end being represented as multiple values. For concrete values, this just means that Prepack...
This ```js (function () { let n = global.__abstract ? __abstract("number", "23") : 23; if (n === 42) { let d = Date.now(); // dead pure generator entry } })();...
We currently can't prepack the following code: ```js (function () { let a = []; if (__abstract("boolean", "x")) a.push(42); a.push(23); })(); ``` The last time I checked, the reason is...
```js let x = __abstract("number", "(x)"); do { x++; } while (x < 3); ``` => ``` Invariant Violation: This is likely a bug in Prepack, not your code. Feel...
In the ResidualHeapVisitor, there an interesting function called `_enqueueWithUnrelatedScope`. It really serves two purposes: 1) Enqueueing an item to be processed in an (unrelated) scope, for which certain effects need...
#2577 disables the generation of `.bind` calls; instead, that changes makes Prepack always generate full-blown wrapper functions. Bring back the original functionality, or explore other ways to bind local environments...
Prepacking this, with *--instantRender* (to trigger realm.arrayNestedOptimizedFunctionsEnabled, which is not otherwise directly exposed via the CLI)... ```js function f(a) { return Array.from(a).map(function() { function g() { return 21 + 21;...