PageRenderTime 49ms CodeModel.GetById 21ms RepoModel.GetById 0ms app.codeStats 0ms

/rpython/jit/backend/x86/test/test_ztranslation.py

https://bitbucket.org/nibrahim/pypy
Python | 42 lines | 33 code | 6 blank | 3 comment | 1 complexity | f39b2836ef531beb00275aa1848b1c95 MD5 | raw file
Possible License(s): Apache-2.0
  1. import py, os, sys
  2. from rpython.tool.udir import udir
  3. from rpython.rlib.jit import JitDriver, unroll_parameters, set_param
  4. from rpython.rlib.jit import PARAMETERS, dont_look_inside
  5. from rpython.rlib.jit import promote
  6. from rpython.rlib import jit_hooks
  7. from rpython.jit.metainterp.jitprof import Profiler
  8. from rpython.jit.backend.detect_cpu import getcpuclass
  9. from rpython.jit.backend.test.support import CCompiledMixin
  10. from rpython.jit.codewriter.policy import StopAtXPolicy
  11. from rpython.translator.translator import TranslationContext
  12. from rpython.jit.backend.x86.arch import IS_X86_32, IS_X86_64
  13. from rpython.config.translationoption import DEFL_GC
  14. from rpython.rlib import rgc
  15. class TestTranslationX86(CCompiledMixin):
  16. CPUClass = getcpuclass()
  17. def _check_cbuilder(self, cbuilder):
  18. # We assume here that we have sse2. If not, the CPUClass
  19. # needs to be changed to CPU386_NO_SSE2, but well.
  20. assert '-msse2' in cbuilder.eci.compile_extra
  21. assert '-mfpmath=sse' in cbuilder.eci.compile_extra
  22. def test_jit_get_stats(self):
  23. driver = JitDriver(greens = [], reds = ['i'])
  24. def f():
  25. i = 0
  26. while i < 100000:
  27. driver.jit_merge_point(i=i)
  28. i += 1
  29. def main():
  30. jit_hooks.stats_set_debug(None, True)
  31. f()
  32. ll_times = jit_hooks.stats_get_loop_run_times(None)
  33. return len(ll_times)
  34. res = self.meta_interp(main, [])
  35. assert res == 3
  36. # one for loop, one for entry point and one for the prologue