webkitjavascriptcore

In Javascriptcore, question about clobberWorld(), read(World)/write(Heap) and some terminologies


I currently analyze JavaScriptCore's code base.
I know that clobberWorld() stand for notifying current operation is effectful.
But, some article says that read(World) and write(Heap) do same thing as clobberWorld().
What read() and write() means? And what World and Heap means?

Last question is about terminologies.
In DFG, what is the full name of AI and CSE??


Solution

  • AI means AbstractInterpreter and CSE means Common SubExpression Elimination. As for read and write, it models a DFG IR node and representing side effect, and in LICM phase you can see it more.