Arthur Peters

Results 117 comments of Arthur Peters

Naively, it seems that it would be enough to just copy the `globals` dict attached to the function. And that would fix the code that @sestephens73 mentions above. However, it...

> what if we capture non-function global objects into `__closure__` as well? 1. Things other than functions can be recursive. 2. This would force us to rewrite the function byte...

It looks like recursive local functions are handled by creating a cell which is filled later with the declaration of the other function. This is very reasonable. But I hadn't...

Valgrind may have some features that could help. It does this by runtime code rewriting I think. https://www.valgrind.org/docs/manual/manual-core-adv.html#manual-core-adv.wrapping

Option 2 is a bit "magical". For instance, ``` for i in range(3): @spawn def t(): slow_op() print(x) x = i ``` would work, most of the time, and would...

While rewriting the bytecode is a pain. Reading it to find out what globals the function actually uses and only copying those into the new globals dict for the function...

I don't think an empty process is a good idea. The problem is that `/proc/` would be total lies at that point. What about using the thread ID of a...

> On the other hand we've seen the libunwind stack tracing outright skip printing function names or only print out a small portion of the stack. I remember similar behavior...

VECs definitely require a patched glibc, so I'm not sure what you are getting at here.

Though I will point out that nothing forces us to use conda. We don't have all that many dependencies. We could easily use recent Ubuntu packages or something and maybe...