Bug 206094 - Add Lightweight Optimization Level (LOL) to the compilation pipeline
Summary: Add Lightweight Optimization Level (LOL) to the compilation pipeline
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Saam Barati
URL:
Keywords: InRadar
Depends on: 202503
Blocks:
  Show dependency treegraph
 
Reported: 2020-01-10 14:37 PST by Saam Barati
Modified: 2021-08-16 08:05 PDT (History)
17 users (show)

See Also:


Attachments
WIP (7.01 KB, patch)
2020-01-16 15:26 PST, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (10.63 KB, patch)
2020-06-23 19:18 PDT, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (11.93 KB, patch)
2020-06-24 17:53 PDT, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (15.31 KB, patch)
2020-06-25 14:25 PDT, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (22.88 KB, patch)
2020-06-25 17:34 PDT, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (31.16 KB, patch)
2020-06-26 12:40 PDT, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (39.59 KB, patch)
2020-06-26 16:39 PDT, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (39.69 KB, patch)
2020-06-26 16:44 PDT, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (46.72 KB, patch)
2020-06-29 19:19 PDT, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (58.91 KB, patch)
2020-07-01 21:01 PDT, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (68.62 KB, patch)
2020-07-08 15:35 PDT, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (69.29 KB, patch)
2020-07-08 20:20 PDT, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (72.31 KB, patch)
2020-07-08 20:49 PDT, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (74.80 KB, patch)
2020-07-09 19:25 PDT, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (80.67 KB, patch)
2020-07-10 16:23 PDT, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (82.62 KB, patch)
2020-07-10 20:14 PDT, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (142.03 KB, patch)
2020-07-16 19:35 PDT, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (142.88 KB, patch)
2020-09-22 14:34 PDT, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (144.36 KB, patch)
2020-09-22 14:50 PDT, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (144.36 KB, patch)
2020-09-22 16:00 PDT, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (145.64 KB, patch)
2020-09-24 15:31 PDT, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (147.77 KB, patch)
2020-09-29 17:52 PDT, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (149.19 KB, patch)
2020-09-30 12:36 PDT, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (155.71 KB, patch)
2020-10-01 19:41 PDT, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (167.37 KB, patch)
2020-10-02 19:14 PDT, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (169.73 KB, patch)
2020-10-05 15:48 PDT, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (177.53 KB, patch)
2020-10-05 19:30 PDT, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (181.89 KB, patch)
2020-10-06 18:44 PDT, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (192.90 KB, patch)
2020-10-07 13:06 PDT, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (209.06 KB, patch)
2020-10-07 19:35 PDT, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (212.58 KB, patch)
2020-10-19 16:46 PDT, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (217.53 KB, patch)
2020-10-19 18:20 PDT, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (242.07 KB, patch)
2020-10-20 18:27 PDT, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (245.42 KB, patch)
2020-10-26 12:27 PDT, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (260.26 KB, patch)
2020-10-26 19:29 PDT, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (271.29 KB, patch)
2020-10-27 17:20 PDT, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (271.29 KB, patch)
2020-10-27 17:30 PDT, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (277.24 KB, patch)
2020-11-02 17:07 PST, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (296.57 KB, patch)
2020-11-09 13:39 PST, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (303.26 KB, patch)
2020-11-10 15:15 PST, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (316.59 KB, patch)
2020-11-10 17:05 PST, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (323.40 KB, patch)
2020-11-12 15:54 PST, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (323.52 KB, patch)
2020-11-12 16:01 PST, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (348.06 KB, patch)
2020-11-12 20:44 PST, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (370.09 KB, patch)
2020-11-13 13:35 PST, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (375.27 KB, patch)
2020-11-13 18:55 PST, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (379.61 KB, patch)
2020-12-01 14:18 PST, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (382.03 KB, patch)
2020-12-02 19:33 PST, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (387.09 KB, patch)
2020-12-03 15:11 PST, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (404.62 KB, patch)
2020-12-03 19:52 PST, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (405.18 KB, patch)
2020-12-04 16:03 PST, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (406.68 KB, patch)
2020-12-04 16:53 PST, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (407.67 KB, patch)
2020-12-04 17:39 PST, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (412.51 KB, patch)
2020-12-04 19:45 PST, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (415.22 KB, patch)
2020-12-07 15:58 PST, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (429.59 KB, patch)
2020-12-07 18:51 PST, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (431.99 KB, patch)
2020-12-07 19:53 PST, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (433.01 KB, patch)
2020-12-08 11:46 PST, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (468.46 KB, patch)
2020-12-08 13:30 PST, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (443.66 KB, patch)
2020-12-08 14:19 PST, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (463.08 KB, patch)
2020-12-08 16:51 PST, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (470.07 KB, patch)
2020-12-09 15:33 PST, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (449.71 KB, patch)
2020-12-09 17:44 PST, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (456.77 KB, patch)
2020-12-10 12:48 PST, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (459.45 KB, patch)
2020-12-10 16:32 PST, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (461.71 KB, patch)
2020-12-11 12:34 PST, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (461.71 KB, patch)
2020-12-14 11:20 PST, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (462.80 KB, patch)
2020-12-14 14:10 PST, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (467.60 KB, patch)
2020-12-16 19:12 PST, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (467.60 KB, patch)
2020-12-17 11:02 PST, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (479.01 KB, patch)
2020-12-17 19:19 PST, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (504.92 KB, patch)
2020-12-18 19:18 PST, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (505.58 KB, patch)
2020-12-21 12:09 PST, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (524.68 KB, patch)
2020-12-21 15:55 PST, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (538.37 KB, patch)
2021-01-06 13:29 PST, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (538.31 KB, patch)
2021-01-06 14:25 PST, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (543.16 KB, patch)
2021-01-06 16:42 PST, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (547.35 KB, patch)
2021-01-07 12:32 PST, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (550.51 KB, patch)
2021-01-11 11:59 PST, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (551.27 KB, patch)
2021-01-11 13:26 PST, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (553.26 KB, patch)
2021-01-11 18:24 PST, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (559.40 KB, patch)
2021-01-12 12:30 PST, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (559.40 KB, patch)
2021-01-12 12:44 PST, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (563.79 KB, patch)
2021-01-12 16:59 PST, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (568.09 KB, patch)
2021-01-13 15:57 PST, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (571.47 KB, patch)
2021-01-13 17:17 PST, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (572.43 KB, patch)
2021-01-14 15:49 PST, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (591.02 KB, patch)
2021-01-15 18:01 PST, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (601.30 KB, patch)
2021-01-19 16:26 PST, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (605.90 KB, patch)
2021-01-19 17:07 PST, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (605.86 KB, patch)
2021-01-20 14:36 PST, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (606.70 KB, patch)
2021-01-20 15:02 PST, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (616.44 KB, patch)
2021-01-22 13:17 PST, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (619.73 KB, patch)
2021-01-22 18:05 PST, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (623.17 KB, patch)
2021-01-25 12:09 PST, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (626.14 KB, patch)
2021-02-02 18:51 PST, Saam Barati
no flags Details | Formatted Diff | Diff
WIP (626.14 KB, patch)
2021-02-03 11:53 PST, Saam Barati
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Saam Barati 2020-01-10 14:37:58 PST
original plan try to do this as a replacement of the baseline.
Comment 1 Saam Barati 2020-01-16 15:26:37 PST
Created attachment 387969 [details]
WIP

