View source
value-profiling
  • Contributors
    1. Loading...
Author Commit Message Date Builds
250+ commits behind default.
Carl Friedrich Bolz-Tereick
merge default
Carl Friedrich Bolz-Tereick
fix interaction of known class lists and cpyext
Carl Friedrich Bolz-Tereick
test that found the problem of the previous commit
Carl Friedrich Bolz-Tereick
test and fix for write_necessary logic when mixing ints and objects
Carl Friedrich Bolz-Tereick
fix translation by killing dead import
Carl Friedrich Bolz-Tereick
rename valueprof to heapprof
Carl Friedrich Bolz-Tereick
move the valueprof to rlib
Carl Friedrich Bolz-Tereick
document the profiler
Carl Friedrich Bolz-Tereick
test write_necessary and make see_write return nothing
Carl Friedrich Bolz-Tereick
a test for lists of known types
Carl Friedrich Bolz-Tereick
another one, for loop constants
Carl Friedrich Bolz-Tereick
add some tests about the new instance features
Carl Friedrich Bolz-Tereick
fix test_pypy_c tests
Carl Friedrich Bolz-Tereick
fix the interaction between record_exact_class and the heapcache
Carl Friedrich Bolz-Tereick
what a stupid bug
Carl Friedrich Bolz-Tereick
merge default
Carl Friedrich Bolz-Tereick
do the same thing for write
Carl Friedrich Bolz-Tereick
proper integration between a field being known an instance of W_IntObject or W_FloatObject
Carl Friedrich Bolz-Tereick
integrate value-profiling and type cells better
Carl Friedrich Bolz-Tereick
merge default (superficial merge, will need fixes to integrate the two approaches)
Carl Friedrich Bolz-Tereick
optimization: _pure_read already calls _read_cell, so no need to do it again (even though that is safe)
Carl Friedrich Bolz-Tereick
merge default
Carl Friedrich Bolz-Tereick
slightly different approach for integrating mutable cells and immutability: before, an integer field went from storing a W_IntObject immutably, then switching to a IntMutableCell on the first mutation. This makes everything less type stable, leading to more bridges and making this branch fundamentally incompatible with heap profiling. Now the IntMutableCell is *always* stored, but if it is ever mutated map.ever_mutated is set to True. That means that as long as ever_mutat…
Carl Friedrich Bolz-Tereick
merge default
Carl Friedrich Bolz-Tereick
merge
Carl Friedrich Bolz-Tereick
more test_pypy_c fixes
Carl Friedrich Bolz-Tereick
not necessary to do a write when overwriting a known constant attribute
Carl Friedrich Bolz-Tereick
merge default
Carl Friedrich Bolz-Tereick
merge default
Carl Friedrich Bolz-Tereick
merge
Carl Friedrich Bolz-Tereick
fix some of the test_pypy_c tests
Carl Friedrich Bolz-Tereick
merge default
Carl Friedrich Bolz-Tereick
merge default
Carl Friedrich Bolz-Tereick
fix problem when the class is not a constant
Carl Friedrich Bolz-Tereick
merge default
Carl Friedrich Bolz-Tereick
need the same here
Carl Friedrich Bolz-Tereick
merge default
Carl Friedrich Bolz-Tereick
argh! _immutable_ overrides quasi-immutability
Carl Friedrich Bolz-Tereick
for local variables, only track the type to make the interpreter less bad
Carl Friedrich Bolz-Tereick
remove prints
Carl Friedrich Bolz-Tereick
fix translation
Carl Friedrich Bolz-Tereick
track when lists store instances of the same (rpython level) class
Carl Friedrich Bolz-Tereick
make record_exact_class also imply that the box is not null
Carl Friedrich Bolz-Tereick
merge default
Carl Friedrich Bolz-Tereick
(cfbolz, arigo around): deal with non-constant classes in record_exact_class
Carl Friedrich Bolz-Tereick
(cfbolz, arigo): fix a segfault
Carl Friedrich Bolz-Tereick
(arigo, cfbolz): this does not make sense any more
Carl Friedrich Bolz-Tereick
merge default
Carl Friedrich Bolz-Tereick
reanme to record_exact_class
Carl Friedrich Bolz-Tereick
merge default
Carl Friedrich Bolz-Tereick
another translation problem
Carl Friedrich Bolz-Tereick
maybe fix translation
Carl Friedrich Bolz-Tereick
feed the known classes to the JIT
Carl Friedrich Bolz-Tereick
print about classes too
Carl Friedrich Bolz-Tereick
(cfbolz, arigo around): refactor
Carl Friedrich Bolz-Tereick
track the type of integers too
Carl Friedrich Bolz-Tereick
(cfbolz, arigo aroundish): track precise classes too
Carl Friedrich Bolz-Tereick
(arigo, cfbolz): fix unroll_safe
Carl Friedrich Bolz-Tereick
(arigo, cfbolz): print not when jitting
Carl Friedrich Bolz-Tereick
(arigo, cfbolz): make tests compatible with printing
Carl Friedrich Bolz-Tereick
(cfbolz, arigo): interpreter optimization
Carl Friedrich Bolz-Tereick
(cfbolz, arigo): small code simplification
Carl Friedrich Bolz-Tereick
merge default
Armin Rigo
pom pom pom
Armin Rigo
Add some missing see_write()s
Armin Rigo
pdb.set_trace() not expected any more
Carl Friedrich Bolz-Tereick
(arigo, cfbolz): another place where locals_cells_stack_w is written to
Carl Friedrich Bolz-Tereick
(arigo, cfbolz): more printing
Carl Friedrich Bolz-Tereick
(arigo, cfbolz): this is not needed at all any more
Carl Friedrich Bolz-Tereick
(cfbolz, arigo): grumble grumble
Carl Friedrich Bolz-Tereick
(arigo, cfbolz): temporarily add some debug printing
Carl Friedrich Bolz-Tereick
(arigo, cfbolz): also support value profiling of instance attributes
Carl Friedrich Bolz-Tereick
merge
Carl Friedrich Bolz-Tereick
(cfbolz, arigo): rename attributes to lessen risk of conflict
Carl Friedrich Bolz-Tereick
(arigo, cfbolz): use a slightly different approach, both a bit more flexible and safer
Carl Friedrich Bolz-Tereick
merge default
Carl Friedrich Bolz-Tereick
try to speed up the interpreter a bit
Carl Friedrich Bolz-Tereick
remove prints
Carl Friedrich Bolz-Tereick
(cfbolz, fijal) elidable functions need results :-(
Carl Friedrich Bolz-Tereick
also important to catch default arguments
Carl Friedrich Bolz-Tereick
need to use the promoted code object
Carl Friedrich Bolz-Tereick
fix translation (grr)
Carl Friedrich Bolz-Tereick
(cfbolz, fijal around) fix weakref handling
Carl Friedrich Bolz-Tereick
(cfbolz, fijal around) use the values that the profiler finds
Carl Friedrich Bolz-Tereick
(cfbolz, fijal around): playing around with a simple value profiler in the interpreter.
Carl Friedrich Bolz-Tereick
also unwrap floats
Carl Friedrich Bolz-Tereick
merge default
Carl Friedrich Bolz-Tereick
merge default
Carl Friedrich Bolz-Tereick
fix test_pypy_c
Carl Friedrich Bolz-Tereick
preserve immutable optimization better
Carl Friedrich Bolz-Tereick
merge default
Carl Friedrich Bolz-Tereick
make mutboxes on the first write
Carl Friedrich Bolz-Tereick
keep a flag on PlainAttributes that indicates whether we need to check for a MutableCell
Carl Friedrich Bolz-Tereick
rename test
Carl Friedrich Bolz-Tereick
move _write_cell to PlainAttribute
Carl Friedrich Bolz-Tereick
merge default
Carl Friedrich Bolz-Tereick
start using mutable int boxes on instances
Carl Friedrich Bolz-Tereick
small cleanup