Armin Rigo avatar Armin Rigo committed 2e62dd9

Minor bug: this self.cpu.compile_loop() is bogus, because the loop was already
compiled by the constructor of RandomLoop.

Comments (0)

Files changed (2)


         self.startvars = startvars
         self.prebuilt_ptr_consts = []
         self.r = r
+        self.subloops = []
         self.build_random_loop(cpu, builder_factory, r, startvars, allow_delay)
     def build_random_loop(self, cpu, builder_factory, r, startvars, allow_delay):
             return False
         # generate the branch: a sequence of operations that ends in a FINISH
         subloop = DummyLoop([])
+        self.subloops.append(subloop)   # keep around for debugging
         if guard_op.is_guard_exception():
         bridge_builder = self.builder.fork(self.builder.cpu, subloop,
             args = [x.clonebox() for x in subset]
             rl = RandomLoop(self.builder.cpu, self.builder.fork,
                                      r, args)
-            dump(rl.loop)
-            self.cpu.compile_loop(rl.loop.inputargs, rl.loop.operations,
-                                  rl.loop._jitcelltoken)
             # done
             self.should_fail_by = rl.should_fail_by
             self.expected = rl.expected


         """Generate the initial code for handling a failure.  We try to
         keep it as compact as possible.
+        assert guardtok.faildescr.index < 0    # must not have an index so far
         fail_index = self.cpu.get_fail_descr_number(guardtok.faildescr)
         mc =
         startpos = mc.get_relative_pos()
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.