it begins
Comment 2 Saam Barati 2020-01-23 15:45:11 PST
We're probably going to change directions here and invent a new optimizer that works over bytecode. The main optimizations we're planning on doing are type speculation and register allocation. To get fast compile times, the goal will also be to not have to construct an entirely new IR. We'd also want to get to the point where each opcode can speculate on what its inputs are without doing some kind of prediction propagation phase. Many opcodes already have enough metadata to do this. However, not all do. We'll have to invent ways for all to do this.

Our reasoning for this was based on this data. Here is the JS2 score in various configurations of JSC:

[A] Baseline only: 67
[B] DFG only: 137
[C] DFG only, no inlining, no access inlining, AI says each structure set is infinite, but each variable still has a flush format: 116
[D] DFG only, no inlining, no access inlining, AI says each structure set is infinite, each variable has JSValue flush format: 109
[E] DFG only, no inlining, no access inlining, AI says each structure set is infinite, each variable has JSValue flush format, no intrinsic inlining: 106


Here are our compile time numbers on a large subset of JS2 in [E]:
                   Baseline Compile Time: 171.968 ms
                        DFG Compile Time: 1396.220 ms
                   FTL (B3) Compile Time: 0.000 ms
                  FTL (DFG) Compile Time: 0.000 ms
                        FTL Compile Time: 0.000 ms
                      Total Compile Time: 1568.189 ms
