Ticket #1427 (closed deprecation: done)

Opened 7 years ago

Last modified 6 years ago

RetContinuation PMC

Reported by: bacek Owned by:
Priority: normal Milestone: 2.4
Component: core Version: trunk
Severity: medium Keywords:
Cc: Language:
Patch status: Platform:

Description (last modified by bacek) (diff)


Solely purpose of RetContinuation was to quickly recycle Continuation after .invoke. After merging fix for #1393 it's not true any more. Now RetContinuation can be replaced with just Continuation PMC.

-- Bacek


retcon.diff Download (15.9 KB) - added by coke 6 years ago.
Remove usage of RetCon in the src/

Change History

Changed 7 years ago by bacek

  • description modified (diff)

Changed 6 years ago by coke

  • milestone changed from 2.3 to 2.4

Changed 6 years ago by coke

  • type changed from cage to deprecation
  • summary changed from [DEPRECATED] RetContinuation PMC to RetContinuation PMC

Changed 6 years ago by coke

Attached a patch which converts internal usage of RetCon into straight Continuation.

All tests pass except t/op/calling.t #47:

.sub main :main
    $P0 = eval("print \"Foo!\\n\"")

.sub eval
    .param string code
    code = ".sub main :main :anon\n" . code
    code = code . "\n.end\n"
    $P0 = compreg "PIR"
    .tailcall $P0(code)

Fails with:

invoke() not implemented in class 'String' current instr.: 'main' pc 15 (/Users/coke/sandbox/parrot/t/op/calling_47.pir:3)

Changed 6 years ago by coke

  • owner set to coke

Changed 6 years ago by coke

Remove usage of RetCon in the src/

Changed 6 years ago by coke

  • owner coke deleted

Updated the attachment.

Unfortunately, it now fails all t/pmc/pack*.t tests. - I am assuming this is because PBC_COMPAT was bumped (because a core PMC was removed.).

I've tried regenerating the native pbcs used by the packfile tests, but tools/dev/mk_native_pbc fails for me on linux & OS X intel.

the extend test also needs some attention once this issue is resolved.

Changed 6 years ago by coke

Recent branch commits have already bumped PBC_COMPAT, so there will be a conflict there.

Changed 6 years ago by bacek

  • status changed from new to closed
  • resolution set to done

Patch (with minor tweaks) applied in r45867. Native PBCs rebuild. Closing ticket.

Note: See TracTickets for help on using tickets.