Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
sillycross
searching Neon…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
5 ms
·
1.
▲
by
sillycross
3y ago
> I just meant that even being aware this is a naive copy-and-patch JIT, my first impression was that the code was slightly worse than I expected. > "there’s only so much one can do without touching the data model" You proba
2.
▲
by
sillycross
3y ago
That's correct. Lua function calls are not that easy to remove, as function is first-class value in Lua so can be redefined at any time. To remove a function call, you need speculative compilation and OSR-exit, which is outside the job
3.
▲
by
sillycross
3y ago
Look at the CPS-version of the add.
4.
▲
by
sillycross
3y ago
That's an interesting approach :) Though it only works if the control flow in the language is exactly "paired" (no continue/break, no goto, etc), I guess?
5.
▲
by
sillycross
4y ago
I agree with your point, but I want to point out that Deegen also provided APIs to hide all the details of inline caching. The bytecode only specifies the body lambda and the effect lambdas, and Deegen lowers it to an efficient implementati
6.
▲
by
sillycross
4y ago
Clang/LLVM accepts (little-known but documented) flags to let you align code block using a custom alignment, though it only works at file-level. See [1]. However, I'm not sure if doing so is useful or necessary. Interpreter perfor
7.
▲
by
sillycross
4y ago
I just want to point out that LLVM is not a runtime dependency. It is only a build-time dependency if you want to build LJR from source. Once LJR is built, it is stand-alone and does not need LLVM at runtime.
8.
▲
by
sillycross
4y ago
Yeah, you should do it at LLVM IR level.
9.
▲
by
sillycross
4y ago
The copy-and-patch paper is also written by me. Deegen a follow-up work of copy-and-patch, and it will use copy-and-patch as a tool to build its JIT tiers in the future.
10.
▲
by
sillycross
4y ago
> More recently I have been experimenting with a new calling convention that uses no callee-saved registers to work around this, but the results so far are inconclusive. The new calling convention would use all registers for arguments, b
11.
▲
by
sillycross
4y ago
Yes, the object can become unreachable, but we won't know it until the end of the current GC cycle (and the whole purpose of GC is to figure that information out). So yes, even if it has become unreachable, it is live (and must be live
12.
▲
by
sillycross
5y ago
> He (Abbot) proposed instead an alternative framework called Merit, Fairness, and Equality (MFE) whereby university applicants are treated as individuals and evaluated through a rigorous and unbiased process based on their merit and qua
13.
▲
by
sillycross
5y ago
> Amazingly, we find that the GCC compilers is able to compile Travis’ is_empty C++ function to constant-time code. It's actually an interesting example where undefined behavior allowed compiler optimization: (1) dereferencing an in
14.
▲
by
sillycross
5y ago
> The slide also shows that AT&T retains “cloud storage internet/web browsing” data for 1 year. I never thought before that ISPs would really keep track of every user's browsing history, but apparently as cheap as the disks
15.
▲
Mississippi Governor Announces Bold Plan to Do Nothing to Stop Covid
(vanityfair.com)
14 points
by
sillycross
5y ago
|
3 comments
16.
▲
by
sillycross
5y ago
Not sure what you mean by 'emulator', but I will assume you meant ISA for a different hardware architecture. > The emulator would identify hot code blocks, generate C like constructs (or ideally the AST) The idea behind copy-an
17.
▲
by
sillycross
5y ago
Put the innocent and the defenseless at life risk for the enjoyment of the others. Probably reasonable if R<1 since it's only going to affect a limited number of people, but this is absurd for countries where the R is still >1. T
18.
▲
by
sillycross
5y ago
I am the author. > which do JIT "compilation" in the business-logic/abstract sense of the term? If I understood what you said correctly, you mean translating something to SQL? The problem this paper is trying to solve is h
19.
▲
by
sillycross
5y ago
Well in some sense yes. Template compiler is a very old idea, and this is a template-compiler-styled compiler. The interesting part is the various improvements to this old idea that allows us to both compile fast and generate good code.
20.
▲
by
sillycross
5y ago
Java is static-typed already and only has a low degree of dynamism, so the importance of doing so is much less (only to reduce the initialization time I believe).
21.
▲
by
sillycross
5y ago
Interesting post. Seems similar to the approach of HPHPC for PHP, where the code is first run offline in a simulated environment to collect type information, and then use these speculations to generate static-typed code ahead-of-time. Would
22.
▲
by
sillycross
5y ago
Very interesting paper. The paper is very long and mostly math so I only skimmed it. It seems to me (as a practitioner) the key insight to alleviate primary clustering effects is the following: At high loads, when you rebuild the hash table
23.
▲
Copy-and-Patch: Fast JIT Compilation for SQL, WebAssembly, and Others
(arxiv.org)
30 points
by
sillycross
5y ago
|
7 comments
24.
▲
by
sillycross
5y ago
As already mentioned, the difference is that Windows is monopolized by a commercial company, is not open-sourced and does not accept outside contribution. You may also be interested by MS Edge's decision to abandon their ChakraCore eng
25.
▲
by
sillycross
5y ago
> Seriously though, the glaring lack of information and supporting evidence is kinda the point Yeah that's the point. I would say, instead of blaming Trump for punching a hole in the cornerstone of democracy, it just demonstrated ho
26.
▲
by
sillycross
5y ago
The website you linked doesn't even list any evidence supporting its claim that "statistical patterns of voting fraud can be detected", not to mention the "easily reproducible" part. It only has a single page, claim
27.
▲
by
sillycross
5y ago
According to the paper, the leak occurs when the battery is close to full (>95%). In that case, since the battery is almost full, the power drained from the charger reflects the concurrent power being consumed by the device. I initially
28.
▲
by
sillycross
5y ago
IMO browser is a tool, just like operating system. The ultimate praise of a tool is "it works". For browser this means rendering every web page correctly, and for OS this means working on every hardware configuration correctly. So
29.
▲
Understanding a static analysis pass in JavaScriptCore JIT
(sillycross.github.io)
7 points
by
sillycross
5y ago
|
2 comments
30.
▲
by
sillycross
5y ago
I agree that it's very important to clearly communicate the designs to the users. However, I feel that it's practically hard for many reasons. For example, it's hard to argue in the document why something is not done (e.g.
More ›