[DFG] bytecode parser total ms: 380.117813
[DFG] live catch variable preservation phase total ms: 1.461701
[DFG] CPS rethreading total ms: 48.442496
[DFG] unification total ms: 11.940636
[DFG] prediction injection total ms: 2.781105
[DFG] static execution count estimation total ms: 43.239496
[DFG] backwards propagation total ms: 22.783780
[DFG] prediction propagation total ms: 51.928968
[DFG] fixup total ms: 55.983858
[DFG] invalidation point injection total ms: 24.982650
[DFG] control flow analysis total ms: 101.180000
[DFG] tier-up check injection total ms: 0.332139
[DFG] fast store barrier insertion total ms: 22.395290
[DFG] dead code elimination total ms: 42.648463
[DFG] phantom insertion total ms: 47.266917
[DFG] stack layout total ms: 12.130792
[DFG] virtual register allocation total ms: 10.887650
[DFG] watchpoint collection total ms: 4.037530
[DFG] machine code generation total ms: 259.451395

Just building the IR and generating machine code makes us > 2x slower than baseline compile times. As seen in [E], we get a lot of benefit just from register allocation and type speculation. Having a dedicated "IR" for making this fast could lead to really good results. The IR here could likely just be bit vectors for block boundaries representing the state of types. Or perhaps, we'd just need one bit vector we update as we parse a block. The goal would be able to do this over bytecode itself. This also had a nice OSR exit story, since if we're compiling the bytecode, OSR exit is straight forward.
Comment 3 Saam Barati 2020-06-23 12:30:01 PDT
I think we're gonna do this building off of baseline JIT. This allows us to incrementally improve the JIT without implementing all opcodes in optimized form.
Comment 4 Saam Barati 2020-06-23 19:18:46 PDT
Created attachment 402617 [details]
WIP

it begins round 2
Comment 5 Saam Barati 2020-06-24 17:53:16 PDT
Created attachment 402702 [details]
WIP
Comment 6 Filip Pizlo 2020-06-24 19:01:21 PDT
Comment on attachment 402702 [details]
WIP

View in context: https://bugs.webkit.org/attachment.cgi?id=402702&action=review

> Source/JavaScriptCore/jit/JIT.cpp:63
> +void JIT::stepOverInstruction(const Instruction* instruction, const HashMap<ValueProfile*, SpeculatedType>& profiles)

