Sebastian Markbåge
Sebastian Markbåge
Dropping the `externalTemplate` option right now means dropping rebuildNestedProperties from the `__abstract` helper. https://github.com/facebook/prepack/blob/master/src/realm.js#L1620 This is a potential breaking change since our internal modeling code may depend on nested objects...
If I use rebuildNestedProperties then the template is also assigned the same intrinsic name so my test case here wouldn’t have failed before. If I use it with the same...
The `__abstract` helper lets me write unit tests for this without invoking the whole loop logic too. https://github.com/sebmarkbage/prepack/blob/9a7a69f7c8dbd4f704d2a69f0c7da3f809c00ae9/test/serializer/abstract/WidenedIdentity4.js However these templates I suspect will be helpful for modeling return values...
If I read out two properties from an array created in a loop body: ``` let a = array[0]; let b = array[1]; a.x = 1; ``` How do I...
An abstract value with two templates already means something else. It means that it can possibly be one of those two exact identities. Eg a conditional object and the code...
I have a sequence of other PRs that all build on this strategy so we should do this soon (tomorrow) if so since that is blocking all of the future...
I've gone very deep into these in various branches the past few months. So I at least know a bunch of things that will not work or result in a...
If you change the numeric properties to named ones, there's still a problem though.
When we SetPartial outside a loop, then we weakly update the known properties. Is there a reason we can't do that for widened properties?
The interesting thing is that something like this works: ```js var arr = {}; var i = 0; do { arr[i] = i === 0 ? 'a' : i ===...