Skip to content

test_rjumps_jumpf_nonreturning()

Documentation for tests/osaka/eip7692_eof_v1/eip5450_stack/test_code_validation.py::test_rjumps_jumpf_nonreturning@49a16fac.

Generate fixtures for these test cases for Osaka with:

fill -v tests/osaka/eip7692_eof_v1/eip5450_stack/test_code_validation.py::test_rjumps_jumpf_nonreturning --fork Osaka

Test EOF container validaiton for EIP-4200 vs EIP-6206 interactions on non-returning functions.

Source code in tests/osaka/eip7692_eof_v1/eip5450_stack/test_code_validation.py
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
@pytest.mark.parametrize(
    "inputs", itertools.product(*([possible_inputs_outputs] * (num_sections - 1)))
)
@pytest.mark.parametrize(
    "rjump_kind",
    RjumpKind,
)
# Parameter value fixed for first iteration, to cover the most important case.
@pytest.mark.parametrize("rjump_section_idx", [0, 1])
@pytest.mark.parametrize(
    "rjump_spot",
    # `termination` is empty for JUMPF codes, because JUMPF serves as one. Spot
    # `BEFORE_TERMINATION` is unreachable code.
    [k for k in RjumpSpot if k not in [RjumpSpot.BEFORE_TERMINATION]],
)
def test_rjumps_jumpf_nonreturning(
    eof_test: EOFTestFiller,
    inputs: Tuple[int, ...],
    rjump_kind: RjumpKind,
    rjump_section_idx: int,
    rjump_spot: RjumpSpot,
):
    """
    Test EOF container validaiton for EIP-4200 vs EIP-6206 interactions on non-returning
    functions.
    """
    # Zeroth section has always 0 inputs and 0 outputs, so is excluded from param
    inputs = (0,) + inputs

    sections = []
    container_has_rjump_pops = False
    container_has_rjump_off_code = False
    container_has_non_returning_retf = False

    for section_idx in range(num_sections):
        if section_idx < num_sections - 1:
            call = Op.JUMPF[section_idx + 1]
            call.popped_stack_items = inputs[section_idx + 1]
            call.pushed_stack_items = 0
            call.min_stack_height = call.popped_stack_items
            call.max_stack_height = max(call.popped_stack_items, call.pushed_stack_items)
            termination = Bytecode()
        else:
            call = None
            termination = Op.STOP

        # `section_has_invalid_back_jump` - never happens: we excluded RJUMP from the end
        # `rjump_snippet_pushes` - never happens: we never RETF where too large stack would fail
        (
            code,
            _section_has_invalid_back_jump,
            rjump_snippet_pops,
            _rjump_snippet_pushes,
            rjump_falls_off_code,
        ) = section_code_with(
            inputs[section_idx],
            0,
            rjump_kind if rjump_section_idx == section_idx else None,
            rjump_spot,
            call,
            termination,
        )

        if rjump_snippet_pops:
            container_has_rjump_pops = True
        if rjump_falls_off_code:
            container_has_rjump_off_code = True
        if rjump_kind == RjumpKind.RJUMPI_OVER_RETF:
            container_has_non_returning_retf = True

        if section_idx > 0:
            sections.append(
                Section.Code(
                    code,
                    code_inputs=inputs[section_idx],
                    code_outputs=NON_RETURNING_SECTION,
                )
            )
        else:
            sections.append(Section.Code(code))

    possible_exceptions = []
    if container_has_rjump_pops:
        possible_exceptions.append(EOFException.STACK_UNDERFLOW)
    if container_has_rjump_off_code:
        possible_exceptions.append(EOFException.INVALID_RJUMP_DESTINATION)
    if container_has_non_returning_retf:
        possible_exceptions.append(EOFException.INVALID_NON_RETURNING_FLAG)

    eof_test(container=Container(sections=sections), expect_exception=possible_exceptions or None)

Parametrized Test Cases

The interactive table below is also available as a standalone page.

