1. Pypy
  2. Untitled project
  3. pypy

Commits

Show all
Author Commit Message Date Builds
Manuel Jacob
Add a hack to make functions linked in from C code inlinable. To make inlining these functions possible, their callers must (simplified) have the same target specified. This commits adds a hack to get the necessary attributes from clang.
Manuel Jacob
Explicitly set random_effects_on_gcobjs flag if constructing an external function pointer.
Manuel Jacob
hg merge default
Carl Friedrich Bolz
a whatsnew entry
Carl Friedrich Bolz
merge globals-quasiimmut: - make most global lookups take zero operations, even in the preamble and in bridges - reduce the size of most frames by one word (they don't have to store the globals dict any more in most cases)
Carl Friedrich Bolz
close to-be-merged branch
Carl Friedrich Bolz
frame.f_globals is not writable
Carl Friedrich Bolz
remove confusing class level default
Armin Rigo
Expand the error message
Carl Friedrich Bolz
rejigger test_pypy_c tests
Carl Friedrich Bolz
introduce a special class W_ModuleDictObject which stores the strategy as a quasi-immutable field. that way, global lookups really produce 0 ops, even in the preamble.
Carl Friedrich Bolz
store the first w_globals that a code object is run in on the code object. if a frame runs within that code object (which is almost always), it does not need to store it.
Carl Friedrich Bolz
merge
Carl Friedrich Bolz
rename lazy_setfield to lazy_set (since it also means "setarrayitem")
Carl Friedrich Bolz
another assert: we only re-size the ._items of an array info if it is not virtual
Manuel Jacob
Set visibility of call wrappers to 'hidden'.
Manuel Jacob
Implement a LLVM plugin pass which internalizes hidden symbols. "Internalizes" means that it'll set internal linkage, which is comparable to adding the static keyword in C. This should be correct because the LLVM backend links all source files into one module before compiling.
Manuel Jacob
Implement gc_thread_run() operation.
Manuel Jacob
Cleanup RandomEffectsAnalyzer's and CollectAnalyzer's analyze_external_call(). Now that these methods get only called for actual external calls, we can assume that the random_effects_on_gcobjs attribute is always present on the function object.
Manuel Jacob
Remove dead code.
Manuel Jacob
Clean up after 58ef780a3875. When committing 58ef780a3875, I unintentionally replaced the call of `get_graph()` by `funcobj.graph`. After 419c89606228 this does exactly the same, so I decided to clean up by removing the now-unused import and a superfluous assertion.
Manuel Jacob
Cleanup get_graph() function. 1) Remove last try block, which was dead. 2) Remove getting funcobj._callable. The `callable` variable was unused after 1). In case you wonder whether there might have been a bug before: AFAIK translator._graphof(funcobj._callable) can't return something if funcobj.graph is not present.
Manuel Jacob
Let GraphAnalyzer return a conservative result if it encounters a function object which is neither external nor has a graph attached.
Armin Rigo
Remove the need for passing "config" to StackletThread().
Manuel Jacob
hg merge default
Manuel Jacob
Make GraphAnalyzer return the bottom result when encountering a null function pointer.
Manuel Jacob
Fix this test by using the new entrypoint API.
Manuel Jacob
hg merge default
Manuel Jacob
Let GraphAnalyzer's analyze_external_call() method take a function object instead of the call operation.
Manuel Jacob
Let GraphAnalyzer return a conservative result instead of crashing if it encounters a call of a delayed pointer.
  1. Prev
  2. Next