Author: fijal Branch: vmprof-newstack Changeset: r81653:451e0179aa73 Date: 2016-01-10 21:31 +0200 http://bitbucket.org/pypy/pypy/changeset/451e0179aa73/
Log: fixes diff --git a/rpython/jit/backend/llsupport/test/zrpy_vmprof_test.py b/rpython/jit/backend/llsupport/test/zrpy_vmprof_test.py --- a/rpython/jit/backend/llsupport/test/zrpy_vmprof_test.py +++ b/rpython/jit/backend/llsupport/test/zrpy_vmprof_test.py @@ -1,13 +1,20 @@ -import os +import os, py from rpython.jit.backend.test.support import CCompiledMixin from rpython.rlib.jit import JitDriver from rpython.tool.udir import udir +from rpython.translator.translator import TranslationContext from rpython.jit.backend.detect_cpu import getcpuclass class CompiledVmprofTest(CCompiledMixin): CPUClass = getcpuclass() + def _get_TranslationContext(self): + t = TranslationContext() + t.config.translation.gc = 'incminimark' + t.config.translation.list_comprehension_operations = True + return t + def test_vmprof(self): from rpython.rlib import rvmprof @@ -20,7 +27,8 @@ except rvmprof.VMProfPlatformUnsupported, e: py.test.skip(str(e)) - driver = JitDriver(greens = ['code'], reds = ['i', 's', 'num']) + driver = JitDriver(greens = ['code'], reds = ['i', 's', 'num'], + is_recursive=True) @rvmprof.vmprof_execute_code("xcode13", lambda code, num: code) def main(code, num): @@ -55,6 +63,9 @@ from vmprof import read_profile tmpfile = str(udir.join('test_rvmprof')) stats = read_profile(tmpfile) + t = stats.get_tree() + import pdb + pdb.set_trace() self.meta_interp(f, [100000000]) try: diff --git a/rpython/rlib/rvmprof/src/vmprof_get_custom_offset.h b/rpython/rlib/rvmprof/src/vmprof_get_custom_offset.h --- a/rpython/rlib/rvmprof/src/vmprof_get_custom_offset.h +++ b/rpython/rlib/rvmprof/src/vmprof_get_custom_offset.h @@ -26,7 +26,7 @@ result[n] = VMPROF_ASSEMBLER_TAG; result[n + 1] = start_addr; n += 2; - start = n + 2; + start = n; while (n < max_depth) { id = pypy_yield_codemap_at_addr(codemap, addr, ¤t_pos); if (id == -1) diff --git a/rpython/rlib/rvmprof/src/vmprof_main.h b/rpython/rlib/rvmprof/src/vmprof_main.h --- a/rpython/rlib/rvmprof/src/vmprof_main.h +++ b/rpython/rlib/rvmprof/src/vmprof_main.h @@ -155,7 +155,7 @@ // the bottom part is jitted, means we can fill up the first part // from the JIT n = vmprof_write_header_for_jit_addr(result, n, pc, max_depth); - bottom_jitted = 1; + stack = stack->next; // skip the first item as it contains garbage } while (n < max_depth - 1 && stack) { result[n] = stack->kind; diff --git a/rpython/rlib/rvmprof/src/vmprof_stack.h b/rpython/rlib/rvmprof/src/vmprof_stack.h --- a/rpython/rlib/rvmprof/src/vmprof_stack.h +++ b/rpython/rlib/rvmprof/src/vmprof_stack.h @@ -1,3 +1,5 @@ + +#include <unistd.h> #define VMPROF_CODE_TAG 1 #define VMPROF_BLACKHOLE_TAG 2 _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit