| Tweetovi |
|
Toon Verwaest
@tverwaes
|
21. sij |
|
You can use RuntimeCallStats in either Chrome tracing or as DevTools experiment to figure out what's happening
|
||
|
|
||
|
Toon Verwaest
@tverwaes
|
10. sij |
|
Indeed. It's on our todo list.
|
||
|
|
||
|
Toon Verwaest
@tverwaes
|
7. sij |
|
Here you go: docs.google.com/document/d/1rk…
|
||
|
|
||
|
Toon Verwaest
@tverwaes
|
3. sij |
|
If you also call it with c,d and e,f, and check perf for those last 2 cases, it will likely degenerate to what you expect. (After enough calls with all keys.)
|
||
|
|
||
|
Toon Verwaest
@tverwaes
|
3. sij |
|
I'm just guessing, but by using Function only twice you get 2 independent functions that have their own feedback vectors. The keyed loads in there will be monomorphic loads that are able to track the key since they always see the same key. So you get nice optimized code.
|
||
|
|
||
|
Toon Verwaest
@tverwaes
|
3. sij |
|
Because we don't even know you're calling Reflect.set for real when we see this code. It's not as declarative and hence not as easy to optimize. We could probably do a little better when we finally figure out what you're doing, but it's much more complex.
|
||
|
|
||
|
Toon Verwaest
@tverwaes
|
19. pro |
|
If you're sick, don't work. Just sayin'
|
||
|
|
||
|
Toon Verwaest
@tverwaes
|
19. pro |
|
I like what you did there, especially since v8 (js) is mainly based in Germany since quite a while...
|
||
|
|
||
|
Toon Verwaest
@tverwaes
|
19. pro |
|
Why did you go to pizza hut!? :)
|
||
|
|
||
|
Toon Verwaest
@tverwaes
|
19. pro |
|
The Bratwurst part was a joke. Whatever a local quick meal costs.
|
||
|
|
||
|
Toon Verwaest
@tverwaes
|
19. pro |
|
How much is that related to the price of a local Bratwurst? :)
|
||
|
|
||
| Toon Verwaest proslijedio/la je tweet | ||
|
V8
@v8js
|
18. pro |
|
V8 hits its long-awaited v8.0, now with optional chaining, nullish coalescing, faster higher-order builtins — oh and 40% less memory use thanks to pointer compression, no big deal.
h8rs gonna h8, V8ers gonna V8 🔥🔥🔥
v8.dev/blog/v8-releas…
|
||
|
|
||
|
Toon Verwaest
@tverwaes
|
16. pro |
|
Oh my. I guess I'm just getting started.
|
||
|
|
||
|
Toon Verwaest
@tverwaes
|
16. pro |
|
Who would've thought that the most useful tool as a parent is instant glue.
|
||
|
|
||
|
Toon Verwaest
@tverwaes
|
9. pro |
|
Here you go docs.google.com/document/d/1Ej… Clearly very old / outdated as it still refers to non-existent compilers in V8 :-)
|
||
|
|
||
|
Toon Verwaest
@tverwaes
|
5. pro |
|
Yup. My German bank refunds these. I just wanted to say: what are you talking about :) Perhaps it's mostly banks that down have their own ATMs?
|
||
|
|
||
|
Toon Verwaest
@tverwaes
|
4. pro |
|
Great minds think alike? (Or the less positive German variant of this saying). I'll send it over tomorrow, I have to run for the evening. And see whether I can find more docs.
|
||
|
|
||
|
Toon Verwaest
@tverwaes
|
4. pro |
|
There is definitely some mess there with write-barriers and filtering recorded slots (because we also support deleting properties so technically we can go from heap-object to unboxed double) :)
|
||
|
|
||
|
Toon Verwaest
@tverwaes
|
4. pro |
|
We were unboxing doubles in x64 into the field; and used a "layout descriptor" to tell GC where to skip fields (typically simply an int because objects are small enough). Temporarily disabled now we're doing pointer compression. Will likely come back in some form sooner or later.
|
||
|
|
||
|
Toon Verwaest
@tverwaes
|
4. pro |
|
We don't always deprecate either. If we have a compatible transition (e.g., smi->tagged) we can in-place update if we deoptimize dependencies. That avoids quite some instance migration churn.
|
||
|
|
||