Changeset 21216

Show
Ignore:
Timestamp:
07/04/08 14:43:10 (3 months ago)
Author:
ruoso
Message:

[smop] p6opaque still breaks... but now pmurias++ sm0p parser is used by default

Location:
v6/smop
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • v6/smop/sm0p.pl

    r21214 r21216  
    4343    my ($writer, $reader, $error) = map { gensym } 1..3; 
    4444    my $pid; 
    45     if ($ENV{SM0P_FASTER}) { 
    46         $pid = open3($writer, $reader, $error, 'perl',"-I$base/../../src/perl6",'-I'.$base.'/../../misc/sm0p', $base.'/../../misc/sm0p/sm0p_with_actions') || die "$@"; 
     45    unless ($ENV{SM0P_SLOWISH_KP6}) { 
     46        $pid = open3($writer, $reader, $error, 
     47                     'perl',"-I$base/../../src/perl6", 
     48                     '-I'.$base.'/../../misc/sm0p', 
     49                     $base.'/../../misc/sm0p/sm0p_with_actions') || die "$@"; 
    4750    } else { 
    48         $pid = open3($writer, $reader, $error, 'perl', '-I'.$base.'/../v6-KindaPerl6/compiled/perl5-kp6-mp6/lib',$base.'/sm0p/KP6sm0p.pl'); 
     51        $pid = open3($writer, $reader, $error, 
     52                     'perl', '-I'.$base.'/../v6-KindaPerl6/compiled/perl5-kp6-mp6/lib', 
     53                     $base.'/sm0p/KP6sm0p.pl') || die $@; 
    4954    } 
    5055    print {$writer} $code; 
  • v6/smop/src/p6opaque.sm0p

    r21202 r21216  
    231231        SMOP__NATIVE__bool_true.SMOP__ID__dispatch(); 
    232232        $invocant.SMOP__ID__REPR_DESTROY(); 
     233        SMOP__SLIME__CurrentFrame.forget(); 
    233234        $interpreter.goto(|$continuation); 
    234235      }; 
     
    250251        SMOP__SLIME__CurrentFrame.move_capturize(SMOP__SLIME__Capturize.new(1,(),(),1)); 
    251252        SMOP__p6opaque__RI.SMOP__ID__REPR_DESTROY(); 
     253        SMOP__SLIME__CurrentFrame.forget(); 
    252254        $interpreter.goto(|$continuation); 
    253255      }; 
  • v6/smop/test/12_p6opaque.sm0p

    r21202 r21216  
    7575  printf("ok 2 - goto frame.\n"); 
    7676 
    77   SMOP_RELEASE(interpreter,p6opaque); 
    7877  SMOP_DISPATCH(interpreter, SMOP_RI(interpreter), 
    7978                SMOP__ID__loop, SMOP__NATIVE__capture_create(interpreter, 
    8079                                                             SMOP_REFERENCE(interpreter,interpreter), 
     80 
    8181                                                             NULL, NULL)); 
     82 
    8283  printf("ok 5 - interpreter loop.\n"); 
    8384 
    84  
     85  SMOP_RELEASE(SMOP__INTPTR__InterpreterInstance,how); 
     86  SMOP_RELEASE(SMOP__INTPTR__InterpreterInstance,p6opaque); 
    8587  SMOP_RELEASE(SMOP__INTPTR__InterpreterInstance,interpreter); 
    8688