|
Lines 1-3
Source/JavaScriptCore/ChangeLog_sec1
|
|
|
1 |
2015-09-01 Filip Pizlo <fpizlo@apple.com> |
| 2 |
|
| 3 |
DFG AI assertions about not having to do type checks at the point of a Known use kind are unsound |
| 4 |
https://bugs.webkit.org/show_bug.cgi?id=148649 |
| 5 |
|
| 6 |
Reviewed by NOBODY (OOPS!). |
| 7 |
|
| 8 |
We often generate IR like: |
| 9 |
|
| 10 |
Check(Int32:@x) |
| 11 |
... |
| 12 |
Foo(KnownInt32:@x) |
| 13 |
|
| 14 |
It would be valid for any optimization that somehow proves the type of @x to remove the |
| 15 |
Check node entirely. But then, AI might fail on an assertion at Foo() because of the |
| 16 |
KnownInt32 use kind, if AI isn't smart enough to construct the same proof that the former |
| 17 |
optimization used for removing the Check. |
| 18 |
|
| 19 |
The correct solution is to remove the compile-time assertions about Known use kinds |
| 20 |
having already been checked. |
| 21 |
|
| 22 |
* dfg/DFGAbstractInterpreterInlines.h: |
| 23 |
(JSC::DFG::AbstractInterpreter<AbstractStateType>::verifyEdge): |
| 24 |
|
| 1 |
2015-08-31 Yusuke Suzuki <utatane.tea@gmail.com> |
25 |
2015-08-31 Yusuke Suzuki <utatane.tea@gmail.com> |
| 2 |
|
26 |
|
| 3 |
[ES6] Introduce ModuleProgramExecutable families and compile Module code to bytecode |
27 |
[ES6] Introduce ModuleProgramExecutable families and compile Module code to bytecode |