Test ID (Abbreviated) rjump_spot rjump_section_idx rjump_kind inputs
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_0-rjump_kind_EMPTY_RJUMP-inputs_(0, 0) BEGINNING 0 EMPTY_RJUMP (0, 0)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_0-rjump_kind_EMPTY_RJUMP-inputs_(0, 1) BEGINNING 0 EMPTY_RJUMP (0, 1)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_0-rjump_kind_EMPTY_RJUMP-inputs_(1, 0) BEGINNING 0 EMPTY_RJUMP (1, 0)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_0-rjump_kind_EMPTY_RJUMP-inputs_(1, 1) BEGINNING 0 EMPTY_RJUMP (1, 1)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_0-rjump_kind_EMPTY_RJUMPI-inputs_(0, 0) BEGINNING 0 EMPTY_RJUMPI (0, 0)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_0-rjump_kind_EMPTY_RJUMPI-inputs_(0, 1) BEGINNING 0 EMPTY_RJUMPI (0, 1)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_0-rjump_kind_EMPTY_RJUMPI-inputs_(1, 0) BEGINNING 0 EMPTY_RJUMPI (1, 0)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_0-rjump_kind_EMPTY_RJUMPI-inputs_(1, 1) BEGINNING 0 EMPTY_RJUMPI (1, 1)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_0-rjump_kind_RJUMPI_OVER_PUSH-inputs_(0, 0) BEGINNING 0 RJUMPI_OVER_PUSH (0, 0)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_0-rjump_kind_RJUMPI_OVER_PUSH-inputs_(0, 1) BEGINNING 0 RJUMPI_OVER_PUSH (0, 1)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_0-rjump_kind_RJUMPI_OVER_PUSH-inputs_(1, 0) BEGINNING 0 RJUMPI_OVER_PUSH (1, 0)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_0-rjump_kind_RJUMPI_OVER_PUSH-inputs_(1, 1) BEGINNING 0 RJUMPI_OVER_PUSH (1, 1)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_0-rjump_kind_RJUMPI_OVER_NOOP-inputs_(0, 0) BEGINNING 0 RJUMPI_OVER_NOOP (0, 0)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_0-rjump_kind_RJUMPI_OVER_NOOP-inputs_(0, 1) BEGINNING 0 RJUMPI_OVER_NOOP (0, 1)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_0-rjump_kind_RJUMPI_OVER_NOOP-inputs_(1, 0) BEGINNING 0 RJUMPI_OVER_NOOP (1, 0)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_0-rjump_kind_RJUMPI_OVER_NOOP-inputs_(1, 1) BEGINNING 0 RJUMPI_OVER_NOOP (1, 1)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_0-rjump_kind_RJUMPI_OVER_STOP-inputs_(0, 0) BEGINNING 0 RJUMPI_OVER_STOP (0, 0)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_0-rjump_kind_RJUMPI_OVER_STOP-inputs_(0, 1) BEGINNING 0 RJUMPI_OVER_STOP (0, 1)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_0-rjump_kind_RJUMPI_OVER_STOP-inputs_(1, 0) BEGINNING 0 RJUMPI_OVER_STOP (1, 0)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_0-rjump_kind_RJUMPI_OVER_STOP-inputs_(1, 1) BEGINNING 0 RJUMPI_OVER_STOP (1, 1)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_0-rjump_kind_RJUMPI_OVER_PUSH_POP-inputs_(0, 0) BEGINNING 0 RJUMPI_OVER_PUSH_POP (0, 0)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_0-rjump_kind_RJUMPI_OVER_PUSH_POP-inputs_(0, 1) BEGINNING 0 RJUMPI_OVER_PUSH_POP (0, 1)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_0-rjump_kind_RJUMPI_OVER_PUSH_POP-inputs_(1, 0) BEGINNING 0 RJUMPI_OVER_PUSH_POP (1, 0)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_0-rjump_kind_RJUMPI_OVER_PUSH_POP-inputs_(1, 1) BEGINNING 0 RJUMPI_OVER_PUSH_POP (1, 1)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_0-rjump_kind_RJUMPI_OVER_POP-inputs_(0, 0) BEGINNING 0 RJUMPI_OVER_POP (0, 0)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_0-rjump_kind_RJUMPI_OVER_POP-inputs_(0, 1) BEGINNING 0 RJUMPI_OVER_POP (0, 1)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_0-rjump_kind_RJUMPI_OVER_POP-inputs_(1, 0) BEGINNING 0 RJUMPI_OVER_POP (1, 0)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_0-rjump_kind_RJUMPI_OVER_POP-inputs_(1, 1) BEGINNING 0 RJUMPI_OVER_POP (1, 1)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_0-rjump_kind_RJUMPI_OVER_NEXT-inputs_(0, 0) BEGINNING 0 RJUMPI_OVER_NEXT (0, 0)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_0-rjump_kind_RJUMPI_OVER_NEXT-inputs_(0, 1) BEGINNING 0 RJUMPI_OVER_NEXT (0, 1)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_0-rjump_kind_RJUMPI_OVER_NEXT-inputs_(1, 0) BEGINNING 0 RJUMPI_OVER_NEXT (1, 0)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_0-rjump_kind_RJUMPI_OVER_NEXT-inputs_(1, 1) BEGINNING 0 RJUMPI_OVER_NEXT (1, 1)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_0-rjump_kind_RJUMPI_OVER_NEXT_NESTED-inputs_(0, 0) BEGINNING 0 RJUMPI_OVER_NEXT_NESTED (0, 0)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_0-rjump_kind_RJUMPI_OVER_NEXT_NESTED-inputs_(0, 1) BEGINNING 0 RJUMPI_OVER_NEXT_NESTED (0, 1)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_0-rjump_kind_RJUMPI_OVER_NEXT_NESTED-inputs_(1, 0) BEGINNING 0 RJUMPI_OVER_NEXT_NESTED (1, 0)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_0-rjump_kind_RJUMPI_OVER_NEXT_NESTED-inputs_(1, 1) BEGINNING 0 RJUMPI_OVER_NEXT_NESTED (1, 1)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_0-rjump_kind_RJUMPI_TO_START-inputs_(0, 0) BEGINNING 0 RJUMPI_TO_START (0, 0)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_0-rjump_kind_RJUMPI_TO_START-inputs_(0, 1) BEGINNING 0 RJUMPI_TO_START (0, 1)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_0-rjump_kind_RJUMPI_TO_START-inputs_(1, 0) BEGINNING 0 RJUMPI_TO_START (1, 0)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_0-rjump_kind_RJUMPI_TO_START-inputs_(1, 1) BEGINNING 0 RJUMPI_TO_START (1, 1)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_0-rjump_kind_RJUMPV_EMPTY_AND_OVER_NEXT-inputs_(0, 0) BEGINNING 0 RJUMPV_EMPTY_AND_OVER_NEXT (0, 0)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_0-rjump_kind_RJUMPV_EMPTY_AND_OVER_NEXT-inputs_(0, 1) BEGINNING 0 RJUMPV_EMPTY_AND_OVER_NEXT (0, 1)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_0-rjump_kind_RJUMPV_EMPTY_AND_OVER_NEXT-inputs_(1, 0) BEGINNING 0 RJUMPV_EMPTY_AND_OVER_NEXT (1, 0)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_0-rjump_kind_RJUMPV_EMPTY_AND_OVER_NEXT-inputs_(1, 1) BEGINNING 0 RJUMPV_EMPTY_AND_OVER_NEXT (1, 1)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_0-rjump_kind_RJUMPV_OVER_PUSH_AND_TO_START-inputs_(0, 0) BEGINNING 0 RJUMPV_OVER_PUSH_AND_TO_START (0, 0)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_0-rjump_kind_RJUMPV_OVER_PUSH_AND_TO_START-inputs_(0, 1) BEGINNING 0 RJUMPV_OVER_PUSH_AND_TO_START (0, 1)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_0-rjump_kind_RJUMPV_OVER_PUSH_AND_TO_START-inputs_(1, 0) BEGINNING 0 RJUMPV_OVER_PUSH_AND_TO_START (1, 0)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_0-rjump_kind_RJUMPV_OVER_PUSH_AND_TO_START-inputs_(1, 1) BEGINNING 0 RJUMPV_OVER_PUSH_AND_TO_START (1, 1)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_0-rjump_kind_RJUMPI_OVER_RETF-inputs_(0, 0) BEGINNING 0 RJUMPI_OVER_RETF (0, 0)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_0-rjump_kind_RJUMPI_OVER_RETF-inputs_(0, 1) BEGINNING 0 RJUMPI_OVER_RETF (0, 1)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_0-rjump_kind_RJUMPI_OVER_RETF-inputs_(1, 0) BEGINNING 0 RJUMPI_OVER_RETF (1, 0)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_0-rjump_kind_RJUMPI_OVER_RETF-inputs_(1, 1) BEGINNING 0 RJUMPI_OVER_RETF (1, 1)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_1-rjump_kind_EMPTY_RJUMP-inputs_(0, 0) BEGINNING 1 EMPTY_RJUMP (0, 0)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_1-rjump_kind_EMPTY_RJUMP-inputs_(0, 1) BEGINNING 1 EMPTY_RJUMP (0, 1)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_1-rjump_kind_EMPTY_RJUMP-inputs_(1, 0) BEGINNING 1 EMPTY_RJUMP (1, 0)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_1-rjump_kind_EMPTY_RJUMP-inputs_(1, 1) BEGINNING 1 EMPTY_RJUMP (1, 1)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_1-rjump_kind_EMPTY_RJUMPI-inputs_(0, 0) BEGINNING 1 EMPTY_RJUMPI (0, 0)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_1-rjump_kind_EMPTY_RJUMPI-inputs_(0, 1) BEGINNING 1 EMPTY_RJUMPI (0, 1)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_1-rjump_kind_EMPTY_RJUMPI-inputs_(1, 0) BEGINNING 1 EMPTY_RJUMPI (1, 0)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_1-rjump_kind_EMPTY_RJUMPI-inputs_(1, 1) BEGINNING 1 EMPTY_RJUMPI (1, 1)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_1-rjump_kind_RJUMPI_OVER_PUSH-inputs_(0, 0) BEGINNING 1 RJUMPI_OVER_PUSH (0, 0)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_1-rjump_kind_RJUMPI_OVER_PUSH-inputs_(0, 1) BEGINNING 1 RJUMPI_OVER_PUSH (0, 1)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_1-rjump_kind_RJUMPI_OVER_PUSH-inputs_(1, 0) BEGINNING 1 RJUMPI_OVER_PUSH (1, 0)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_1-rjump_kind_RJUMPI_OVER_PUSH-inputs_(1, 1) BEGINNING 1 RJUMPI_OVER_PUSH (1, 1)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_1-rjump_kind_RJUMPI_OVER_NOOP-inputs_(0, 0) BEGINNING 1 RJUMPI_OVER_NOOP (0, 0)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_1-rjump_kind_RJUMPI_OVER_NOOP-inputs_(0, 1) BEGINNING 1 RJUMPI_OVER_NOOP (0, 1)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_1-rjump_kind_RJUMPI_OVER_NOOP-inputs_(1, 0) BEGINNING 1 RJUMPI_OVER_NOOP (1, 0)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_1-rjump_kind_RJUMPI_OVER_NOOP-inputs_(1, 1) BEGINNING 1 RJUMPI_OVER_NOOP (1, 1)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_1-rjump_kind_RJUMPI_OVER_STOP-inputs_(0, 0) BEGINNING 1 RJUMPI_OVER_STOP (0, 0)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_1-rjump_kind_RJUMPI_OVER_STOP-inputs_(0, 1) BEGINNING 1 RJUMPI_OVER_STOP (0, 1)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_1-rjump_kind_RJUMPI_OVER_STOP-inputs_(1, 0) BEGINNING 1 RJUMPI_OVER_STOP (1, 0)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_1-rjump_kind_RJUMPI_OVER_STOP-inputs_(1, 1) BEGINNING 1 RJUMPI_OVER_STOP (1, 1)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_1-rjump_kind_RJUMPI_OVER_PUSH_POP-inputs_(0, 0) BEGINNING 1 RJUMPI_OVER_PUSH_POP (0, 0)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_1-rjump_kind_RJUMPI_OVER_PUSH_POP-inputs_(0, 1) BEGINNING 1 RJUMPI_OVER_PUSH_POP (0, 1)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_1-rjump_kind_RJUMPI_OVER_PUSH_POP-inputs_(1, 0) BEGINNING 1 RJUMPI_OVER_PUSH_POP (1, 0)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_1-rjump_kind_RJUMPI_OVER_PUSH_POP-inputs_(1, 1) BEGINNING 1 RJUMPI_OVER_PUSH_POP (1, 1)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_1-rjump_kind_RJUMPI_OVER_POP-inputs_(0, 0) BEGINNING 1 RJUMPI_OVER_POP (0, 0)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_1-rjump_kind_RJUMPI_OVER_POP-inputs_(0, 1) BEGINNING 1 RJUMPI_OVER_POP (0, 1)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_1-rjump_kind_RJUMPI_OVER_POP-inputs_(1, 0) BEGINNING 1 RJUMPI_OVER_POP (1, 0)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_1-rjump_kind_RJUMPI_OVER_POP-inputs_(1, 1) BEGINNING 1 RJUMPI_OVER_POP (1, 1)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_1-rjump_kind_RJUMPI_OVER_NEXT-inputs_(0, 0) BEGINNING 1 RJUMPI_OVER_NEXT (0, 0)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_1-rjump_kind_RJUMPI_OVER_NEXT-inputs_(0, 1) BEGINNING 1 RJUMPI_OVER_NEXT (0, 1)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_1-rjump_kind_RJUMPI_OVER_NEXT-inputs_(1, 0) BEGINNING 1 RJUMPI_OVER_NEXT (1, 0)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_1-rjump_kind_RJUMPI_OVER_NEXT-inputs_(1, 1) BEGINNING 1 RJUMPI_OVER_NEXT (1, 1)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_1-rjump_kind_RJUMPI_OVER_NEXT_NESTED-inputs_(0, 0) BEGINNING 1 RJUMPI_OVER_NEXT_NESTED (0, 0)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_1-rjump_kind_RJUMPI_OVER_NEXT_NESTED-inputs_(0, 1) BEGINNING 1 RJUMPI_OVER_NEXT_NESTED (0, 1)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_1-rjump_kind_RJUMPI_OVER_NEXT_NESTED-inputs_(1, 0) BEGINNING 1 RJUMPI_OVER_NEXT_NESTED (1, 0)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_1-rjump_kind_RJUMPI_OVER_NEXT_NESTED-inputs_(1, 1) BEGINNING 1 RJUMPI_OVER_NEXT_NESTED (1, 1)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_1-rjump_kind_RJUMPI_TO_START-inputs_(0, 0) BEGINNING 1 RJUMPI_TO_START (0, 0)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_1-rjump_kind_RJUMPI_TO_START-inputs_(0, 1) BEGINNING 1 RJUMPI_TO_START (0, 1)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_1-rjump_kind_RJUMPI_TO_START-inputs_(1, 0) BEGINNING 1 RJUMPI_TO_START (1, 0)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_1-rjump_kind_RJUMPI_TO_START-inputs_(1, 1) BEGINNING 1 RJUMPI_TO_START (1, 1)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_1-rjump_kind_RJUMPV_EMPTY_AND_OVER_NEXT-inputs_(0, 0) BEGINNING 1 RJUMPV_EMPTY_AND_OVER_NEXT (0, 0)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_1-rjump_kind_RJUMPV_EMPTY_AND_OVER_NEXT-inputs_(0, 1) BEGINNING 1 RJUMPV_EMPTY_AND_OVER_NEXT (0, 1)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_1-rjump_kind_RJUMPV_EMPTY_AND_OVER_NEXT-inputs_(1, 0) BEGINNING 1 RJUMPV_EMPTY_AND_OVER_NEXT (1, 0)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_1-rjump_kind_RJUMPV_EMPTY_AND_OVER_NEXT-inputs_(1, 1) BEGINNING 1 RJUMPV_EMPTY_AND_OVER_NEXT (1, 1)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_1-rjump_kind_RJUMPV_OVER_PUSH_AND_TO_START-inputs_(0, 0) BEGINNING 1 RJUMPV_OVER_PUSH_AND_TO_START (0, 0)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_1-rjump_kind_RJUMPV_OVER_PUSH_AND_TO_START-inputs_(0, 1) BEGINNING 1 RJUMPV_OVER_PUSH_AND_TO_START (0, 1)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_1-rjump_kind_RJUMPV_OVER_PUSH_AND_TO_START-inputs_(1, 0) BEGINNING 1 RJUMPV_OVER_PUSH_AND_TO_START (1, 0)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_1-rjump_kind_RJUMPV_OVER_PUSH_AND_TO_START-inputs_(1, 1) BEGINNING 1 RJUMPV_OVER_PUSH_AND_TO_START (1, 1)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_1-rjump_kind_RJUMPI_OVER_RETF-inputs_(0, 0) BEGINNING 1 RJUMPI_OVER_RETF (0, 0)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_1-rjump_kind_RJUMPI_OVER_RETF-inputs_(0, 1) BEGINNING 1 RJUMPI_OVER_RETF (0, 1)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_1-rjump_kind_RJUMPI_OVER_RETF-inputs_(1, 0) BEGINNING 1 RJUMPI_OVER_RETF (1, 0)
...fork_Osaka-eof_test-rjump_spot_BEGINNING-rjump_section_idx_1-rjump_kind_RJUMPI_OVER_RETF-inputs_(1, 1) BEGINNING 1 RJUMPI_OVER_RETF (1, 1)