- 12 Apr, 2016 18 commits
-
-
Kevin Modzelewski authored
I think this ends up not affecting the interpreter because the interpreter frame (that spawns the thread) ends up keeping the args alive for long enough?
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
It was just an error-message difference.
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
I guess it's good that we have that since it was firing to tell us that we were generating bad assembly.
-
Kevin Modzelewski authored
Will take some more work to actually free thread-locals since we don't expose that I'm surprised we didn't actually free any of that before!
-
Kevin Modzelewski authored
It wasn't decreffing the previous value if there was one
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Marius Wachtler authored
- a lot of the tests were I removed the skip line are failing in the llvm tier - we will have to look at them later - this does not enable the bjit yet
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Marius Wachtler authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
well, ones that aren't quite constant. They can just register their C static variables and then change them at will. The _warnings module does this
-
Kevin Modzelewski authored
It's bad that we need to do that right now, but it's not the job of these tests to test that.
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
- Some missing refcounting annotations - We would allocate before guarding, so if the guards failed we would leak those objects. - The code now treats this conservatively (like it should), which might result in more rewriter aborts. I manually tried to fix the case that was hitting this for now. - Small bug in the llvm-tier type specialization
-
- 11 Apr, 2016 16 commits
-
-
Kevin Modzelewski authored
- simple bug where when clearing the IC I forgot to clear the old list of gc references. - keep gc references alive during the duration of the rewrite. There are some cases where the thing we are guarding on would normally get destroyed by the end of the operation. So make the ref an owned ref. But at the end if we see that we hold the only reference to the object, abort the rewrite (since the guard could never pass in the future)
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
ie a commit that worked around our (previous) lack of refcounting.
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
I think technically only the globals are needed but I think this is probably safer. There's a FunctionMetadata* inbetween that doesn't get memory managed, so the function just looks through that for now.
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
Or maybe it's just hacking it up some more.
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
Not very realistic but easy for testing
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
- 09 Apr, 2016 6 commits
-
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
Use the CPython technique of swapping out the list contents for the duration of the sort, since the compare functions can look at the list. This wasn't even being triggered by something that explicitly looked at the list: the issue was that the comparison function invoked a gc collection and the gc saw the half-mutated list.
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-