Exemple #1
0
 def f(i, j):
     for param, _ in unroll_parameters:
         defl = PARAMETERS[param]
         set_param(jitdriver, param, defl)
     set_param(jitdriver, "threshold", 3)
     set_param(jitdriver, "trace_eagerness", 2)
     total = 0
     frame = Frame(i)
     j = float(j)
     prev_s = rstr.mallocstr(16)
     while frame.i > 3:
         jitdriver.can_enter_jit(frame=frame, total=total, j=j,
                                 prev_s=prev_s)
         jitdriver.jit_merge_point(frame=frame, total=total, j=j,
                                   prev_s=prev_s)
         _get_virtualizable_token(frame)
         total += frame.i
         if frame.i >= 20:
             frame.i -= 2
         frame.i -= 1
         j *= -0.712
         if j + (-j):    raise ValueError
         j += frame.i
         k = myabs1(myabs2(j))
         if k - abs(j):  raise ValueError
         if k - abs(-j): raise ValueError
         s = rstr.mallocstr(16)
         rgc.ll_write_final_null_char(s)
         rgc.ll_write_final_null_char(prev_s)
         if (frame.i & 3) == 0:
             prev_s = s
     return chr(total % 253)
Exemple #2
0
 def check(lst):
     hashes = []
     for i, (s, a) in enumerate(lst):
         assert a.x == i
         rgc.ll_write_final_null_char(s)
     for i, (s, a) in enumerate(lst):
         assert a.x == i  # check it was not overwritten
Exemple #3
0
 def check(lst):
     hashes = []
     for i, (s, a) in enumerate(lst):
         assert a.x == i
         rgc.ll_write_final_null_char(s)
     for i, (s, a) in enumerate(lst):
         assert a.x == i     # check it was not overwritten