Previously, Grackle could compile a single computed property like `array[x]`. But it couldn't handle: - Nested properties like `array[x][y]` - Nested objects like `obj[x][y]` - Arrays nested in objects, like `{x: [1,2,3]}` - Objects in arrays like `[{a: 1}]` It was quite difficult to find a way to handle this, which is why I started the EP Debugger project. The debugger helped me understand the VM much better and figure out a better way to handle these cases (the two new instructions AddrOfMember and CopyLen). Now Grackle can compile those cases!
479 lines
9.8 KiB
Plaintext
479 lines
9.8 KiB
Plaintext
solid unnamed
|
|
facet normal -1 0 0
|
|
outer loop
|
|
vertex 0 -4 0
|
|
vertex 0 -0 0
|
|
vertex 0 -4 -1
|
|
endloop
|
|
endfacet
|
|
facet normal -1 0 0
|
|
outer loop
|
|
vertex 0 -4 -1
|
|
vertex 0 -0 0
|
|
vertex 0 -0 -1
|
|
endloop
|
|
endfacet
|
|
facet normal 0 0 -1
|
|
outer loop
|
|
vertex 0 -4 -1
|
|
vertex 0 -0 -1
|
|
vertex 3.0950184 -4 -1
|
|
endloop
|
|
endfacet
|
|
facet normal 0 0 -1
|
|
outer loop
|
|
vertex 3.0950184 -4 -1
|
|
vertex 0 -0 -1
|
|
vertex 3.0950184 -0 -1
|
|
endloop
|
|
endfacet
|
|
facet normal -0.57357645 0 -0.81915206
|
|
outer loop
|
|
vertex 3.0950184 -4 -1
|
|
vertex 3.0950184 -0 -1
|
|
vertex 5.9513144 -4 -3
|
|
endloop
|
|
endfacet
|
|
facet normal -0.57357645 0 -0.81915206
|
|
outer loop
|
|
vertex 5.9513144 -4 -3
|
|
vertex 3.0950184 -0 -1
|
|
vertex 5.9513144 -0 -3
|
|
endloop
|
|
endfacet
|
|
facet normal 0 0 -1
|
|
outer loop
|
|
vertex 5.9513144 -4 -3
|
|
vertex 5.9513144 -0 -3
|
|
vertex 9.5 -4 -3
|
|
endloop
|
|
endfacet
|
|
facet normal 0 0 -1
|
|
outer loop
|
|
vertex 9.5 -4 -3
|
|
vertex 5.9513144 -0 -3
|
|
vertex 9.5 -0 -3
|
|
endloop
|
|
endfacet
|
|
facet normal 1 0 0
|
|
outer loop
|
|
vertex 9.5 -4 -3
|
|
vertex 9.5 -0 -3
|
|
vertex 9.5 -4 -2.5
|
|
endloop
|
|
endfacet
|
|
facet normal 1 -0 0
|
|
outer loop
|
|
vertex 9.5 -4 -2.5
|
|
vertex 9.5 -0 -3
|
|
vertex 9.5 -0 -2.5
|
|
endloop
|
|
endfacet
|
|
facet normal 0 -0 0.99999994
|
|
outer loop
|
|
vertex 9.5 -4 -2.5
|
|
vertex 9.5 -0 -2.5
|
|
vertex 6.108964 -4 -2.5
|
|
endloop
|
|
endfacet
|
|
facet normal 0 0 0.99999994
|
|
outer loop
|
|
vertex 6.108964 -4 -2.5
|
|
vertex 9.5 -0 -2.5
|
|
vertex 6.108964 -0 -2.5
|
|
endloop
|
|
endfacet
|
|
facet normal 0.5735763 0 0.8191522
|
|
outer loop
|
|
vertex 3.4311862 -4 -0.625
|
|
vertex 4.323779 -4 -1.25
|
|
vertex 4.323779 -0 -1.25
|
|
endloop
|
|
endfacet
|
|
facet normal 0.57357645 0 0.819152
|
|
outer loop
|
|
vertex 4.323779 -4 -1.25
|
|
vertex 6.108964 -4 -2.5
|
|
vertex 6.108964 -0 -2.5
|
|
endloop
|
|
endfacet
|
|
facet normal 0.57357645 0 0.819152
|
|
outer loop
|
|
vertex 3.4311862 -0 -0.625
|
|
vertex 2.5385938 -4 0
|
|
vertex 3.4311862 -4 -0.625
|
|
endloop
|
|
endfacet
|
|
facet normal 0.5735763 0 0.8191522
|
|
outer loop
|
|
vertex 4.323779 -0 -1.25
|
|
vertex 3.4311862 -0 -0.625
|
|
vertex 3.4311862 -4 -0.625
|
|
endloop
|
|
endfacet
|
|
facet normal 0.57357645 -0 0.819152
|
|
outer loop
|
|
vertex 4.323779 -4 -1.25
|
|
vertex 6.108964 -0 -2.5
|
|
vertex 4.323779 -0 -1.25
|
|
endloop
|
|
endfacet
|
|
facet normal 0.57357645 -0 0.819152
|
|
outer loop
|
|
vertex 2.5385938 -4 0
|
|
vertex 3.4311862 -0 -0.625
|
|
vertex 2.5385938 -0 0
|
|
endloop
|
|
endfacet
|
|
facet normal 0.42261824 0 -0.9063078
|
|
outer loop
|
|
vertex 3.342784 -4 0.375
|
|
vertex 2.5385938 -4 0
|
|
vertex 2.5385938 -0 0
|
|
endloop
|
|
endfacet
|
|
facet normal 0.42261824 0 -0.9063078
|
|
outer loop
|
|
vertex 4.146974 -4 0.75
|
|
vertex 3.342784 -4 0.375
|
|
vertex 3.342784 -0 0.375
|
|
endloop
|
|
endfacet
|
|
facet normal 0.42261824 0 -0.9063078
|
|
outer loop
|
|
vertex 3.342784 -0 0.375
|
|
vertex 3.342784 -4 0.375
|
|
vertex 2.5385938 -0 0
|
|
endloop
|
|
endfacet
|
|
facet normal 0.42261833 0 -0.90630776
|
|
outer loop
|
|
vertex 4.146974 -0 0.75
|
|
vertex 5.755354 -4 1.5
|
|
vertex 4.146974 -4 0.75
|
|
endloop
|
|
endfacet
|
|
facet normal 0.42261824 0 -0.9063078
|
|
outer loop
|
|
vertex 4.146974 -4 0.75
|
|
vertex 3.342784 -0 0.375
|
|
vertex 4.146974 -0 0.75
|
|
endloop
|
|
endfacet
|
|
facet normal 0.42261833 0 -0.90630776
|
|
outer loop
|
|
vertex 5.755354 -4 1.5
|
|
vertex 4.146974 -0 0.75
|
|
vertex 5.755354 -0 1.5
|
|
endloop
|
|
endfacet
|
|
facet normal 0 0 -1
|
|
outer loop
|
|
vertex 5.755354 -4 1.5
|
|
vertex 5.755354 -0 1.5
|
|
vertex 9.5 -4 1.5
|
|
endloop
|
|
endfacet
|
|
facet normal 0 0 -1
|
|
outer loop
|
|
vertex 9.5 -4 1.5
|
|
vertex 5.755354 -0 1.5
|
|
vertex 9.5 -0 1.5
|
|
endloop
|
|
endfacet
|
|
facet normal 1 0 0
|
|
outer loop
|
|
vertex 9.5 -4 1.5
|
|
vertex 9.5 -0 1.5
|
|
vertex 9.5 -4 2
|
|
endloop
|
|
endfacet
|
|
facet normal 1 -0 0
|
|
outer loop
|
|
vertex 9.5 -4 2
|
|
vertex 9.5 -0 1.5
|
|
vertex 9.5 -0 2
|
|
endloop
|
|
endfacet
|
|
facet normal 0 -0 1
|
|
outer loop
|
|
vertex 9.5 -4 2
|
|
vertex 9.5 -0 2
|
|
vertex 5.644507 -4 2
|
|
endloop
|
|
endfacet
|
|
facet normal 0 0 1
|
|
outer loop
|
|
vertex 5.644507 -4 2
|
|
vertex 9.5 -0 2
|
|
vertex 5.644507 -0 2
|
|
endloop
|
|
endfacet
|
|
facet normal -0.42261824 0 0.90630776
|
|
outer loop
|
|
vertex 5.644507 -4 2
|
|
vertex 5.644507 -0 2
|
|
vertex 3.5 -4 1
|
|
endloop
|
|
endfacet
|
|
facet normal -0.42261824 0 0.90630776
|
|
outer loop
|
|
vertex 3.5 -4 1
|
|
vertex 5.644507 -0 2
|
|
vertex 3.5 -0 1
|
|
endloop
|
|
endfacet
|
|
facet normal 0 -0 1
|
|
outer loop
|
|
vertex 3.5 -4 1
|
|
vertex 3.5 -0 1
|
|
vertex 0 -4 1
|
|
endloop
|
|
endfacet
|
|
facet normal 0 0 1
|
|
outer loop
|
|
vertex 0 -4 1
|
|
vertex 3.5 -0 1
|
|
vertex 0 -0 1
|
|
endloop
|
|
endfacet
|
|
facet normal -1 0 0
|
|
outer loop
|
|
vertex 0 -4 1
|
|
vertex 0 -0 1
|
|
vertex 0 -4 0
|
|
endloop
|
|
endfacet
|
|
facet normal -1 0 0
|
|
outer loop
|
|
vertex 0 -4 0
|
|
vertex 0 -0 1
|
|
vertex 0 -0 0
|
|
endloop
|
|
endfacet
|
|
facet normal 0 1 -0
|
|
outer loop
|
|
vertex 3.342784 -0 0.375
|
|
vertex 2.5385938 -0 0
|
|
vertex 3.5 -0 1
|
|
endloop
|
|
endfacet
|
|
facet normal 0 1 0
|
|
outer loop
|
|
vertex 4.146974 -0 0.75
|
|
vertex 3.342784 -0 0.375
|
|
vertex 3.5 -0 1
|
|
endloop
|
|
endfacet
|
|
facet normal 0 1 0
|
|
outer loop
|
|
vertex 3.4311862 -0 -0.625
|
|
vertex 4.323779 -0 -1.25
|
|
vertex 3.0950184 -0 -1
|
|
endloop
|
|
endfacet
|
|
facet normal 0 0.99999994 0
|
|
outer loop
|
|
vertex 4.146974 -0 0.75
|
|
vertex 5.644507 -0 2
|
|
vertex 5.755354 -0 1.5
|
|
endloop
|
|
endfacet
|
|
facet normal -0 1 0
|
|
outer loop
|
|
vertex 0 -0 1
|
|
vertex 3.5 -0 1
|
|
vertex 2.5385938 -0 0
|
|
endloop
|
|
endfacet
|
|
facet normal 0 1 0
|
|
outer loop
|
|
vertex 0 -0 1
|
|
vertex 2.5385938 -0 0
|
|
vertex 0 -0 0
|
|
endloop
|
|
endfacet
|
|
facet normal -0 1 0
|
|
outer loop
|
|
vertex 5.644507 -0 2
|
|
vertex 9.5 -0 2
|
|
vertex 5.755354 -0 1.5
|
|
endloop
|
|
endfacet
|
|
facet normal 0 1 0
|
|
outer loop
|
|
vertex 9.5 -0 2
|
|
vertex 9.5 -0 1.5
|
|
vertex 5.755354 -0 1.5
|
|
endloop
|
|
endfacet
|
|
facet normal 0 1 -0
|
|
outer loop
|
|
vertex 4.146974 -0 0.75
|
|
vertex 3.5 -0 1
|
|
vertex 5.644507 -0 2
|
|
endloop
|
|
endfacet
|
|
facet normal 0 0.99999994 0
|
|
outer loop
|
|
vertex 2.5385938 -0 0
|
|
vertex 3.4311862 -0 -0.625
|
|
vertex 3.0950184 -0 -1
|
|
endloop
|
|
endfacet
|
|
facet normal 0 0.99999994 0
|
|
outer loop
|
|
vertex 4.323779 -0 -1.25
|
|
vertex 5.9513144 -0 -3
|
|
vertex 3.0950184 -0 -1
|
|
endloop
|
|
endfacet
|
|
facet normal 0 1 0
|
|
outer loop
|
|
vertex 6.108964 -0 -2.5
|
|
vertex 5.9513144 -0 -3
|
|
vertex 4.323779 -0 -1.25
|
|
endloop
|
|
endfacet
|
|
facet normal 0 0.99999994 0
|
|
outer loop
|
|
vertex 9.5 -0 -2.5
|
|
vertex 9.5 -0 -3
|
|
vertex 6.108964 -0 -2.5
|
|
endloop
|
|
endfacet
|
|
facet normal 0 1 0
|
|
outer loop
|
|
vertex 6.108964 -0 -2.5
|
|
vertex 9.5 -0 -3
|
|
vertex 5.9513144 -0 -3
|
|
endloop
|
|
endfacet
|
|
facet normal 0 1 0
|
|
outer loop
|
|
vertex 2.5385938 -0 0
|
|
vertex 3.0950184 -0 -1
|
|
vertex 0 -0 -1
|
|
endloop
|
|
endfacet
|
|
facet normal 0 1 0
|
|
outer loop
|
|
vertex 0 -0 -1
|
|
vertex 0 -0 0
|
|
vertex 2.5385938 -0 0
|
|
endloop
|
|
endfacet
|
|
facet normal -0 -1 0
|
|
outer loop
|
|
vertex 3.342784 -4 0.375
|
|
vertex 3.5 -4 1
|
|
vertex 2.5385938 -4 0
|
|
endloop
|
|
endfacet
|
|
facet normal -0 -1 0
|
|
outer loop
|
|
vertex 4.146974 -4 0.75
|
|
vertex 3.5 -4 1
|
|
vertex 3.342784 -4 0.375
|
|
endloop
|
|
endfacet
|
|
facet normal 0 -1 -0
|
|
outer loop
|
|
vertex 3.4311862 -4 -0.625
|
|
vertex 3.0950184 -4 -1
|
|
vertex 4.323779 -4 -1.25
|
|
endloop
|
|
endfacet
|
|
facet normal 0 -0.99999994 0
|
|
outer loop
|
|
vertex 4.146974 -4 0.75
|
|
vertex 5.755354 -4 1.5
|
|
vertex 5.644507 -4 2
|
|
endloop
|
|
endfacet
|
|
facet normal 0 -1 0
|
|
outer loop
|
|
vertex 0 -4 1
|
|
vertex 2.5385938 -4 0
|
|
vertex 3.5 -4 1
|
|
endloop
|
|
endfacet
|
|
facet normal 0 -1 0
|
|
outer loop
|
|
vertex 0 -4 1
|
|
vertex 0 -4 0
|
|
vertex 2.5385938 -4 0
|
|
endloop
|
|
endfacet
|
|
facet normal 0 -1 0
|
|
outer loop
|
|
vertex 5.644507 -4 2
|
|
vertex 5.755354 -4 1.5
|
|
vertex 9.5 -4 2
|
|
endloop
|
|
endfacet
|
|
facet normal 0 -1 -0
|
|
outer loop
|
|
vertex 9.5 -4 2
|
|
vertex 5.755354 -4 1.5
|
|
vertex 9.5 -4 1.5
|
|
endloop
|
|
endfacet
|
|
facet normal 0 -1 0
|
|
outer loop
|
|
vertex 4.146974 -4 0.75
|
|
vertex 5.644507 -4 2
|
|
vertex 3.5 -4 1
|
|
endloop
|
|
endfacet
|
|
facet normal 0 -0.99999994 0
|
|
outer loop
|
|
vertex 2.5385938 -4 0
|
|
vertex 3.0950184 -4 -1
|
|
vertex 3.4311862 -4 -0.625
|
|
endloop
|
|
endfacet
|
|
facet normal -0 -0.99999994 -0
|
|
outer loop
|
|
vertex 4.323779 -4 -1.25
|
|
vertex 3.0950184 -4 -1
|
|
vertex 5.9513144 -4 -3
|
|
endloop
|
|
endfacet
|
|
facet normal -0 -1 0
|
|
outer loop
|
|
vertex 6.108964 -4 -2.5
|
|
vertex 4.323779 -4 -1.25
|
|
vertex 5.9513144 -4 -3
|
|
endloop
|
|
endfacet
|
|
facet normal -0 -0.99999994 -0
|
|
outer loop
|
|
vertex 9.5 -4 -2.5
|
|
vertex 6.108964 -4 -2.5
|
|
vertex 9.5 -4 -3
|
|
endloop
|
|
endfacet
|
|
facet normal 0 -1 -0
|
|
outer loop
|
|
vertex 6.108964 -4 -2.5
|
|
vertex 5.9513144 -4 -3
|
|
vertex 9.5 -4 -3
|
|
endloop
|
|
endfacet
|
|
facet normal 0 -1 -0
|
|
outer loop
|
|
vertex 2.5385938 -4 0
|
|
vertex 0 -4 -1
|
|
vertex 3.0950184 -4 -1
|
|
endloop
|
|
endfacet
|
|
facet normal 0 -1 0
|
|
outer loop
|
|
vertex 0 -4 -1
|
|
vertex 2.5385938 -4 0
|
|
vertex 0 -4 0
|
|
endloop
|
|
endfacet
|
|
endsolid unnamed
|