cfbolz changed the topic of #pypy to: PyPy, the flexible snake (IRC logs: https://quodlibet.duckdns.org/irc/pypy/latest.log.html#irc-end ) | use cffi for calling C | if a pep adds a mere 25-30 [C-API] functions or so, it's a drop in the ocean (cough) - Armin
forgottenone has quit [Remote host closed the connection]
Gustavo6046 has quit [Quit: ZNC 1.8.2 - https://znc.in]
Gustavo6046 has joined #pypy
wleslie has joined #pypy
_whitelogger has joined #pypy
marvin_ has quit [Remote host closed the connection]
marvin has joined #pypy
<arigato> muke (for the logs): someone should have pointed you to the main unsolved problem with writing a JIT backend using llvm: the lack of a good solution to implement guards
<arigato> and how to map rpython's GC system with llvm.gcroot, if possible at all
<arigato> (interesting, there is or was a project called BEAMJIT for Erlang that is pypy-like in that it builds the interpreter and the tracing JIT compiler from a single source)
oberstet has joined #pypy
wleslie has quit [Quit: ~~~ Crash in JIT!]
forgottenone has joined #pypy
isidentical has joined #pypy
muke has joined #pypy
<cfbolz> arigato: I talked to him, we plan to do boehm for the second problem to get started
<cfbolz> as for guards, the goal is really to recompile the whole loop nest every time a bridge gets attached
<cfbolz> antocuni: the three approaches are, as far as I got it a) a consultancy (julia) b) a consultancy but with support contracts (elixir) c) a patreon-like model (elm, but the creator isn't happy with it)
<cfbolz> antocuni: I thought the support contracts sounded the most interesting
<cfbolz> (fixed monthly price, ongoing, the companies can come and ask for reviews, feedback, bugfixes. makes everything quite plannable)
<antocuni> cfbolz: yes, support contracts sounds interesting
<antocuni> I can't find a link to the company behind elixir though
<cfbolz> antocuni: https://dashbit.co/ I think
<cfbolz> José Valim seemed really open in the panel, maybe we could just send a mail
ebarrett has quit [Quit: WeeChat 2.9]
ebarrett has joined #pypy
otisolsen70 has joined #pypy
Kipras_ has joined #pypy
<antocuni> yes, could be an indea
<antocuni> I think that as usual our biggest blocker is that we don't have a business oriented person
isidentical has quit [Read error: Connection reset by peer]
isidentical has joined #pypy
Kipras_ has quit [Read error: Connection reset by peer]
<muke> I'm looking at the runner backend tests and seeing that the loops are defined with input arguments, and the resulting assembly is called with specific values for them through cpu.execute_token, so does this mean the current backends are creating indivisual functions for every trace passed to them?
<muke> That just seems a little weird to me, as surely in the context of a JIT you already have what those values are anyway right? Is it just a testing thing?
<muke> doing a bit more looking and thinking another possibility is it's patching generated assembly with given arguments before executing it just for testing, but still not sure
<cfbolz> muke: you want to reuse those pieces of assembler many times, right?
<cfbolz> so yes, they are all "functions" (not quite, but close enough)
<cfbolz> I'll do some streaming again now
<muke> cfbolz I had thought it was a more 'static' thing where the compiled traces are using the same values, but I suppose it makes sense to reuse the same generated code with different ones
<muke> the main reason I was wondering is because it'll inform how I construct the LLVM-IR through it's api
<muke> when you say 'not quite' does that mean stack frames aren't actually being allocated or something?
<muke> anyway for now I'll enjoy your stream :)
isidentical has quit [Quit: isidentical]
<cfbolz> muke: the input args are definitely function arguments
<muke> ok, I'll use the api to define a function for each call to compile_loop and similar methods then
<muke> I have to figure out how to parse the return value for any arbitrary trace, though, hope that's not too complicated
muke has quit [Quit: Leaving]
isidentical has joined #pypy
isidentical has quit [Client Quit]
jcea has joined #pypy