Not sure you're going to want that to be a hashtable.
Comment 7 Saam Barati 2020-06-25 12:23:53 PDT
(In reply to Filip Pizlo from comment #6)
> Comment on attachment 402702 [details]
> WIP
> 
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=402702&action=review
> 
> > Source/JavaScriptCore/jit/JIT.cpp:63
> > +void JIT::stepOverInstruction(const Instruction* instruction, const HashMap<ValueProfile*, SpeculatedType>& profiles)
> 
> Not sure you're going to want that to be a hashtable.

Yeah I kinda doubted this too, and questioned it when I first started. The other thing I convinced myself is ok to do is to just racily read out the prediction. Since the prediction should only get wider as we read it, it shouldn't cause the algorithm to be unsound.
Comment 8 Saam Barati 2020-06-25 14:25:56 PDT
Created attachment 402811 [details]
WIP
Comment 9 Saam Barati 2020-06-25 17:34:33 PDT
Created attachment 402832 [details]
WIP
Comment 10 Saam Barati 2020-06-26 12:40:15 PDT
Created attachment 402886 [details]
WIP
Comment 11 Saam Barati 2020-06-26 16:39:48 PDT
Created attachment 402928 [details]
WIP

Ok, I think the prediction propagator is good enough to start working on other parts of the system.
Comment 12 Saam Barati 2020-06-26 16:44:07 PDT
Created attachment 402930 [details]
WIP
Comment 13 Saam Barati 2020-06-29 19:19:20 PDT
Created attachment 403159 [details]
WIP
Comment 14 Saam Barati 2020-07-01 21:01:36 PDT
Created attachment 403342 [details]
WIP

It can now speculate and register allocate this program:

```
function foo(x) {
    x += 2;
    let y;
    if (x > 5) {
        y = 42;
    } else {
        y = 77;
    }

    x = x + 48;
    x = x + 1337;
    x = x + 42;
    x += y;
    x += y;
    x += y;
    x += y;
    x += y;
    x += y;
    x += y;
    x += y;
    x += y;
    x += y;
    x += y;
    x += y;
    x += y;
    x += y;
    x += y;
    x += y;
    x += y;
    x += y;
    x += y;
    x += y;
    x += y;
    x += y;

    return x + y;
}
```

Unsurprisingly, runs 2x faster than old baseline code. Seems to compile in a similar amount of time.
Comment 15 Saam Barati 2020-07-08 15:35:27 PDT
Created attachment 403811 [details]
WIP
Comment 16 Saam Barati 2020-07-08 20:20:05 PDT
Created attachment 403839 [details]
WIP
Comment 17 Saam Barati 2020-07-08 20:49:48 PDT
Created attachment 403841 [details]
WIP
Comment 18 Saam Barati 2020-07-09 19:25:03 PDT
Created attachment 403941 [details]
WIP
Comment 19 Saam Barati 2020-07-10 16:23:49 PDT
Created attachment 404019 [details]
WIP

Starting to do some basic double math. It's ~2x faster also.
Comment 20 Saam Barati 2020-07-10 20:14:09 PDT
Created attachment 404037 [details]
WIP
Comment 21 Saam Barati 2020-07-16 19:35:16 PDT
Created attachment 404517 [details]
WIP
Comment 22 Saam Barati 2020-09-22 14:34:30 PDT
Created attachment 409399 [details]
WIP

rebased
Comment 23 Saam Barati 2020-09-22 14:50:42 PDT
Created attachment 409401 [details]
WIP
Comment 24 Saam Barati 2020-09-22 16:00:33 PDT
Created attachment 409417 [details]
WIP
Comment 25 Saam Barati 2020-09-24 15:31:56 PDT
Created attachment 409625 [details]
WIP
Comment 26 Saam Barati 2020-09-29 17:52:29 PDT
Created attachment 410075 [details]
WIP
Comment 27 Saam Barati 2020-09-30 12:36:07 PDT
Created attachment 410146 [details]
WIP

Getting silent refill working
Comment 28 Saam Barati 2020-10-01 19:41:07 PDT
Created attachment 410302 [details]
WIP
Comment 29 Saam Barati 2020-10-02 19:14:42 PDT
Created attachment 410403 [details]
WIP
Comment 30 Saam Barati 2020-10-05 15:48:09 PDT
Created attachment 410575 [details]
WIP
Comment 31 Saam Barati 2020-10-05 19:30:23 PDT
Created attachment 410602 [details]
WIP
Comment 32 Saam Barati 2020-10-06 18:44:37 PDT
Created attachment 410723 [details]
WIP
Comment 33 Saam Barati 2020-10-07 13:06:32 PDT
Created attachment 410769 [details]
WIP
Comment 34 Saam Barati 2020-10-07 19:35:03 PDT
Created attachment 410808 [details]
WIP
Comment 35 Saam Barati 2020-10-19 16:46:42 PDT
Created attachment 411814 [details]
WIP
Comment 36 Saam Barati 2020-10-19 18:20:43 PDT
Created attachment 411823 [details]
WIP
Comment 37 Saam Barati 2020-10-20 18:27:39 PDT
Created attachment 411946 [details]
WIP
Comment 38 Saam Barati 2020-10-20 18:29:23 PDT
<rdar://problem/69217617>
Comment 39 Saam Barati 2020-10-26 12:27:32 PDT
Created attachment 412345 [details]
WIP
Comment 40 Saam Barati 2020-10-26 19:29:27 PDT
Created attachment 412378 [details]
WIP
Comment 41 Saam Barati 2020-10-27 17:20:13 PDT
Created attachment 412481 [details]
WIP
Comment 42 Saam Barati 2020-10-27 17:30:02 PDT
Created attachment 412484 [details]
WIP
Comment 43 Saam Barati 2020-11-02 17:07:34 PST
Created attachment 412990 [details]
WIP
Comment 44 Saam Barati 2020-11-09 13:39:32 PST
Created attachment 413624 [details]
WIP
Comment 45 Saam Barati 2020-11-10 15:15:15 PST
Created attachment 413747 [details]
WIP
Comment 46 Saam Barati 2020-11-10 17:05:14 PST
Created attachment 413758 [details]
WIP
Comment 47 Saam Barati 2020-11-12 15:54:55 PST
Created attachment 413979 [details]
WIP
Comment 48 Saam Barati 2020-11-12 16:01:02 PST
Created attachment 413980 [details]
WIP
Comment 49 Saam Barati 2020-11-12 20:44:57 PST
Created attachment 414002 [details]
WIP
Comment 50 Saam Barati 2020-11-13 13:35:20 PST
Created attachment 414089 [details]
WIP
Comment 51 Saam Barati 2020-11-13 18:55:03 PST
Created attachment 414115 [details]
WIP
Comment 52 Saam Barati 2020-12-01 14:18:35 PST
Created attachment 415161 [details]
WIP
Comment 53 Saam Barati 2020-12-02 19:33:33 PST
Created attachment 415270 [details]
WIP
Comment 54 Saam Barati 2020-12-03 15:11:58 PST
Created attachment 415356 [details]
WIP
Comment 55 Saam Barati 2020-12-03 19:52:44 PST
Created attachment 415380 [details]
WIP
Comment 56 Saam Barati 2020-12-04 16:03:02 PST
Created attachment 415471 [details]
WIP
Comment 57 Saam Barati 2020-12-04 16:53:46 PST
Created attachment 415476 [details]
WIP

Fixing a bunch of bugs in the baseline JIT when run without LOL
Comment 58 Saam Barati 2020-12-04 17:39:51 PST
Created attachment 415479 [details]
WIP
Comment 59 Saam Barati 2020-12-04 19:45:31 PST
Created attachment 415481 [details]
WIP
Comment 60 Saam Barati 2020-12-07 15:58:27 PST
Created attachment 415596 [details]
WIP

it's starting to run some of our tests
Comment 61 Saam Barati 2020-12-07 18:51:27 PST
Created attachment 415605 [details]
WIP

Fixing lots of bugs and implementing opcodes I forgot to rewrite.
Comment 62 Saam Barati 2020-12-07 19:53:47 PST
Created attachment 415608 [details]
WIP
Comment 63 Saam Barati 2020-12-08 11:46:07 PST
Created attachment 415658 [details]
WIP
Comment 64 Saam Barati 2020-12-08 13:30:47 PST
Created attachment 415670 [details]
WIP

When running just LOL, without  any tier up past it, I'm at about a 5% failure rate of tests. Working through the failures before I start to focus more on perf.
Comment 65 Saam Barati 2020-12-08 14:19:15 PST
Created attachment 415676 [details]
WIP
Comment 66 Saam Barati 2020-12-08 16:51:28 PST
Created attachment 415690 [details]
WIP

Turns out negative zero is a thing.
Comment 67 Saam Barati 2020-12-09 15:33:57 PST
Created attachment 415803 [details]
WIP
Comment 68 Saam Barati 2020-12-09 17:44:43 PST
Created attachment 415817 [details]
WIP
Comment 69 Saam Barati 2020-12-10 12:48:21 PST
Created attachment 415914 [details]
WIP
Comment 70 Saam Barati 2020-12-10 16:32:17 PST
Created attachment 415942 [details]
WIP
Comment 71 Saam Barati 2020-12-11 12:34:46 PST
Created attachment 416032 [details]
WIP

Seems to pass the tests now when running LOL instead of baseline and without tier up to DFG.

Now, I need to focus on perf, there's a lot of obvious work to be done.
Comment 72 Saam Barati 2020-12-14 11:20:23 PST
Created attachment 416177 [details]
WIP
Comment 73 Saam Barati 2020-12-14 14:10:12 PST
Created attachment 416193 [details]
WIP

rebased.
Comment 74 Saam Barati 2020-12-16 19:12:41 PST
Created attachment 416381 [details]
WIP
Comment 75 Saam Barati 2020-12-17 11:02:18 PST
Created attachment 416438 [details]
WIP
Comment 76 Saam Barati 2020-12-17 19:19:34 PST
Created attachment 416490 [details]
WIP
Comment 77 Saam Barati 2020-12-18 19:18:29 PST
Created attachment 416565 [details]
WIP
Comment 78 Saam Barati 2020-12-21 12:09:38 PST
Created attachment 416616 [details]
WIP
Comment 79 Saam Barati 2020-12-21 15:55:11 PST
Created attachment 416642 [details]
WIP
Comment 80 Saam Barati 2021-01-06 13:29:26 PST
Created attachment 417123 [details]
WIP
Comment 81 Saam Barati 2021-01-06 14:25:41 PST
Created attachment 417130 [details]
WIP
Comment 82 Saam Barati 2021-01-06 16:42:21 PST
Created attachment 417141 [details]
WIP
Comment 83 Saam Barati 2021-01-07 12:32:26 PST
Created attachment 417201 [details]
WIP
Comment 84 Saam Barati 2021-01-11 11:59:27 PST
Created attachment 417396 [details]
WIP
Comment 85 Saam Barati 2021-01-11 13:26:17 PST
Created attachment 417408 [details]
WIP
Comment 86 Saam Barati 2021-01-11 18:24:58 PST
Created attachment 417424 [details]
WIP
Comment 87 Saam Barati 2021-01-12 12:30:04 PST
Created attachment 417479 [details]
WIP
Comment 88 Saam Barati 2021-01-12 12:44:59 PST
Created attachment 417481 [details]
WIP
Comment 89 Saam Barati 2021-01-12 16:59:01 PST
Created attachment 417498 [details]
WIP
Comment 90 Saam Barati 2021-01-13 15:57:38 PST
Created attachment 417574 [details]
WIP
Comment 91 Saam Barati 2021-01-13 17:17:07 PST
Created attachment 417585 [details]
WIP
Comment 92 Saam Barati 2021-01-14 15:49:19 PST
Created attachment 417662 [details]
WIP
Comment 93 Saam Barati 2021-01-15 18:01:32 PST
Created attachment 417753 [details]
WIP
Comment 94 Saam Barati 2021-01-19 16:26:56 PST
Created attachment 417923 [details]
WIP
Comment 95 Saam Barati 2021-01-19 17:07:49 PST
Created attachment 417927 [details]
WIP
Comment 96 Saam Barati 2021-01-20 14:36:53 PST
Created attachment 417998 [details]
WIP
Comment 97 Saam Barati 2021-01-20 15:02:14 PST
Created attachment 418000 [details]
WIP
Comment 98 Saam Barati 2021-01-22 13:17:37 PST
Created attachment 418175 [details]
WIP
Comment 99 Saam Barati 2021-01-22 18:05:52 PST
Created attachment 418203 [details]
WIP
Comment 100 Saam Barati 2021-01-25 12:09:08 PST
Created attachment 418317 [details]
WIP
Comment 101 Saam Barati 2021-02-02 18:51:30 PST
Created attachment 419094 [details]
WIP
Comment 102 Saam Barati 2021-02-03 11:53:44 PST
Created attachment 419166 [details]
WIP