From edb31235287e14faf6365a923559aacbd909e0f0b6db09c0371edcfde04ed546 Mon Sep 17 00:00:00 2001 From: Stefan Seifert Date: Sun, 15 Jun 2025 15:38:03 +0000 Subject: [PATCH] =?UTF-8?q?-=20update=20to=20version=202025.05=20=20=20*?= =?UTF-8?q?=20Add=20dispatching=20logic=20for=20an=20HLL=20override=20=20?= =?UTF-8?q?=20*=20Add=20open=20mode=20constants=20=20=20*=20Add=20a=20few?= =?UTF-8?q?=20capabilities=20for=20NQP-level=20dd=20=20=20*=20Provide=20be?= =?UTF-8?q?tter=20feedback=20for=20ambiguous=20adverb=20usage=20=20=20*=20?= =?UTF-8?q?Micro-optimize=20Match!cursor=5Finit=20a=20bit=20=20=20*=20Allo?= =?UTF-8?q?w=20--repl-mode=20even=20with=20parameters=20=20=20*=20Make=20-?= =?UTF-8?q?-repl-mode=20truly=20leading=20=20=20*=20Give=20interactive=20m?= =?UTF-8?q?ode=20also=20access=20to=20command-line=20arguments=20=20=20*?= =?UTF-8?q?=20Add=20is-interactive=20to=20HLL::Compiler=20(#827)=20=20=20*?= =?UTF-8?q?=20Set=20a=20more=20sensible=20repl-mode=20by=20default=20=20?= =?UTF-8?q?=20*=20Verify=20some=20sizes=20in=20qast=20compiler=20mast=20?= =?UTF-8?q?=20=20*=20Fix=20missing=20register=20initialization=20in=20repe?= =?UTF-8?q?at=20loops=20=20=20*=20Use=20a=20local=20for=20a=20somewhat=20h?= =?UTF-8?q?ot=20class=20member=20access=20=20=20*=20Use=20a=20local=20vari?= =?UTF-8?q?able=20for=20a=20class=20member=20access...=20=20=20*=20Use=20l?= =?UTF-8?q?ocals=20instead=20of=20class=20variables=20=20=20*=20Use=20corr?= =?UTF-8?q?ect=20typed=20accessors=20where=20able=20=20=20*=20Ensure=20we?= =?UTF-8?q?=20declare=20our=20dynamics=20even=20when=20there's=20no=20comp?= =?UTF-8?q?unit=20-=20Update=20to=20version=202024.04:=20=20=20*=20Add=20"?= =?UTF-8?q?code=5Fof=5Fmethod"=20and=20"declares=5Fmethod"=20methods=20=20?= =?UTF-8?q?=20*=20Add=20hint=20back=20in=20=20=20*=20Add=20minimized=20fas?= =?UTF-8?q?tutil=20jar=20=20=20*=20Allow=20--moar-option=3D'--no-optimize'?= =?UTF-8?q?=20to=20actually=20work=20=20=20*=20Enable=20the=20creation=20o?= =?UTF-8?q?f=20'is=20item'=20and=20'is=20exact-type'=20param=20traits=20?= =?UTF-8?q?=20=20*=20Eradicate=20.publish=5Fmethod=5Fcache=20from=20MoarVM?= =?UTF-8?q?=20backend=20=20=20*=20Further=20dd=20tweaks=20=20=20*=20Initia?= =?UTF-8?q?l=20stab=20at=20a=20"dd"=20for=20NQP=20=20=20*=20Make=20sure=20?= =?UTF-8?q?we=20catch=20errors=20in=20stringification=20=20=20*=20Manually?= =?UTF-8?q?=20sort=20two=20elements=20of=20an=20array=20instead=20of=20usi?= =?UTF-8?q?ng=20=20=20=20=20.subList().sort()=20=20=20*=20More=20efficient?= =?UTF-8?q?=20way=20to=20get=20a=20long=20as=20a=20string=20=20=20*=20More?= =?UTF-8?q?=20tweaking=20fetching=20MRO=20=20=20*=20Oops,=20we=20can=20typ?= =?UTF-8?q?e=20the=20object=20key=20=20=20*=20P6str's=20StorageSpec=20can?= =?UTF-8?q?=20be=20a=20singleton=20=20=20*=20Pre-allocate=20arrays=20and?= =?UTF-8?q?=20use=20bind=5Fpos=20instead=20of=20push=20=20=20*=20Rename=20?= =?UTF-8?q?NQPClassHOW's=20$!mro=20to=20$!MRO=20=20=20*=20Simplify=20JVM?= =?UTF-8?q?=20backend's=20set=5Fsize=5Finternal=20=20=20*=20Simplify=20run?= =?UTF-8?q?NFA()=20a=20little=20=20=20*=20Slight=20tweak=20in=20fetching?= =?UTF-8?q?=20MRO=20=20=20*=20[JVM]=20Fix=20capturenamedshash=20to=20actua?= =?UTF-8?q?lly=20include=20objects=20-=20Apply=20spec-cleaner.=20-=20Set?= =?UTF-8?q?=20"Source"=20to=20GitHub's=20URL,=20so=20the=20source=20tarbal?= =?UTF-8?q?l=20may=20be=20=20=20downloaded=20through=20the=20appropriate?= =?UTF-8?q?=20OBS=20service.=20-=20Use=20"%{version}"=20to=20declare=20the?= =?UTF-8?q?=20related=20MoarVM=20dependency,=20rather=20=20=20than=20hardc?= =?UTF-8?q?oding=20MoarVM's=20version.=20-=20update=20to=20version=202024.?= =?UTF-8?q?02=20=20=20*=20Add=20optional=20positional=20parameter=20to=20a?= =?UTF-8?q?rchetypes=20method=20=20=20*=20Make=20unsigned=20comparison=20o?= =?UTF-8?q?ps=20available=20=20=20*=20Add=20nqp::chown()=20op=20=20=20*=20?= =?UTF-8?q?Add=20`comment`=20token=20to=20the=20grammar=20=20=20*=20Set=20?= =?UTF-8?q?`.node`=20for=20statements=20=20=20*=20Make=20compilation=20err?= =?UTF-8?q?ors=20more=20informative=20=20=20*=20Add=20support=20for=20Raku?= =?UTF-8?q?AST::Origin::Match=20=20=20*=20Provide=20access=20to=20QAST::Bl?= =?UTF-8?q?ock's=20cuid=20counter=20for=20RakuAST=20=20=20*=20Provide=20cu?= =?UTF-8?q?rrent=20compiler=20via=20$*HLL-COMPILER=20=20=20*=20Fix=20back-?= =?UTF-8?q?references=20when=20there=20are=20aliases=20=20=20*=20Remove=20?= =?UTF-8?q?unused=20apply=5Ftranscoding=20compiler=20function=20=20=20*=20?= =?UTF-8?q?Remove=20unused=20transcode=20compiler=20option=20=20=20*=20Add?= =?UTF-8?q?=20nqp::syscall,=20nqp::register,=20nqp::delegate=20ops=20=20?= =?UTF-8?q?=20*=20Introduce=20nqp::track=20and=20nqp::guard=20=20=20*=20Us?= =?UTF-8?q?e=20=20nqp::const::HLL=5Fxxx=20constants=20instead=20of=20magic?= =?UTF-8?q?=20numbers=20=20=20*=20Add=20all=20SIG=5FELEM=20constants=20as?= =?UTF-8?q?=20nqp::const::xx=20constants=20=20=20*=20Only=20add=20unique?= =?UTF-8?q?=20types=20to=20the=20typecache=20=20=20*=20Add=20support=20for?= =?UTF-8?q?=20TWEAK=20method=20=20=20*=20Fix=20issue=20with=20multi=5Fmeth?= =?UTF-8?q?ods=20in=20NQPParametricRoleHOW=20=20=20*=20Implement=20locking?= =?UTF-8?q?=20on=20NQP(Class|ConcreteRole)HOW=20=20=20*=20Make=20the=20pos?= =?UTF-8?q?itional=20on=20"method=5Ftable"=20optional=20=20=20*=20Make=20t?= =?UTF-8?q?he=20positional=20on=20"(is=5F)array=5Ftype"=20optional=20=20?= =?UTF-8?q?=20*=20Make=20the=20positional=20on=20"role=5Ftypecheck=5Flist"?= =?UTF-8?q?=20optional=20=20=20*=20Make=20the=20positional=20on=20"mro"=20?= =?UTF-8?q?optional=20=20=20*=20Make=20the=20positional=20on=20"BUILD(ALL)?= =?UTF-8?q?PLAN"=20optional=20=20=20*=20Create=20nqp::const::EDGE=5Fxxx=20?= =?UTF-8?q?connstants=20=20=20*=20Remove=20dead=20base64=20decoding=20logi?= =?UTF-8?q?c=20=20=20*=20Add=20nqp::const::MVM=5Freg=5Fxxx=20constants=20?= =?UTF-8?q?=20=20*=20(is=5F)array=5Ftype=20don't=20need=20any=20positional?= =?UTF-8?q?=20argument=20-=20update=20to=20version=202022.07=20=20=20*=20P?= =?UTF-8?q?resize=20$!mbc=20and=20write=20at=20offsets=20instead=20of=20pu?= =?UTF-8?q?shing=20=20=20*=20Write=20each=20frame=20directly=20to=20the=20?= =?UTF-8?q?MAST=20bytecode=20file...=20=20=20*=20Speed=20up=20"sorted=5Fke?= =?UTF-8?q?ys"=20sub=20-=20update=20to=20version=202022.03=20=20=20*=20Rem?= =?UTF-8?q?ove=20some=20not-needed=20trys,=20or=20convert=20to=20nqp::can?= =?UTF-8?q?=20+=20the=20method=20call=20=20=20*=20Provide=20op=20coerce=5F?= =?UTF-8?q?ns=20on=20MoarVM=20and=20JVM=20=20=20*=20Fix=20all=20returned?= =?UTF-8?q?=20native=20integers=20getting=20treated=20as=20signed=20-=20Fi?= =?UTF-8?q?x=20build=20on=20RHEL7=20=20=20RHEL=20doesn't=20include=20perl'?= =?UTF-8?q?s=20core=20libraries=20in=20its=20perl=20package,=20so=20=20=20?= =?UTF-8?q?we=20need=20to=20explicitly=20depend=20on=20the=20modules=20we?= =?UTF-8?q?=20need=20for=20building.=20-=20update=20to=20version=202022.02?= =?UTF-8?q?=20=20=20*=20Introduce=20a=20new=20generalized=20dispatch=20mec?= =?UTF-8?q?hanism.=20=20=20=20=20It=20results=20in=20a=20more=20uniform=20?= =?UTF-8?q?architecture=20for=20all=20kinds=20=20=20=20=20of=20dispatch,?= =?UTF-8?q?=20delivering=20better=20performance=20on=20a=20range=20of=20?= =?UTF-8?q?=20=20=20=20langauge=20features.=20For=20more=20information=20s?= =?UTF-8?q?ee=20=20=20=20=20https://6guts.wordpress.com/2021/09/29/the-new?= =?UTF-8?q?-moarvm-dispatch-mechanism-is-here/=20=20=20*=20Native=20unsign?= =?UTF-8?q?ed=20integers=20are=20now=20first=20class=20citizens=20=20=20*?= =?UTF-8?q?=20Give=20NQPParametricRoleHOW=20a=20role=5Ftypecheck=5Flist=20?= =?UTF-8?q?method=20=20=20*=20Set=20NQP=20HLL=20on=20all=20NQP=20types=20?= =?UTF-8?q?=20=20*=20Avoid=20an=20implicit=20array=20stringification=20in?= =?UTF-8?q?=20NQP=20=20=20*=20Avoid=20a=20slurp/flatten=20in=20NQP=20objec?= =?UTF-8?q?t=20creation=20=20=20*=20Avoid=20lots=20of=20string=20box/unbox?= =?UTF-8?q?=20in=20hash=20key=20sort=20=20=20*=20Use=20natives=20to=20redu?= =?UTF-8?q?ce=20some=20allocation=20hotspots=20=20=20*=20Fix=20miscompilat?= =?UTF-8?q?ion=20of=20sized=20integers=20as=20loop=20condition=20=20=20*?= =?UTF-8?q?=20Remove=20the=20--rxtrace=20feature=20=20=20*=20Access=20regi?= =?UTF-8?q?ster=20allocator=20via=20compiler=20instance=20=20=20*=20Switch?= =?UTF-8?q?=20most=20$*MAST=5FFRAME=20access=20away=20from=20dynamics=20?= =?UTF-8?q?=20=20*=20Replace=20costly=20$*MAST=5FFRAME=20lookup=20with=20$?= =?UTF-8?q?frame=20arg=20in=20core=20op=20generators=20=20=20*=20Don't=20e?= =?UTF-8?q?rror=20if=20no=20typechecking=20mode=20set=20=20=20*=20move=20l?= =?UTF-8?q?ookups=20of=20op=20generators=20out=20of=20repeated=20code=20?= =?UTF-8?q?=20=20*=20Use=20`my=20constant`=20somewhat=20in=20QAST=20compil?= =?UTF-8?q?er=20=20=20*=20Add=20mapping=20for=20ctxnt=20op=20=20=20*=20Avo?= =?UTF-8?q?id=20duplicate=20lookups=20in=20NFA=20merging=20=20=20*=20Fix?= =?UTF-8?q?=20SpecialArg=20unintentionally=20modifying=20class'=20MRO=20?= =?UTF-8?q?=20=20*=20Don't=20die=20on=20non-primitive=20objects=20in=20$!n?= =?UTF-8?q?amed=20=20=20*=20More=20universal=20fix=20for=20dumping=20QAST?= =?UTF-8?q?=20nodes=20with=20attached=20data=20=20=20*=20Implement=20the?= =?UTF-8?q?=20-o=20form=20of=20the=20--output=20option=20=20=20*=20Fix=20r?= =?UTF-8?q?ace=20when=20checking=20for=20global=20uniques=20(#760)=20-=20u?= =?UTF-8?q?pdate=20to=20version=202021.08=20=20=20*=20Fix=20several=20issu?= =?UTF-8?q?es=20on=20the=20JVM=20-=20update=20to=20version=202021.07=20=20?= =?UTF-8?q?=20*=20Implement=20support=20for=20moar::hllincludes=20config?= =?UTF-8?q?=20variable=20=20=20*=20Fix=20reproducible=20build=20regression?= =?UTF-8?q?=20=20=20*=20Wrap=20QAST::Regex=20from=20qbuildsub=20in=20QAST:?= =?UTF-8?q?:Stmts=20-=20update=20to=20version=202021.06=20=20=20*=20Simpli?= =?UTF-8?q?fy=20loop=20in=20optimizer's=20incorporate=5Finner=20=20=20*=20?= =?UTF-8?q?Micro-optimize=20the=20sift=5Fdown=20sub=20in=20sorted=5Fkeys?= =?UTF-8?q?=20=20=20*=20Remove=20no=20longer=20needed=20JVM=20workaround?= =?UTF-8?q?=20-=20update=20to=20version=202021.05=20=20=20*=20Use=20new=20?= =?UTF-8?q?nqp::time=20instead=20of=20nqp::time=5F(i|n)=20=20=20*=20Finish?= =?UTF-8?q?=20getting=20rid=20of=20NQPCursor=20=20=20*=20Remove=20no=20lon?= =?UTF-8?q?ger=20needed=20$!slang=20override=20in=20Braid=20=20=20*=20Disa?= =?UTF-8?q?llow=20explicity=20specifying=20op=20write=20registers=20=20=20?= =?UTF-8?q?*=20No=20need=20to=20stringify=20the=20float=20twice=20in=20the?= =?UTF-8?q?=20sprintf=20implementation.=20=20=20*=20Hoist=20the=20repeated?= =?UTF-8?q?=20calculation=20in=20stringify-to-precision2=20to=20a=20variab?= =?UTF-8?q?le.=20=20=20*=20Accurately=20calculate=20pow=5Fn(10.0,=20$exp)?= =?UTF-8?q?=20for=20stringify-to-precision2.=20=20=20*=20Convert=20scienti?= =?UTF-8?q?fic=20and=20shortest=20to=20use=20pow10=20and=20an=20int=20for?= =?UTF-8?q?=20$exp.=20-=20update=20to=20version=202021.03=20=20=20*=20Supp?= =?UTF-8?q?ort=20some=20missing=20Rakudo=20command=20line=20flags=20=20=20?= =?UTF-8?q?*=20Comment=20out=20two=20lines=20only=20needed=20during=20debu?= =?UTF-8?q?gging=20=20=20*=20Eliminate=20the=20ops=20sec=5Fn,=20asec=5Fn?= =?UTF-8?q?=20and=20sech=5Fh,=20which=20are=20no=20longer=20used.=20-=20up?= =?UTF-8?q?date=20to=20version=202021.02=20=20=20*=20Switch=20spawnprocasy?= =?UTF-8?q?nc=20to=20use=20a=20separate=20arg=20for=20the=20program=20name?= =?UTF-8?q?=20=20=20*=20Stub=20some=20Archetypes=20methods=20expected=20by?= =?UTF-8?q?=20Rakudo=20=20=20*=20Don't=20bind=20an=20int=20attribute=20to?= =?UTF-8?q?=200=20directly=20after=20construction=20=20=20*=20Improve=20er?= =?UTF-8?q?ror=20message=20for=20erroneous=20<.panic()>=20syntax=20=20=20*?= =?UTF-8?q?=20Fix=20sprintf()=20with=20*-specified=20negative=20width=20ar?= =?UTF-8?q?gument=20=20=20*=20Start=20up=20REPL=20if=20"-"=20given=20*and*?= =?UTF-8?q?=20STDIN=20is=20a=20tty=20=20=20*=20Make=20HLL::Compiler.execut?= =?UTF-8?q?e=5Fstage=20easier=20to=20call=20from=20Raku=20=20=20*=20Give?= =?UTF-8?q?=20NQPClassHOW=20a=20submethod=5Ftable=20method=20for=20better?= =?UTF-8?q?=20compatibility=20=20=20*=20Dump=20a=20QAST::Block's=20name,?= =?UTF-8?q?=20too=20for=20easier=20debugging=20=20=20*=20MoarVM:=20Allow?= =?UTF-8?q?=20for=20explicitly=20marking=20the=20mainline=5Fframe=20in=20t?= =?UTF-8?q?he=20bytecode=20=20=20*=20Add=20a=20nested=20compiler's=20load?= =?UTF-8?q?=5Fdependency=5Ftasks=20to=20the=20outer=20compiler's=20=20=20*?= =?UTF-8?q?=20Add=20frames=20created=20by=20a=20nested=20compiler=20to=20t?= =?UTF-8?q?he=20outer=20comp=20unit=20=20=20*=20Allow=20more=20interesting?= =?UTF-8?q?=20constants=20in=20NQP=20=20=20*=20Simplify=20Cursor!cursor=5F?= =?UTF-8?q?pass=20=20=20*=20Micro=20optimize=20!cursor=5Ffail=20=20=20*=20?= =?UTF-8?q?Simplify=20braid=20initialization=20in=20cursor=5Finit=20=20=20?= =?UTF-8?q?*=20Introduce=20/=20use=20!cursor=5Fpass=5Fquick=20=20=20*=20Ma?= =?UTF-8?q?ke=20sure=20cursor=5Fpass=5Fquick=20also=20reset=20bstack=20=20?= =?UTF-8?q?=20*=20Tweaks=20to=20regex=20compiler=20API=20=20=20*=20Remove?= =?UTF-8?q?=20reliance=20in=20a=20$*W=20object=20in=20alt=20NFA=20gen=20?= =?UTF-8?q?=20=20*=20NQP=5FHOME=20env=20var=20should=20override=20a=20stat?= =?UTF-8?q?ic=20NQP=20home=20=20=20*=20map=20nqp::setthreadname=20op=20to?= =?UTF-8?q?=20give=20current=20thread=20a=20name=20=20=20*=20Register=20a?= =?UTF-8?q?=20plain=20HLL::Compiler=20object=20under=20the=20'HLL'=20name?= =?UTF-8?q?=20=20=20*=20Support=20for=20typechecking=20against=20Raku=20ro?= =?UTF-8?q?les=20=20=20*=20Add=20a=20HLL::SysConfig=20class=20=20=20*=20Ad?= =?UTF-8?q?d=20missing=20debug=20type=20name=20for=20easier=20debuggin=20?= =?UTF-8?q?=20=20*=20Make=20mixins=20concurrency=20safe=20=20=20*=20Fix=20?= =?UTF-8?q?parallel=20compilation=20occasionally=20losing=20frames=20=20?= =?UTF-8?q?=20*=20Fix=20"no=20such=20attribute"=20errors=20on=20mixin=20cr?= =?UTF-8?q?eated=20by=20concurrent=20code=20-=20update=20to=20version=2020?= =?UTF-8?q?20.05=20=20=20*=20Add=20nextdispatcherfor/takenextdispatcher=20?= =?UTF-8?q?ops=20=20=20*=20More=20explicit=20error=20when=20more=20than=20?= =?UTF-8?q?one=20--target=20is=20provided=20(issue=20#600)=20=20=20*=20Set?= =?UTF-8?q?=20return=20type=20of=20intifying=20a=20list=20or=20hash=20=20?= =?UTF-8?q?=20*=20Optimize=20code=20trying=20to=20count=20elems=20of=20a?= =?UTF-8?q?=20list=20or=20hash=20=20=20*=20Use=20already=20calculated=20va?= =?UTF-8?q?lue=20instead=20of=20nqp::elems=20=20=20*=20Save=20a=20bunch=20?= =?UTF-8?q?of=20allocations=20in=20MoarVM::StringHeap=20=20=20*=20Split=20?= =?UTF-8?q?MoarVM::StringHeap=20into=20an=20inlineable=20add=20and=20slow?= =?UTF-8?q?=20add-internal=20=20=20*=20Simplify=20some=20Role=20accessor?= =?UTF-8?q?=20methods=20=20=20*=20Remove=20an=20unneeded=20for+push,=20use?= =?UTF-8?q?=20list=20directly=20=20=20*=20Add=20more=20str=20coercion=20ca?= =?UTF-8?q?ses=20=20=20*=20Write=20new=20strings=20directly=20into=20strin?= =?UTF-8?q?g=20heap=20buf=20=20=20*=20Write=20bytecode=20to=20output=20fil?= =?UTF-8?q?e=20on=20the=20fly=20=20=20*=20Write=20header=20last=20instead?= =?UTF-8?q?=20of=20first=20and=20fixing=20up=20=20=20*=20Fix=20sqlite3=20r?= =?UTF-8?q?unning=20out=20of=20memory=20when=20importing=20large=20profile?= =?UTF-8?q?s=20=20=20*=20Fix=20profile=20kind=20detection=20=20=20*=20Supp?= =?UTF-8?q?ort=20anon=20declarator=20on=20NQP=20subs=20=20=20*=20Add=20QAS?= =?UTF-8?q?T::Node::dump=5Findent=5Fstring=20method=20to=20produce=20inden?= =?UTF-8?q?t=20strings=20=20=20*=20Modify=20Node=20dump=20routines=20to=20?= =?UTF-8?q?use=20new=20dump=5Findent=5Fstring=20method=20=20=20*=20Add=20g?= =?UTF-8?q?uide=20lines=20to=20QAST::Block=20node=20dumps=20=20=20*=20Remo?= =?UTF-8?q?ve=20qlist=20opcode=20=20=20*=20Some=20minor=20optimizations=20?= =?UTF-8?q?to=20NQP=20matching=20-=20update=20to=20version=202020.02=20=20?= =?UTF-8?q?=20*=20Fix=20for=20https://github.com/perl6/nqp/issues/559=20?= =?UTF-8?q?=20=20*=20Only=20do=20assignment=20if=20nfa=20is=20not=20in=20t?= =?UTF-8?q?he=20cache=20=20=20*=20cache=5Fadd=20returns=20the=20value,=20s?= =?UTF-8?q?o=20no=20assignment=20needed=20=20=20*=20Completely=20disable?= =?UTF-8?q?=20NFA=20debugging=20(for=20now)=20=20=20*=20Don't=20call=20non?= =?UTF-8?q?-existent=20panic=20method=20=20=20*=20Consistently=20make=20th?= =?UTF-8?q?e=20`.`=20in=20`<.[x]>`=20a=20no-op=20=20=20*=20Recognize=20`ch?= =?UTF-8?q?ain`=20as=20an=20assoc=20-=20update=20to=20version=202020.01=20?= =?UTF-8?q?=20=20*=20Fix=20"Decoder=20may=20not=20be=20used=20concurrently?= =?UTF-8?q?"=20errors=20with=20concurrent=20EVAL=20=20=20*=20Give=20HLL/Ac?= =?UTF-8?q?tions|Grammar=20a=20"raku"=20method=20=20=20*=20Add=20NQPAttrib?= =?UTF-8?q?ute.is=5Fbuilt=20method=20=20=20*=20Add=20NQPAttribute.is=5Fbou?= =?UTF-8?q?nd=20method=20=20=20*=20Change=20references=20of=20HLL=20langua?= =?UTF-8?q?ge=20to=20'Raku'=20=20=20*=20Remove=20HLL=20dependency=20=20=20?= =?UTF-8?q?*=20Fix=20various=20compiler=20warnings=20-=20update=20to=20ver?= =?UTF-8?q?sion=202019.11=20=20=20*=20Map=20nqp::vmeventsubscribe=20to=20c?= =?UTF-8?q?onfigure=20VM=20Event=20Subscription=20=20=20*=20Map=20new=20nq?= =?UTF-8?q?p::intify=20op=20=20=20*=20Provide=20better=20compatibility=20w?= =?UTF-8?q?ith=20Perl6=20Metamodel=20=20=20*=20Use=20nqp::const=20for=20so?= =?UTF-8?q?cket=20family=20constants=20=20=20*=20First=20stab=20at=20makin?= =?UTF-8?q?g=20num=20use=20explicit=20=20=20*=20Type=20constrain=20the=20v?= =?UTF-8?q?alue=20passed=20to=20(I|N)Val.new=20=20=20*=20$/.Int=20should?= =?UTF-8?q?=20actually=20use=20integer=20calculations=20=20=20*=20sprintf?= =?UTF-8?q?=20fix=20for=20the=20JVM,=20bartolin++=20=20=20*=20profiler:=20?= =?UTF-8?q?expose=20"stolen=20gen2=20roots"=20in=20sql=20output=20=20=20*?= =?UTF-8?q?=20profiler:=20one=20line=20per=20statement=20like=20earlier=20?= =?UTF-8?q?versions=20=20=20*=20fix=20profiling=20gc/deallocations=20bug?= =?UTF-8?q?=20swapping=20thread/seqnum=20=20=20*=20output=20"stage=20parse?= =?UTF-8?q?"=20later=20(for=20nested=20output),=20also=20flush=20stderr=20?= =?UTF-8?q?every=20line=20=20=20*=20make=20sql=20output=20smaller=20with?= =?UTF-8?q?=20multi-insert=20statements=20-=20Fix=20installed=20perl6=20no?= =?UTF-8?q?t=20finding=20its=20NQP=20modules=20-=20update=20to=20version?= =?UTF-8?q?=202019.07=20=20=20*=20Make=20building=20Perl=206=20code=20repr?= =?UTF-8?q?oducible=20=20=20*=20Several=20improvements=20to=20the=20profil?= =?UTF-8?q?er=20=20=20*=20Explicitly=20mark=20out=20mixin=20types=20=20=20?= =?UTF-8?q?*=20Add=20method=5Fnames=20and=20method=5Forder=20to=20NQPConcr?= =?UTF-8?q?eteRoleHOW=20=20=20*=20Add=20given=20value=20to=20printf=20bad-?= =?UTF-8?q?directive-type=20error=20=20=20*=20Add=20uname,=20freemem,=20an?= =?UTF-8?q?d=20totalmem=20ops=20=20=20*=20Protect=20against=20self-referen?= =?UTF-8?q?ce=20in=20match=20dump=20=20=20*=20Fix=20precedence=20issues=20?= =?UTF-8?q?with=20|,=20||,=20&,=20&&=20prefixes=20=20=20*=20Always=20produ?= =?UTF-8?q?ce=20integers=20in=20captures=20hash=20=20=20*=20Use=20a=20bett?= =?UTF-8?q?er=20data=20structure=20for=20Match=20setup=20info=20=20=20*=20?= =?UTF-8?q?Bring=20back=20the=20onlyname=20optimization=20=20=20*=20Use=20?= =?UTF-8?q?flags/bitmask=20to=20cheapen/avoid=20some=20work=20=20=20*=20Fi?= =?UTF-8?q?x=20capnames=20with=20&=20=20=20*=20Correct=20construction=20of?= =?UTF-8?q?=20capnames=20in=20P5Regex=20=20=20*=20Add=20int=20to=20constan?= =?UTF-8?q?ts=20to=20avoid=20a=20lot=20of=20unboxing=20=20=20*=20Some=20sm?= =?UTF-8?q?all=20optimizations=20to=20!cursor=5Finit=20=20=20*=20Change=20?= =?UTF-8?q?associativity=20of=20exponentiation=20to=20'right'=20=20=20*=20?= =?UTF-8?q?Allow=20#=3Fif=20stage1/stage2,=20add=20confprog=20loading=20su?= =?UTF-8?q?pport=20via=20cmdline=20flag=20-=20update=20to=20version=202019?= =?UTF-8?q?.03=20=20=20*=20[moar]=20Add=20BINARY=5F*=20constants=20for=20t?= =?UTF-8?q?he=20new=20ops=20=20=20*=20Unmap=20obsolete=20mastto*=20ops=20?= =?UTF-8?q?=20=20*=20Add=20some=20ints=20and=20other=20micro-opts=20to=20N?= =?UTF-8?q?FA=20code=20=20=20*=20micro-opts=20to=20NFA=20code=20=20=20*=20?= =?UTF-8?q?Add=20CONTROL=5FANY=20constant=20=20=20*=20Fix=20loss=20of=20so?= =?UTF-8?q?me=20line=20number=20annotations=20=20=20*=20Don't=20use=20`not?= =?UTF-8?q?e`=20in=20the=20cursor=20role=20=20=20*=20Add=20a=20local=20deb?= =?UTF-8?q?ug=20map=20to=20QAST::Block=20=20=20*=20Have=20MoarVM=20bytecod?= =?UTF-8?q?e=20writer=20write=20debug=20locals=20=20=20*=20Add=20local=20d?= =?UTF-8?q?ebug=20names=20for=20NQP=20code=20=20=20*=20Fix=20for=20dyncomp?= =?UTF-8?q?=20lexical=20lookup=20=20=20*=20Show=20scalar=20replacement=20s?= =?UTF-8?q?tats=20on=20profile=20overview=20=20=20*=20Expose=20Replaced=20?= =?UTF-8?q?Allocations=20To=20SQL=20Profiler=20-=20update=20to=20version?= =?UTF-8?q?=202018.12=20=20=20*=20Implement=20is=20array=5Ftype=20trait=20?= =?UTF-8?q?for=20classes=20=20=20*=20Support=20"is=20box=5Ftarget"=20trait?= =?UTF-8?q?=20=20=20*=20Map=20new=20ops:=20buffertocu,=20serializetobuf,?= =?UTF-8?q?=20writeint,=20writeuint,=20writenum,=20=20=20=20=20readint,=20?= =?UTF-8?q?readuint,=20readnum,=20getcp=5Fs=20=20=20*=20Map=20MVM=5FOPERAN?= =?UTF-8?q?D=5F*=20constants=20=20=20*=20Several=20improvements=20to=20the?= =?UTF-8?q?=20profiler=20=20=20*=20Replace=20MAST=20by=20writing=20MoarVM?= =?UTF-8?q?=20bytecode=20directly=20=20=20*=20Fix=20trying=20to=20encode?= =?UTF-8?q?=20synthetics=20to=20latin-1=20=20=20*=20Fix=20get=5Fframe=5Fin?= =?UTF-8?q?dex=20not=20finding=20frame=20created=20by=20BEGIN=20time=20EVA?= =?UTF-8?q?L=20=20=20*=20[moar]=20Fix=20nqp::falsey=20with=20int32=20argum?= =?UTF-8?q?ent=20=20=20*=20Add=20:$transitive=20named=20re=20R#2401=20=20?= =?UTF-8?q?=20*=20Allow=20a=20fail=20cursor=20to=20be=20provided=20in=20!c?= =?UTF-8?q?ursor=5Finit=20-=20update=20to=20version=202018.10=20=20=20*=20?= =?UTF-8?q?[moar]=20Add=20coercions=20from=20int32,=20int16,=20int8,=20uin?= =?UTF-8?q?t32,=20uint16,=20uint8=20to=20num,=20=20=20=20=20from=20(u)ints?= =?UTF-8?q?=20to=20str=20and=20from=20uints=20to=20ints=20and=20vice=20ver?= =?UTF-8?q?sa.=20=20=20*=20Add=20the=20coerce=5Fus=20op=20to=20QASTCOMpile?= =?UTF-8?q?rMAST=20for=20coercions=20=20=20*=20New=20ops:=20getsignals,=20?= =?UTF-8?q?slice,=20numify,=20wantdecont,=20istype=5Fnd=20("no=20decont"),?= =?UTF-8?q?=20=20=20=20=20hllboxtype=5F*,=202=20new=20atomic=20ops,=20hllb?= =?UTF-8?q?ool,=20hllboolfor,=20fork,=20decodelocaltime=20=20=20*=20Compil?= =?UTF-8?q?e=20MoarVM=20spesh=20plugin=20API=20ops=20=20=20*=20Map=20new?= =?UTF-8?q?=20spesh=20plugin=20object=20literal=20non-match=20op=20=20=20*?= =?UTF-8?q?=20[moar]=20Implement=20unary=20!=20on=20int32s=20=20=20*=20Sev?= =?UTF-8?q?eral=20fixes=20for=20reproducible=20builds=20=20=20*=20Fix=20ST?= =?UTF-8?q?DIN=20error=20for=20non-interactive=20REPL=20mode=20=20=20*=20F?= =?UTF-8?q?ix=20stringification=20of=20Sub=20when=20using=20--target=3Dast?= =?UTF-8?q?=20=20=20*=20Remove=20erroneous=20decont=20op=20in=20chain=20co?= =?UTF-8?q?mpilation=20=20=20*=20Support=20hllization=20of=20Perl=206=20ha?= =?UTF-8?q?shes=20->=20NQP=20hashes=20=20=20*=20[Impl]=20!~~by=20adding=20?= =?UTF-8?q?NOT=5FACCEPTS=20method=20=20=20*=20Provide=20non-decont=20forms?= =?UTF-8?q?=20of=20some=20object=20ops=20=20=20*=20Fix=20Unhandled=20lexic?= =?UTF-8?q?al=20type=20error=20w/=20native=20int's=20and=20Rakudo=20REPL?= =?UTF-8?q?=20=20=20*=20Fix=20missing=20annotations=20in=20QAST=20dumps=20?= =?UTF-8?q?=20=20*=20Add=20callback=20of=20nqp::spawnprocasync=20to=20catc?= =?UTF-8?q?h=20exception=20=20=20*=20Emit=20invoke=5Fv=20instruction=20for?= =?UTF-8?q?=20void=20context=20calls=20=20=20*=20Remove=20<=3Fbefore>=20to?= =?UTF-8?q?ken=20in=20token=20term:sym=20(#484)=20=20?= =?UTF-8?q?=20*=20Rename=20getstrfromname=20to=20strfromname=20(#483)=20?= =?UTF-8?q?=20=20*=20Allow=20specification=20of=20repr=20with=20`stub`=20d?= =?UTF-8?q?eclarator=20=20=20*=20Don't=20check=20var=20until=20we=20actual?= =?UTF-8?q?ly=20gonna=20use=20it=20=20=20*=20Micro-opt=20method=20LANG=20?= =?UTF-8?q?=20=20*=20Don't=20emit=20decont=20of=20callee=20if=20unrequired?= =?UTF-8?q?=20=20=20*=20Improve=20getattr/bindattr=20code=20gen=20quality?= =?UTF-8?q?=20=20=20*=20allow=20more=20type=20info=20to=20be=20passed=20fr?= =?UTF-8?q?om=20moarvm=20=20=20*=20no=20need=20to=20pre-size=20an=20array?= =?UTF-8?q?=20for=20one=20element.=20=20=20*=20also=20store=20whether=20a?= =?UTF-8?q?=20type=20holds=20extra=20data=20=20=20*=20put=20the=20name=20o?= =?UTF-8?q?f=20the=20SC=20in=20every=20type's=20extra=20info=20-=20update?= =?UTF-8?q?=20to=20version=202018.04.1=20=20=20*=20Make=20build=20of=20NQP?= =?UTF-8?q?=20modules=20reproducible=20=20=20*=20Profiler=20Template:=20So?= =?UTF-8?q?rt=20by=20time=20Instead=20of=20Pct=20=20=20*=20Fix=20bug=20wit?= =?UTF-8?q?h=20iteration=20of=20empty=20character=20class=20=20=20*=20Prof?= =?UTF-8?q?iler=20Template:=20Allocations=20modal=20close=20by=20btn=20=20?= =?UTF-8?q?=20*=20Profiler=20Template:=20Sort=20by=20time=20in=20call=20gr?= =?UTF-8?q?aph=20=20=20*=20Clean=20up=20some=20odd=20naming=20in=20QAST=20?= =?UTF-8?q?regex=20compiler=20=20=20*=20Only=20load=20cclass=20constants?= =?UTF-8?q?=20if=20they=20are=20needed=20=20=20*=20Micro-opt=20in=20CAPHAS?= =?UTF-8?q?H=20=20=20*=20Remove=20apparently=20unused=20helper=20method=20?= =?UTF-8?q?=20=20*=20Prevent=20boxing=20of=20native=20str=20=20=20*=20Prev?= =?UTF-8?q?ent=20another=20unnecessary=20boxing=20=20=20*=20Optimize=20cur?= =?UTF-8?q?sor=5Fpush=5Fcstack=20a=20bit=20=20=20*=20Optimize=20a=20loop?= =?UTF-8?q?=20in=20MATCH=20=20=20*=20Don't=20emit=20cstack=20handling=20co?= =?UTF-8?q?de=20if=20unused=20=20=20*=20Use=20tryfindmethod=20in=20reduce?= =?UTF-8?q?=5Fwith=5Fmatch=20=20=20*=20Implement=20nqp::numify=20op=20-=20?= =?UTF-8?q?Remove=20nqp-disable-faulty-test.diff=20-=20tests=20fixed=20ups?= =?UTF-8?q?tream=20-=20Remove=20nqp-reproducible-build.diff=20-=20included?= =?UTF-8?q?=20in=20upstream=20release=20-=20update=20to=20version=202018.0?= =?UTF-8?q?3=20=20=20*=20Support=20for=20profiling=20multi=20threaded=20pr?= =?UTF-8?q?ograms=20=20=20*=20Avoid=20using=20variables=20where=20we=20don?= =?UTF-8?q?'t=20need=20any=20=20=20*=20Fix=20crashes=20with=20native=20typ?= =?UTF-8?q?es=20in=20conditionals=20=20=20*=20Make=20certain=20conditional?= =?UTF-8?q?s=20with=20natives=202.1x=20faster=20=20=20*=20Simplify=20condi?= =?UTF-8?q?tional=20variant=20lookup=20=20=20*=20Easyfy=20matching=20Block?= =?UTF-8?q?=20WVals=20with=20their=20QAST::Blocks=E2=80=A6=20=20=20*=20imp?= =?UTF-8?q?rove=20pod=20panic=20msg=20=20=20*=20No=20need=20to=20load=20Mo?= =?UTF-8?q?duleLoader=20multiple=20times=20=20=20*=20Make=20sure=20the=20v?= =?UTF-8?q?ersion=20of=20jna=20is=204.0.0=20=20=20*=20Remove=20trailing=20?= =?UTF-8?q?whitespace=20=20=20*=20Implement=20QAST::Var.decl=5Fas=20=20=20?= =?UTF-8?q?*=20Remove=20now-unused=20C=203rdparty=20deps=20=20=20*=20Fix?= =?UTF-8?q?=20slurpies=20in=20`if`=20ops;=20jnthn++=20for=20the=20tip=20?= =?UTF-8?q?=20=20*=20Fix=20sprintf=20with=20type=20objects=20=20=20*=20upd?= =?UTF-8?q?ate=20docs=20with=20more=20information=20=20=20*=20rename=20IO?= =?UTF-8?q?=20sub=20"spew"=20to=20"spurt"=20=20=20*=20Map=20new=20nqp::try?= =?UTF-8?q?findmethod=20op=20for=20MoarVM=20backend=20=20=20*=20Use=20nqp:?= =?UTF-8?q?:tryfindmethod=20in=20Cursor!reduce=20=20=20*=20add=20a=20new?= =?UTF-8?q?=20built-in=20sub:=20run-command=20=20=20*=20output=20start=20t?= =?UTF-8?q?ime=20of=20gc=20runs=20to=20sql=20=20=20*=20html=20profiler:=20?= =?UTF-8?q?show=20times=20a=20GC=20run=20started=20=20=20*=20Add=20getppid?= =?UTF-8?q?=20op=20(#422)=20=20=20*=20[moar]=20Add=20encodeconf=20and=20de?= =?UTF-8?q?codeconf=20ops=20=20=20*=20speed=20up=20sql=20output=20by=20abo?= =?UTF-8?q?ut=2030%=20-=20Backport=20reproducible=20build=20support=20to?= =?UTF-8?q?=20fix=20rakudo=20on=20Tumbleweed=20=20=20nqp-reproducible-buil?= =?UTF-8?q?d.diff=20can=20be=20removed=20in=20the=20next=20release=20-=20u?= =?UTF-8?q?pdate=20to=20version=202018.01=20=20=20*=20Improve=20handling?= =?UTF-8?q?=20of=20flags=20for=20'%b'=20directive=20=20=20*=20Make=20||=20?= =?UTF-8?q?alternations=20respect=20:ratchet=20mode=20=20=20*=20Allow=20pe?= =?UTF-8?q?r-atom=20backtracking=20modifiers=20to=20override=20:ratchet=20?= =?UTF-8?q?=20=20*=20Do=20not=20start=20interactive=20REPL=20on=20non=20tt?= =?UTF-8?q?y=20input=20=20=20*=20Check=20for=20the=20backend=20method=20in?= =?UTF-8?q?=20the=20backend=20before=20compiler=20=20=20*=20Make=20Int=20o?= =?UTF-8?q?n=20rakudo's=20Match=20return=20an=20Int=20not=20a=20nqp=20leve?= =?UTF-8?q?l=20int.=20=20=20*=20support=20the=20new=20heapsnapshot=20API?= =?UTF-8?q?=20=20=20*=20Add=20nqp::getrusage=20and=20constants=20on=20Moar?= =?UTF-8?q?VM=20backend=20=20=20*=20Map=20threadlockcount=20op=20on=20Moar?= =?UTF-8?q?VM=20backend=20=20=20*=20Suppress=20warning=20in=20/a=20b+/=20?= =?UTF-8?q?=20=20*=20Map=20the=20new=20nativeinvoke=20OP=20=20=20*=20Remov?= =?UTF-8?q?e=20support=20for=20ornate=20parenthesis=20from=20quoting=20con?= =?UTF-8?q?structs=20=20=20*=20Improve=20error=20message=20when=20space=20?= =?UTF-8?q?with=20combiners=20is=20encountered=20=20=20*=20Remove=20traili?= =?UTF-8?q?ng=20whitespace=20=20=20*=20Implement=20--force-stdin-eval-mode?= =?UTF-8?q?=20command=20line=20arg=20=20=20*=20Rename=20`--force-stdin-eva?= =?UTF-8?q?l-mode`=20command=20line=20opt=20=20=20*=20Make=20NQP's=20BUILD?= =?UTF-8?q?PLAN=20more=20like=20Perl6's=20BUILDPLAN=20=20=20*=20Add=20the?= =?UTF-8?q?=20new=20coerce=5FII=20op=20as=20fromI=5FI=20=20=20*=20Map=20th?= =?UTF-8?q?e=20new=20getarg=5Fi=20op=20for=20reading=20from=20the=20args?= =?UTF-8?q?=20buffer=20=20=20*=20Remove=20some=20@*comp=5Fline=5Fdirective?= =?UTF-8?q?s=20accesses=20(#376)=20=20=20*=20Add=20support=20for=20'+'=20f?= =?UTF-8?q?lag=20for=20%b=20in=20sprintf=20=20=20*=20Add=20support=20for?= =?UTF-8?q?=20a=20block=20no-inline=20flag=20=20=20*=20Fix=20wrong=20coerc?= =?UTF-8?q?ion=20in=20if=20on=20moar=20=20=20*=20Fix=20crash=20with=20name?= =?UTF-8?q?d=20captures=20in=20P5=20regexes=20=20=20*=20Use=20faster=20nqp?= =?UTF-8?q?::istype=20instead=20of=20~~=20=20=20*=20Implement=20nqp::chain?= =?UTF-8?q?static=20op=20=20=20*=20MoarVM:=20Allow=20'chain'=20op=20to=20u?= =?UTF-8?q?se=20child=20as=20callee=20=20=20*=20Use=20faster=20nqp::elems?= =?UTF-8?q?=20instead=20of=20+=20on=20QAST=20nodes=20=20=20*=20Add=20$!cui?= =?UTF-8?q?d=20to=20QAST::Block.dump=20=20=20*=20Implement=20QAST::Node.an?= =?UTF-8?q?notate=5Fself=20=20=20*=20Fix=20dumping=20block=20with=20null?= =?UTF-8?q?=5Fs=20cuids=20=20=20*=20Don't=20die=20if=20parent=20doesn't=20?= =?UTF-8?q?have=20dump=20method=20=20=20*=20Fix=20blocktype=20display=20in?= =?UTF-8?q?=20Block=20extra=20node=20info=20-=20add=20nqp-disable-faulty-t?= =?UTF-8?q?est.diff=20for=20disabling=20faulty=20concurrency=20test=20-=20?= =?UTF-8?q?Remove=20nqp-fix-ll-exception.diff=20-=20included=20in=20upstre?= =?UTF-8?q?am=20release=20-=20update=20to=20version=202017.08=20=20=20*=20?= =?UTF-8?q?Fix=20serious=20security=20hole=20-=20tried=20to=20load=20modul?= =?UTF-8?q?es=20from=20current=20working=20=20=20=20=20directory=20=20=20*?= =?UTF-8?q?=20support=20hardware=5Fconcurrency=20op=20from=20moar=20and=20?= =?UTF-8?q?implement=20for=20jvm=20=20=20*=20match=20renamed=20opcode=20"c?= =?UTF-8?q?pucores"=20in=20moar=20=20=20*=20Fix=20--ll-exception=20trying?= =?UTF-8?q?=20to=20print=20a=20NULL=20=20=20*=20Add=20nqp::codes=20to=20QA?= =?UTF-8?q?STOperationsMAST.nqp=20=20=20*=20Add=20a=20&dies-ok=20to=20the?= =?UTF-8?q?=20setting=20so=20that=20it=20can=20be=20shared=20across=20test?= =?UTF-8?q?s=20=20=20*=20Add=20eqatim=20and=20indexim=20ops.=20Fix=20a=20b?= =?UTF-8?q?ug=20when=20using=20ignoremark=20=20=20*=20Correct=20setup=20of?= =?UTF-8?q?=20$sharedclass=20in=20regex=20compiler.=20=20=20*=20Map=20the?= =?UTF-8?q?=20low=20level=20nativecallinvoke=20op=20=20=20*=20output=20.sq?= =?UTF-8?q?l=20profiler=20data=20if=20template.html=20not=20found=20=20=20?= =?UTF-8?q?*=20Map=20new=20atomic=20ops=20on=20MoarVM=20backend.=20=20=20*?= =?UTF-8?q?=20Add=20constant=20mapping=20atomic=20integer=20type.=20=20=20?= =?UTF-8?q?*=20Add=20nqp::hasuniprop=20op=20to=20QASTOperationsMAST.nqp=20?= =?UTF-8?q?=20=20*=20Add=20support=20for=20%*ENV=20to=20MoarVM?= =?UTF-8?q?=20and=20JS=20ModuleLoaders=20-=20update=20to=20version=202017.?= =?UTF-8?q?07=20=20=20*=20Add=20mapping=20of=20the=20op=20code=20get=5Fpor?= =?UTF-8?q?t=5Fsk=20=20=20*=20Rename=20get=5Fport=20->=20getport=20=20=20*?= =?UTF-8?q?=20Kill=20of=20nqp::getcfh.=20=20=20*=20Give=20NQP=20a=20basic?= =?UTF-8?q?=20file=20handle=20class=20and=20use=20it=20instead=20of=20low?= =?UTF-8?q?=20level=20ops.=20=20=20*=20Update=20profile=20dumper=20to=20us?= =?UTF-8?q?e=20new=20handles.=20=20=20*=20Add=20a=20way=20to=20get=20NQP?= =?UTF-8?q?=20wrapped=20standard=20handles.=20=20=20*=20There=20is=20no=20?= =?UTF-8?q?die=20in=20NQP;=20it's=20nqp::die.=20=20=20*=20Un-map=20the=20c?= =?UTF-8?q?har-level=20I/O=20ops=20for=20MoarVM.=20=20=20*=20Add=20:$all?= =?UTF-8?q?=20to=20methods()=20for=20Perl=206=20compatability=20=20=20*=20?= =?UTF-8?q?[unicode-grant]=20Update=20QASTRegexCompilerMAST=20to=20use=20n?= =?UTF-8?q?ew=20indexicim=20and=20eqaticim=20ops=20=20=20*=20Start=20conve?= =?UTF-8?q?ying=20decont=20context=20in=20QAST=20->=20MAST.=20=20=20*=20Do?= =?UTF-8?q?=20not=20add=20condition=20leading=20'0'=20if=20already=20prese?= =?UTF-8?q?nt=20=20=20*=20Add=20.gist=20method=20to=20NQPRoutine=20=20=20*?= =?UTF-8?q?=20Map=20setbuffersizefh=20op.=20=20=20*=20add=20refine=5Fslang?= =?UTF-8?q?=20to=20automatically=20do=20mixins=20=20=20*=20Un-map=20deprec?= =?UTF-8?q?ated=20sync=20proc=20ops=20for=20MoarVM.=20=20=20*=20Map=20nqp:?= =?UTF-8?q?:permit=20op=20on=20MoarVM=20backend.=20=20=20*=20Remove=20now-?= =?UTF-8?q?unused=20MoarVM=20lexotic=20of=20compilation.=20=20=20*=20Facto?= =?UTF-8?q?r=20out=20part=20of=20compile=20for=20easier=20re-use.=20=20=20?= =?UTF-8?q?*=20Attach=20the=20match=20(for=20file=20positions=20etc.)=20to?= =?UTF-8?q?=20the=20QAST=20properly=20=20=20*=20Fix=20handling=20of=20acti?= =?UTF-8?q?ons=20in=20.refine=5Fslang=20=20=20*=20Map=20decodertakecharseo?= =?UTF-8?q?f=20op=20on=20MoarVM=20backend.=20=20=20*=20Exclude=20empty=20m?= =?UTF-8?q?essages=20from=20check=20-=20Backport=20fix=20for=20--ll-except?= =?UTF-8?q?ion=20in=20nqp-fix-ll-exception.diff=20which=20was=20committed?= =?UTF-8?q?=20=20=20right=20after=20the=20release.=20-=20update=20to=20ver?= =?UTF-8?q?sion=202017.05=20=20=20*=20Some=20minor=20optimizations=20to=20?= =?UTF-8?q?profiling=20code=20=20=20*=20separate=20the=20$!to=20concept=20?= =?UTF-8?q?back=20out=20from=20$!pos=20=20=20*=20Use=200=20instead=20of=20?= =?UTF-8?q?NULL=20in=20the=20profiler=20SQL=20output=20=20=20*=20Rename=20?= =?UTF-8?q?'allocators'=20to=20'types'=20in=20sql=20profile=20=20=20*=20Ma?= =?UTF-8?q?ke=200s=20strings=20since=20they're=20going=20to=20get=20string?= =?UTF-8?q?ified=20anyway=20=20=20*=20Allow=20tracking=20of=20allocations?= =?UTF-8?q?=20by=20routine=20=20=20*=20Fix=20for=20RT=20#130760=20-=20prin?= =?UTF-8?q?t=20usage=20instructions=20to=20stderr=20=20=20=20=20when=20an?= =?UTF-8?q?=20invalid=20command=20line=20option=20is=20used=20=20=20*=20So?= =?UTF-8?q?me=20cleanup=20to=20the=20SQL=20profile=20output=20=20=20*=20Ad?= =?UTF-8?q?d=20primary=20and=20foreign=20key=20constraints=20to=20SQL=20?= =?UTF-8?q?=20=20*=20Avoid=20numifying=20'!'=20=20=20*=20Convert=20substr+?= =?UTF-8?q?eq=20to=20eqat=20=20=20*=20Remove=20deprecated=20async=20str=20?= =?UTF-8?q?I/O=20ops.=20-=20update=20to=20version=202017.04=20=20=20*=20Ha?= =?UTF-8?q?ndle=20cloning/setting=20braids=20between=20NQPCursor=20and=20P?= =?UTF-8?q?erl6=20Cursor=20=20=20*=20Prevent=20warnings=20on=20action=20ty?= =?UTF-8?q?pe=20objects=20--=20use=20NO=5FVALUE=20sentinal=20=20=20*=20Jus?= =?UTF-8?q?t=20use=20nqp::null=20raher=20than=20a=20sentinel=20in=20define?= =?UTF-8?q?=5Fslang=20=20=20*=20[moar]=20Use=20foldcase=20in=20QASTRegexCo?= =?UTF-8?q?mpilier=20=20=20*=20Quick,=20partial,=20implementation=20of=20`?= =?UTF-8?q?constant`.=20=20=20*=20rebootstrap=20to=20get=20constant=20decl?= =?UTF-8?q?arator=20=20=20*=20start=20to=20unify=20NQPMatch=20with=20NQPCu?= =?UTF-8?q?rsor=20=20=20*=20rebootstrap=20with=20temp=20shim=20to=20find?= =?UTF-8?q?=20lost=20NQPCursor=20=20=20*=20finish=20s/NQPCursor/NQPMatch/?= =?UTF-8?q?=20tranformation=20=20=20*=20PRECURSOR=20should=20not=20trim=20?= =?UTF-8?q?$!orig=20=20=20*=20Make=20errors=20in=20QASTOperationsMAST=20mo?= =?UTF-8?q?re=20awesome=20=20=20*=20s/two/2/=20=20=20*=20remove=20now-usel?= =?UTF-8?q?ess=20.CURSOR=20calls=20=20=20*=20allow=20!cursor=5Finit=20to?= =?UTF-8?q?=20be=20used=20by=20a=20BUILD=20=20=20*=20Make=20errors=20in=20?= =?UTF-8?q?QASTCompilerMAST=20more=20awesome=20=20=20*=20Make=20sure=20to?= =?UTF-8?q?=20push=20in=20the=20sval=20node=20before=20the=20indexic=5Fs?= =?UTF-8?q?=20op=20=20=20*=20Merge=20pull=20request=20#350=20from=20samcv/?= =?UTF-8?q?foldcase=20=20=20*=20make=20false=20match=20stringify=20to=20''?= =?UTF-8?q?=20=20=20*=20Match.Int=20should=20return,=20like,=20an=20int=20?= =?UTF-8?q?=20=20*=20submatches=20come=20from=20target,=20not=20orig=20=20?= =?UTF-8?q?=20*=20Re-work=20--rxtrace=20to=20not=20trash=20the=20cache.=20?= =?UTF-8?q?=20=20*=20Merge=20branch=20'master'=20into=20uncurse=20=20=20*?= =?UTF-8?q?=20reduce=20old=20match=20object=20to=20a=20singleton=20=20=20*?= =?UTF-8?q?=20put=20$!braid=20near=20$!shared=20since=20they're=20similar?= =?UTF-8?q?=20=20=20*=20Fix=20bitrot=20in=20moarvm=20profiler=20-=20update?= =?UTF-8?q?=20to=20version=202017.03=20-=20replace=20patches=20use=20of=20?= =?UTF-8?q?the=20new=20configure=20options=20=20=20removed=20patch:=20usen?= =?UTF-8?q?qplibdir.diff=20-=20update=20to=20version=202016.12=20=20=20*?= =?UTF-8?q?=20Map=20MoarVM=20captureinnerlex=20op.=20=20=20*=20Make=20spri?= =?UTF-8?q?ntf=20%f,=20%e,=20and=20%g=20handle=20negative=20zero=20=20=20*?= =?UTF-8?q?=20Use=20heap=20sort=20to=20sort=20the=20keys=20when=20creating?= =?UTF-8?q?=20JSON=20=20=20*=20Use=20latest=20versions=20of=20css/js=20fro?= =?UTF-8?q?m=20CDNs=20=20=20*=20Add=20a=20--profile-stage=20option=20to=20?= =?UTF-8?q?profile=20only=20one=20compilation=20stage.=20=20=20*=20Add=20S?= =?UTF-8?q?QL=20as=20an=20output=20option=20for=20profiles=20=20=20*=20Add?= =?UTF-8?q?=20a=20type=20declaration=20in=20Cursor.MATCH=20=20=20*=20Forbi?= =?UTF-8?q?d=20bare=20\b=20and=20\B=20in=20regexes=20=20=20*=20Support=20c?= =?UTF-8?q?alling=20the=20handlepayload=20and=20handle=20ops=20using=20the?= =?UTF-8?q?=20nqp::=20syntax.=20=20=20*=20Make=20NFA=20builder=20cope=20wi?= =?UTF-8?q?th=20.=20=20=20*=20Supply=20a=20warning=20for=20using?= =?UTF-8?q?=20\K=20and=20instead=20suggest=20<(=20=20=20*=20Add=20four=20n?= =?UTF-8?q?ew=20pairs=20of=20matched=20delimiters=20brackets/parens=20(#33?= =?UTF-8?q?0)=20=20=20*=20Fix=20bug=20in=20--target=3Dast.=20=20=20*=20Esc?= =?UTF-8?q?ape=20's=20in=20function=20names=20for=20SQL=20profile=20output?= =?UTF-8?q?=20-=20update=20to=20version=202016.11=20=20=20*=20$CONTROL=5FR?= =?UTF-8?q?ETURN=20is=2032=20on=20JVM=20now=20=20=20*=20Remove=20some=20un?= =?UTF-8?q?used=20variables+accessor=20methods=20=20=20*=20fix=20spelling?= =?UTF-8?q?=20=20=20*=20Avoid=20printing=20out=20<>=20when=20we=20have=20d?= =?UTF-8?q?ump=20ast=20nodes=20with=20no=20flags.=20=20=20*=20Initial=20su?= =?UTF-8?q?pport=20for=20line=20directives=20-=20update=20to=20version=202?= =?UTF-8?q?016.10=20=20=20*=20Add=20&is=20to=20the=20setting=20for=20bette?= =?UTF-8?q?r=20failure=20diagnostics.=20=20=20*=20Stop=20using=20flattenro?= =?UTF-8?q?pes=20op.=20=20=20*=20Map=20nqp::indexingoptimized=20op.=20=20?= =?UTF-8?q?=20*=20Update=20bootstrap.=20=20=20*=20On=20Moar,=20use=20index?= =?UTF-8?q?ingoptimized=20op.=20=20=20*=20Just=20want=20an=20object=20when?= =?UTF-8?q?=20compiling=20a=20callee.=20=20=20*=20Remove=20workaround=20as?= =?UTF-8?q?=20indexingoptimized=20is=20now=20avaliable=20on=20all=20backen?= =?UTF-8?q?ds.=20-=20update=20to=20version=202016.09=20=20=20*=20Add=20cod?= =?UTF-8?q?e-gen=20of=20charclass=20with=20ignoremark.=20=20=20*=20Make=20?= =?UTF-8?q?HLL::Grammar.O=20take=20named=20arguments.=20=20=20*=20Remove?= =?UTF-8?q?=20HLL::Grammar.O(:inherit).=20=20=20*=20split=20nonassoc=20err?= =?UTF-8?q?or=20into=20list=20vs=20non-list=20forms=20=20=20*=20add=20$*SU?= =?UTF-8?q?PPOSING=20dynvar=20to=20mark=20conjectural=20parsing=20=20=20*?= =?UTF-8?q?=20factor=20out=20common=20boolean=20annotations=20to=20flags?= =?UTF-8?q?=20=20=20*=20use=20index=5Fs=20even=20with=20ignorecase=20when?= =?UTF-8?q?=20scanning=20for=20literals=20=20=20*=20charrange=20without=20?= =?UTF-8?q?:m=20should=20avoid=20ordat/ordfirst=20=20=20*=20Correct=20type?= =?UTF-8?q?=20conversion=20for=20default=20arguments.=20=20=20*=20Support?= =?UTF-8?q?=20for=20decoder=20streams=20(user=20level=20string=20decoding)?= =?UTF-8?q?=20=20=20*=20Add=20LEFT/RIGHT=20DOUBLE=20PARENTHESIS=20in=20mat?= =?UTF-8?q?ching=20brackets=20list=20=20=20*=20Properly=20numify=20non-asc?= =?UTF-8?q?ii=20tokens=20in=20regex/grammars=20-=20update=20to=20version?= =?UTF-8?q?=202016.07=20=20=20*=20Support=20for=20new=20REPL=20supporting?= =?UTF-8?q?=20code=20spread=20over=20multiple=20lines=20=20=20*=20Workarou?= =?UTF-8?q?nd=20for=20unsigned=20attribute=20access=20bug.=20=20=20*=20Fix?= =?UTF-8?q?=20crash=20in=20unsinged=20attributeref=20code-gen.=20=20=20*?= =?UTF-8?q?=20Avoid=20a=20load=20of=20hash=20allocation/copies.=20=20=20*?= =?UTF-8?q?=20Performance=20improvements=20for=20regexes=20and=20compilati?= =?UTF-8?q?on=20=20=20*=20Use=20MoarVM's=20optimized=20mutli-dispatch=20pa?= =?UTF-8?q?th.=20=20=20*=20Fix=20icicle=20graph=20in=20profiler=20=20=20*?= =?UTF-8?q?=20Support=20new=20heap=20profiler=20=20=20*=20Improved=20sprin?= =?UTF-8?q?tf=20error=20reporting=20=20=20*=20Option=20for=20a=20source-na?= =?UTF-8?q?me=20different=20from=20the=20actual=20source=20file=20=20=20*?= =?UTF-8?q?=20Fix=20massive=20memory=20leak=20in=20EVAL=20=20=20*=20Suppor?= =?UTF-8?q?t=20BEGIN=20time=20EVAL=20in=20precompilation=20=20=20*=20Make?= =?UTF-8?q?=20mappers=20in=20MASTOperations=20cheaper=20=20=20*=20Hook=20u?= =?UTF-8?q?p=20new=20bytecode=20loading=20ops=20=20=20*=20Improve=20code-g?= =?UTF-8?q?en=20by=20avoiding=20redundant=20deconts.=20=20=20*=20return=20?= =?UTF-8?q?is=20now=20a=20proper=20control=20exception=20making=20it=20muc?= =?UTF-8?q?h=20faster=20-=20update=20to=20version=202016.01=20=20=20*=20en?= =?UTF-8?q?try=20for=20\0=20was=20missing=20in=20character=20classes=20=20?= =?UTF-8?q?=20*=20Fixes=20for=20multi-line=20input=20on=20the=20interactiv?= =?UTF-8?q?e=20interpreter=20=20=20*=20Add=20subsecond=20file=20time=20ops?= =?UTF-8?q?=20stat=5Ftime=20and=20lstat=5Ftime=20-=20update=20to=20version?= =?UTF-8?q?=202015.12=20=20=20*=20support=20for=20JavaScript=20backend=20?= =?UTF-8?q?=20=20*=20new=20I/O=20related=20ops=20=20=20*=20ops=20for=20mul?= =?UTF-8?q?tidimensional=20arrays=20=20=20*=20native=20calling=20updates?= =?UTF-8?q?=20-=20update=20to=20version=202015.05=20=20=20*=20bring=20nqp?= =?UTF-8?q?=20in=20sync=20with=20moarvm=20=20=20*=20use=20new=20unicode=20?= =?UTF-8?q?features=20-=20update=20to=20version=202014.08=20=20=20*=20use?= =?UTF-8?q?=20specialization=20and=20jit=20support=20from=20MOAR=20=20=20*?= =?UTF-8?q?=20lazy=20deserialization=20=20=20*=20many=20speed=20improvemen?= =?UTF-8?q?ts=20=20=20*=20removed=20patch:=20arm-use-fpic.diff=20-=20updat?= =?UTF-8?q?e=20to=20version=202014.02=20-=20switch=20to=20moarvm=20as=20ba?= =?UTF-8?q?ckend=20-=20fix=20libdir=20calculation=20=20=20new=20patch:=20u?= =?UTF-8?q?senqplibdir.diff=20-=20update=20to=20version=202013.06=20=20=20?= =?UTF-8?q?*=20improved=20jvm=20support=20-=20update=20to=20version=202013?= =?UTF-8?q?.05=20=20=20*=20start=20of=20jvm=20support=20-=20update=20to=20?= =?UTF-8?q?version=202012.12=20=20=20*=20avoid=20loosing=20digits=20in=20b?= =?UTF-8?q?ignum=20conversion=20=20=20*=20improve=20regex=20speed=20=20=20?= =?UTF-8?q?*=20new=20QAST=20dumper=20=20=20*=20remove=20no=20longer=20need?= =?UTF-8?q?ed=20patches=20-=20update=20to=20version=202012.07=20=20=20*=20?= =?UTF-8?q?fix=20endian=20issues=20in=20serialization=20-=20use=20PIC=20to?= =?UTF-8?q?=20fix=20build=20on=20arm=20-=20update=20to=20version=202012.06?= =?UTF-8?q?.1=20=20=20*=20use=20optimization=20flags=20for=20compilation?= =?UTF-8?q?=20=20=20*=20improve=20NFA=20implementation=20=20=20*=20impleme?= =?UTF-8?q?nt=20fast=20qrpa=20PMC=20type=20-=20updated=20to=20version=2020?= =?UTF-8?q?12.05=20=20=20*=20deserialization=20support=20=20=20*=20qregex?= =?UTF-8?q?=20fixes=20-=20updated=20to=20version=202012.03=20-=20initial?= =?UTF-8?q?=20revision?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit OBS-URL: https://build.opensuse.org/package/show/devel:languages:raku/nqp?expand=0&rev=10 --- .gitattributes | 23 ++ .gitignore | 1 + nqp-2024.04.tar.gz | 3 + nqp-2025.05.tar.gz | 3 + nqp.changes | 761 +++++++++++++++++++++++++++++++++++++++++++++ nqp.spec | 65 ++++ 6 files changed, 856 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 nqp-2024.04.tar.gz create mode 100644 nqp-2025.05.tar.gz create mode 100644 nqp.changes create mode 100644 nqp.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/nqp-2024.04.tar.gz b/nqp-2024.04.tar.gz new file mode 100644 index 0000000..7556094 --- /dev/null +++ b/nqp-2024.04.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cea588b0c7c0c03095541989383fef509b78f5ad4ab0657a32baeab6579b8ae9 +size 9726771 diff --git a/nqp-2025.05.tar.gz b/nqp-2025.05.tar.gz new file mode 100644 index 0000000..c9bd92e --- /dev/null +++ b/nqp-2025.05.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:51f72f3c3cdd8e87fabd1601eab7c6dfef201dd4b65946848a6e38370e99458f +size 9727268 diff --git a/nqp.changes b/nqp.changes new file mode 100644 index 0000000..0eff70e --- /dev/null +++ b/nqp.changes @@ -0,0 +1,761 @@ +------------------------------------------------------------------- +Sun Jun 15 16:25:19 CEST 2025 - nine@detonation.org + +- update to version 2025.05 + * Add dispatching logic for an HLL override + * Add open mode constants + * Add a few capabilities for NQP-level dd + * Provide better feedback for ambiguous adverb usage + * Micro-optimize Match!cursor_init a bit + * Allow --repl-mode even with parameters + * Make --repl-mode truly leading + * Give interactive mode also access to command-line arguments + * Add is-interactive to HLL::Compiler (#827) + * Set a more sensible repl-mode by default + * Verify some sizes in qast compiler mast + * Fix missing register initialization in repeat loops + * Use a local for a somewhat hot class member access + * Use a local variable for a class member access... + * Use locals instead of class variables + * Use correct typed accessors where able + * Ensure we declare our dynamics even when there's no compunit + +------------------------------------------------------------------- +Thu May 23 05:03:18 UTC 2024 - Martin Schreiner + +- Update to version 2024.04: + * Add "code_of_method" and "declares_method" methods + * Add hint back in + * Add minimized fastutil jar + * Allow --moar-option='--no-optimize' to actually work + * Enable the creation of 'is item' and 'is exact-type' param traits + * Eradicate .publish_method_cache from MoarVM backend + * Further dd tweaks + * Initial stab at a "dd" for NQP + * Make sure we catch errors in stringification + * Manually sort two elements of an array instead of using + .subList().sort() + * More efficient way to get a long as a string + * More tweaking fetching MRO + * Oops, we can type the object key + * P6str's StorageSpec can be a singleton + * Pre-allocate arrays and use bind_pos instead of push + * Rename NQPClassHOW's $!mro to $!MRO + * Simplify JVM backend's set_size_internal + * Simplify runNFA() a little + * Slight tweak in fetching MRO + * [JVM] Fix capturenamedshash to actually include objects +- Apply spec-cleaner. +- Set "Source" to GitHub's URL, so the source tarball may be + downloaded through the appropriate OBS service. +- Use "%{version}" to declare the related MoarVM dependency, rather + than hardcoding MoarVM's version. + +------------------------------------------------------------------- +Wed Mar 27 16:20:59 CET 2024 - nine@detonation.org + +- update to version 2024.02 + * Add optional positional parameter to archetypes method + * Make unsigned comparison ops available + * Add nqp::chown() op + * Add `comment` token to the grammar + * Set `.node` for statements + * Make compilation errors more informative + * Add support for RakuAST::Origin::Match + * Provide access to QAST::Block's cuid counter for RakuAST + * Provide current compiler via $*HLL-COMPILER + * Fix back-references when there are aliases + * Remove unused apply_transcoding compiler function + * Remove unused transcode compiler option + * Add nqp::syscall, nqp::register, nqp::delegate ops + * Introduce nqp::track and nqp::guard + * Use nqp::const::HLL_xxx constants instead of magic numbers + * Add all SIG_ELEM constants as nqp::const::xx constants + * Only add unique types to the typecache + * Add support for TWEAK method + * Fix issue with multi_methods in NQPParametricRoleHOW + * Implement locking on NQP(Class|ConcreteRole)HOW + * Make the positional on "method_table" optional + * Make the positional on "(is_)array_type" optional + * Make the positional on "role_typecheck_list" optional + * Make the positional on "mro" optional + * Make the positional on "BUILD(ALL)PLAN" optional + * Create nqp::const::EDGE_xxx connstants + * Remove dead base64 decoding logic + * Add nqp::const::MVM_reg_xxx constants + * (is_)array_type don't need any positional argument + +------------------------------------------------------------------- +Sat Oct 1 12:32:30 CEST 2022 - nine@detonation.org + +- update to version 2022.07 + * Presize $!mbc and write at offsets instead of pushing + * Write each frame directly to the MAST bytecode file... + * Speed up "sorted_keys" sub + +------------------------------------------------------------------- +Sun Apr 3 11:01:45 CEST 2022 - nine@detonation.org + +- update to version 2022.03 + * Remove some not-needed trys, or convert to nqp::can + the method call + * Provide op coerce_ns on MoarVM and JVM + * Fix all returned native integers getting treated as signed + +------------------------------------------------------------------- +Sun Mar 27 08:14:25 UTC 2022 - Stefan Seifert + +- Fix build on RHEL7 + RHEL doesn't include perl's core libraries in its perl package, so + we need to explicitly depend on the modules we need for building. + +------------------------------------------------------------------- +Mon Feb 21 15:58:49 CET 2022 - nine@detonation.org + +- update to version 2022.02 + * Introduce a new generalized dispatch mechanism. + It results in a more uniform architecture for all kinds + of dispatch, delivering better performance on a range of + langauge features. For more information see + https://6guts.wordpress.com/2021/09/29/the-new-moarvm-dispatch-mechanism-is-here/ + * Native unsigned integers are now first class citizens + * Give NQPParametricRoleHOW a role_typecheck_list method + * Set NQP HLL on all NQP types + * Avoid an implicit array stringification in NQP + * Avoid a slurp/flatten in NQP object creation + * Avoid lots of string box/unbox in hash key sort + * Use natives to reduce some allocation hotspots + * Fix miscompilation of sized integers as loop condition + * Remove the --rxtrace feature + * Access register allocator via compiler instance + * Switch most $*MAST_FRAME access away from dynamics + * Replace costly $*MAST_FRAME lookup with $frame arg in core op generators + * Don't error if no typechecking mode set + * move lookups of op generators out of repeated code + * Use `my constant` somewhat in QAST compiler + * Add mapping for ctxnt op + * Avoid duplicate lookups in NFA merging + * Fix SpecialArg unintentionally modifying class' MRO + * Don't die on non-primitive objects in $!named + * More universal fix for dumping QAST nodes with attached data + * Implement the -o form of the --output option + * Fix race when checking for global uniques (#760) + +------------------------------------------------------------------- +Sun Aug 22 10:19:02 CEST 2021 - nine@detonation.org + +- update to version 2021.08 + * Fix several issues on the JVM + +------------------------------------------------------------------- +Sat Jul 24 21:29:09 CEST 2021 - nine@detonation.org + +- update to version 2021.07 + * Implement support for moar::hllincludes config variable + * Fix reproducible build regression + * Wrap QAST::Regex from qbuildsub in QAST::Stmts + +------------------------------------------------------------------- +Sat Jul 10 15:49:27 CEST 2021 - nine@detonation.org + +- update to version 2021.06 + * Simplify loop in optimizer's incorporate_inner + * Micro-optimize the sift_down sub in sorted_keys + * Remove no longer needed JVM workaround + +------------------------------------------------------------------- +Mon May 24 15:56:57 CEST 2021 - nine@detonation.org + +- update to version 2021.05 + * Use new nqp::time instead of nqp::time_(i|n) + * Finish getting rid of NQPCursor + * Remove no longer needed $!slang override in Braid + * Disallow explicity specifying op write registers + * No need to stringify the float twice in the sprintf implementation. + * Hoist the repeated calculation in stringify-to-precision2 to a variable. + * Accurately calculate pow_n(10.0, $exp) for stringify-to-precision2. + * Convert scientific and shortest to use pow10 and an int for $exp. + +------------------------------------------------------------------- +Sun Mar 21 21:47:04 CET 2021 - nine@detonation.org + +- update to version 2021.03 + * Support some missing Rakudo command line flags + * Comment out two lines only needed during debugging + * Eliminate the ops sec_n, asec_n and sech_h, which are no longer used. + +------------------------------------------------------------------- +Sun Feb 21 15:50:44 CET 2021 - nine@detonation.org + +- update to version 2021.02 + * Switch spawnprocasync to use a separate arg for the program name + * Stub some Archetypes methods expected by Rakudo + * Don't bind an int attribute to 0 directly after construction + * Improve error message for erroneous <.panic()> syntax + * Fix sprintf() with *-specified negative width argument + * Start up REPL if "-" given *and* STDIN is a tty + * Make HLL::Compiler.execute_stage easier to call from Raku + * Give NQPClassHOW a submethod_table method for better compatibility + * Dump a QAST::Block's name, too for easier debugging + * MoarVM: Allow for explicitly marking the mainline_frame in the bytecode + * Add a nested compiler's load_dependency_tasks to the outer compiler's + * Add frames created by a nested compiler to the outer comp unit + * Allow more interesting constants in NQP + * Simplify Cursor!cursor_pass + * Micro optimize !cursor_fail + * Simplify braid initialization in cursor_init + * Introduce / use !cursor_pass_quick + * Make sure cursor_pass_quick also reset bstack + * Tweaks to regex compiler API + * Remove reliance in a $*W object in alt NFA gen + * NQP_HOME env var should override a static NQP home + * map nqp::setthreadname op to give current thread a name + * Register a plain HLL::Compiler object under the 'HLL' name + * Support for typechecking against Raku roles + * Add a HLL::SysConfig class + * Add missing debug type name for easier debuggin + * Make mixins concurrency safe + * Fix parallel compilation occasionally losing frames + * Fix "no such attribute" errors on mixin created by concurrent code + +------------------------------------------------------------------- +Wed May 13 12:50:37 CEST 2020 - nine@detonation.org + +- update to version 2020.05 + * Add nextdispatcherfor/takenextdispatcher ops + * More explicit error when more than one --target is provided (issue #600) + * Set return type of intifying a list or hash + * Optimize code trying to count elems of a list or hash + * Use already calculated value instead of nqp::elems + * Save a bunch of allocations in MoarVM::StringHeap + * Split MoarVM::StringHeap into an inlineable add and slow add-internal + * Simplify some Role accessor methods + * Remove an unneeded for+push, use list directly + * Add more str coercion cases + * Write new strings directly into string heap buf + * Write bytecode to output file on the fly + * Write header last instead of first and fixing up + * Fix sqlite3 running out of memory when importing large profiles + * Fix profile kind detection + * Support anon declarator on NQP subs + * Add QAST::Node::dump_indent_string method to produce indent strings + * Modify Node dump routines to use new dump_indent_string method + * Add guide lines to QAST::Block node dumps + * Remove qlist opcode + * Some minor optimizations to NQP matching + +------------------------------------------------------------------- +Tue Mar 3 13:05:04 CET 2020 - nine@detonation.org + +- update to version 2020.02 + * Fix for https://github.com/perl6/nqp/issues/559 + * Only do assignment if nfa is not in the cache + * cache_add returns the value, so no assignment needed + * Completely disable NFA debugging (for now) + * Don't call non-existent panic method + * Consistently make the `.` in `<.[x]>` a no-op + * Recognize `chain` as an assoc + +------------------------------------------------------------------- +Tue Jan 28 10:39:21 CET 2020 - nine@detonation.org + +- update to version 2020.01 + * Fix "Decoder may not be used concurrently" errors with concurrent EVAL + * Give HLL/Actions|Grammar a "raku" method + * Add NQPAttribute.is_built method + * Add NQPAttribute.is_bound method + * Change references of HLL language to 'Raku' + * Remove HLL dependency + * Fix various compiler warnings + +------------------------------------------------------------------- +Fri Nov 29 09:36:46 CET 2019 - nine@detonation.org + +- update to version 2019.11 + * Map nqp::vmeventsubscribe to configure VM Event Subscription + * Map new nqp::intify op + * Provide better compatibility with Perl6 Metamodel + * Use nqp::const for socket family constants + * First stab at making num use explicit + * Type constrain the value passed to (I|N)Val.new + * $/.Int should actually use integer calculations + * sprintf fix for the JVM, bartolin++ + * profiler: expose "stolen gen2 roots" in sql output + * profiler: one line per statement like earlier versions + * fix profiling gc/deallocations bug swapping thread/seqnum + * output "stage parse" later (for nested output), also flush stderr every line + * make sql output smaller with multi-insert statements + +------------------------------------------------------------------- +Thu Jul 22 17:00:00 CEST 2019 - nine@detonation.org + +- Fix installed perl6 not finding its NQP modules + +------------------------------------------------------------------- +Thu Jul 18 10:30:03 CEST 2019 - nine@detonation.org + +- update to version 2019.07 + * Make building Perl 6 code reproducible + * Several improvements to the profiler + * Explicitly mark out mixin types + * Add method_names and method_order to NQPConcreteRoleHOW + * Add given value to printf bad-directive-type error + * Add uname, freemem, and totalmem ops + * Protect against self-reference in match dump + * Fix precedence issues with |, ||, &, && prefixes + * Always produce integers in captures hash + * Use a better data structure for Match setup info + * Bring back the onlyname optimization + * Use flags/bitmask to cheapen/avoid some work + * Fix capnames with & + * Correct construction of capnames in P5Regex + * Add int to constants to avoid a lot of unboxing + * Some small optimizations to !cursor_init + * Change associativity of exponentiation to 'right' + * Allow #?if stage1/stage2, add confprog loading support via cmdline flag + +------------------------------------------------------------------- +Tue Mar 19 09:38:15 CET 2019 - nine@detonation.org + +- update to version 2019.03 + * [moar] Add BINARY_* constants for the new ops + * Unmap obsolete mastto* ops + * Add some ints and other micro-opts to NFA code + * micro-opts to NFA code + * Add CONTROL_ANY constant + * Fix loss of some line number annotations + * Don't use `note` in the cursor role + * Add a local debug map to QAST::Block + * Have MoarVM bytecode writer write debug locals + * Add local debug names for NQP code + * Fix for dyncomp lexical lookup + * Show scalar replacement stats on profile overview + * Expose Replaced Allocations To SQL Profiler + +------------------------------------------------------------------- +Fri Dec 28 21:24:17 CET 2018 - nine@detonation.org + +- update to version 2018.12 + * Implement is array_type trait for classes + * Support "is box_target" trait + * Map new ops: buffertocu, serializetobuf, writeint, writeuint, writenum, + readint, readuint, readnum, getcp_s + * Map MVM_OPERAND_* constants + * Several improvements to the profiler + * Replace MAST by writing MoarVM bytecode directly + * Fix trying to encode synthetics to latin-1 + * Fix get_frame_index not finding frame created by BEGIN time EVAL + * [moar] Fix nqp::falsey with int32 argument + * Add :$transitive named re R#2401 + * Allow a fail cursor to be provided in !cursor_init + +------------------------------------------------------------------- +Sun Nov 11 21:46:33 CET 2018 - nine@detonation.org + +- update to version 2018.10 + * [moar] Add coercions from int32, int16, int8, uint32, uint16, uint8 to num, + from (u)ints to str and from uints to ints and vice versa. + * Add the coerce_us op to QASTCOMpilerMAST for coercions + * New ops: getsignals, slice, numify, wantdecont, istype_nd ("no decont"), + hllboxtype_*, 2 new atomic ops, hllbool, hllboolfor, fork, decodelocaltime + * Compile MoarVM spesh plugin API ops + * Map new spesh plugin object literal non-match op + * [moar] Implement unary ! on int32s + * Several fixes for reproducible builds + * Fix STDIN error for non-interactive REPL mode + * Fix stringification of Sub when using --target=ast + * Remove erroneous decont op in chain compilation + * Support hllization of Perl 6 hashes -> NQP hashes + * [Impl] !~~by adding NOT_ACCEPTS method + * Provide non-decont forms of some object ops + * Fix Unhandled lexical type error w/ native int's and Rakudo REPL + * Fix missing annotations in QAST dumps + * Add callback of nqp::spawnprocasync to catch exception + * Emit invoke_v instruction for void context calls + * Remove token in token term:sym (#484) + * Rename getstrfromname to strfromname (#483) + * Allow specification of repr with `stub` declarator + * Don't check var until we actually gonna use it + * Micro-opt method LANG + * Don't emit decont of callee if unrequired + * Improve getattr/bindattr code gen quality + * allow more type info to be passed from moarvm + * no need to pre-size an array for one element. + * also store whether a type holds extra data + * put the name of the SC in every type's extra info + +------------------------------------------------------------------- +Tue May 1 09:10:59 CEST 2018 - nine@detonation.org + +- update to version 2018.04.1 + * Make build of NQP modules reproducible + * Profiler Template: Sort by time Instead of Pct + * Fix bug with iteration of empty character class + * Profiler Template: Allocations modal close by btn + * Profiler Template: Sort by time in call graph + * Clean up some odd naming in QAST regex compiler + * Only load cclass constants if they are needed + * Micro-opt in CAPHASH + * Remove apparently unused helper method + * Prevent boxing of native str + * Prevent another unnecessary boxing + * Optimize cursor_push_cstack a bit + * Optimize a loop in MATCH + * Don't emit cstack handling code if unused + * Use tryfindmethod in reduce_with_match + * Implement nqp::numify op +- Remove nqp-disable-faulty-test.diff - tests fixed upstream +- Remove nqp-reproducible-build.diff - included in upstream release + +------------------------------------------------------------------- +Tue Mar 20 08:33:42 CET 2018 - nine@detonation.org + +- update to version 2018.03 + * Support for profiling multi threaded programs + * Avoid using variables where we don't need any + * Fix crashes with native types in conditionals + * Make certain conditionals with natives 2.1x faster + * Simplify conditional variant lookup + * Easyfy matching Block WVals with their QAST::Blocks… + * improve pod panic msg + * No need to load ModuleLoader multiple times + * Make sure the version of jna is 4.0.0 + * Remove trailing whitespace + * Implement QAST::Var.decl_as + * Remove now-unused C 3rdparty deps + * Fix slurpies in `if` ops; jnthn++ for the tip + * Fix sprintf with type objects + * update docs with more information + * rename IO sub "spew" to "spurt" + * Map new nqp::tryfindmethod op for MoarVM backend + * Use nqp::tryfindmethod in Cursor!reduce + * add a new built-in sub: run-command + * output start time of gc runs to sql + * html profiler: show times a GC run started + * Add getppid op (#422) + * [moar] Add encodeconf and decodeconf ops + * speed up sql output by about 30% +- Backport reproducible build support to fix rakudo on Tumbleweed + nqp-reproducible-build.diff can be removed in the next release + +------------------------------------------------------------------- +Thu Feb 1 06:44:35 CET 2018 - nine@detonation.org + +- update to version 2018.01 + * Improve handling of flags for '%b' directive + * Make || alternations respect :ratchet mode + * Allow per-atom backtracking modifiers to override :ratchet + * Do not start interactive REPL on non tty input + * Check for the backend method in the backend before compiler + * Make Int on rakudo's Match return an Int not a nqp level int. + * support the new heapsnapshot API + * Add nqp::getrusage and constants on MoarVM backend + * Map threadlockcount op on MoarVM backend + * Suppress warning in /a b+/ + * Map the new nativeinvoke OP + * Remove support for ornate parenthesis from quoting constructs + * Improve error message when space with combiners is encountered + * Remove trailing whitespace + * Implement --force-stdin-eval-mode command line arg + * Rename `--force-stdin-eval-mode` command line opt + * Make NQP's BUILDPLAN more like Perl6's BUILDPLAN + * Add the new coerce_II op as fromI_I + * Map the new getarg_i op for reading from the args buffer + * Remove some @*comp_line_directives accesses (#376) + * Add support for '+' flag for %b in sprintf + * Add support for a block no-inline flag + * Fix wrong coercion in if on moar + * Fix crash with named captures in P5 regexes + * Use faster nqp::istype instead of ~~ + * Implement nqp::chainstatic op + * MoarVM: Allow 'chain' op to use child as callee + * Use faster nqp::elems instead of + on QAST nodes + * Add $!cuid to QAST::Block.dump + * Implement QAST::Node.annotate_self + * Fix dumping block with null_s cuids + * Don't die if parent doesn't have dump method + * Fix blocktype display in Block extra node info +- add nqp-disable-faulty-test.diff for disabling faulty concurrency test + +------------------------------------------------------------------- +Mon Aug 21 23:05:32 CEST 2017 - nine@detonation.org + +- Remove nqp-fix-ll-exception.diff - included in upstream release +- update to version 2017.08 + * Fix serious security hole - tried to load modules from current working + directory + * support hardware_concurrency op from moar and implement for jvm + * match renamed opcode "cpucores" in moar + * Fix --ll-exception trying to print a NULL + * Add nqp::codes to QASTOperationsMAST.nqp + * Add a &dies-ok to the setting so that it can be shared across tests + * Add eqatim and indexim ops. Fix a bug when using ignoremark + * Correct setup of $sharedclass in regex compiler. + * Map the low level nativecallinvoke op + * output .sql profiler data if template.html not found + * Map new atomic ops on MoarVM backend. + * Add constant mapping atomic integer type. + * Add nqp::hasuniprop op to QASTOperationsMAST.nqp + * Add support for %*ENV to MoarVM and JS ModuleLoaders + +------------------------------------------------------------------- +Sat Jul 29 10:21:00 CEST 2017 - nine@detonation.org + +- update to version 2017.07 + * Add mapping of the op code get_port_sk + * Rename get_port -> getport + * Kill of nqp::getcfh. + * Give NQP a basic file handle class and use it instead of low level ops. + * Update profile dumper to use new handles. + * Add a way to get NQP wrapped standard handles. + * There is no die in NQP; it's nqp::die. + * Un-map the char-level I/O ops for MoarVM. + * Add :$all to methods() for Perl 6 compatability + * [unicode-grant] Update QASTRegexCompilerMAST to use new indexicim and eqaticim ops + * Start conveying decont context in QAST -> MAST. + * Do not add condition leading '0' if already present + * Add .gist method to NQPRoutine + * Map setbuffersizefh op. + * add refine_slang to automatically do mixins + * Un-map deprecated sync proc ops for MoarVM. + * Map nqp::permit op on MoarVM backend. + * Remove now-unused MoarVM lexotic of compilation. + * Factor out part of compile for easier re-use. + * Attach the match (for file positions etc.) to the QAST properly + * Fix handling of actions in .refine_slang + * Map decodertakecharseof op on MoarVM backend. + * Exclude empty messages from check +- Backport fix for --ll-exception in nqp-fix-ll-exception.diff which was committed + right after the release. + +------------------------------------------------------------------- +Fri Jun 2 09:03:04 CEST 2017 - nine@detonation.org + +- update to version 2017.05 + * Some minor optimizations to profiling code + * separate the $!to concept back out from $!pos + * Use 0 instead of NULL in the profiler SQL output + * Rename 'allocators' to 'types' in sql profile + * Make 0s strings since they're going to get stringified anyway + * Allow tracking of allocations by routine + * Fix for RT #130760 - print usage instructions to stderr + when an invalid command line option is used + * Some cleanup to the SQL profile output + * Add primary and foreign key constraints to SQL + * Avoid numifying '!' + * Convert substr+eq to eqat + * Remove deprecated async str I/O ops. + +------------------------------------------------------------------- +Tue Apr 18 22:36:09 CEST 2017 - nine@detonation.org + +- update to version 2017.04 + * Handle cloning/setting braids between NQPCursor and Perl6 Cursor + * Prevent warnings on action type objects -- use NO_VALUE sentinal + * Just use nqp::null raher than a sentinel in define_slang + * [moar] Use foldcase in QASTRegexCompilier + * Quick, partial, implementation of `constant`. + * rebootstrap to get constant declarator + * start to unify NQPMatch with NQPCursor + * rebootstrap with temp shim to find lost NQPCursor + * finish s/NQPCursor/NQPMatch/ tranformation + * PRECURSOR should not trim $!orig + * Make errors in QASTOperationsMAST more awesome + * s/two/2/ + * remove now-useless .CURSOR calls + * allow !cursor_init to be used by a BUILD + * Make errors in QASTCompilerMAST more awesome + * Make sure to push in the sval node before the indexic_s op + * Merge pull request #350 from samcv/foldcase + * make false match stringify to '' + * Match.Int should return, like, an int + * submatches come from target, not orig + * Re-work --rxtrace to not trash the cache. + * Merge branch 'master' into uncurse + * reduce old match object to a singleton + * put $!braid near $!shared since they're similar + * Fix bitrot in moarvm profiler + +------------------------------------------------------------------- +Sun Mar 19 13:54:27 CET 2017 - nine@detonation.org + +- update to version 2017.03 + +------------------------------------------------------------------- +Tue Dec 20 18:15:07 CET 2016 - nine@detonation.org + +- replace patches use of the new configure options + removed patch: usenqplibdir.diff +- update to version 2016.12 + * Map MoarVM captureinnerlex op. + * Make sprintf %f, %e, and %g handle negative zero + * Use heap sort to sort the keys when creating JSON + * Use latest versions of css/js from CDNs + * Add a --profile-stage option to profile only one compilation stage. + * Add SQL as an output option for profiles + * Add a type declaration in Cursor.MATCH + * Forbid bare \b and \B in regexes + * Support calling the handlepayload and handle ops using the nqp:: syntax. + * Make NFA builder cope with . + * Supply a warning for using \K and instead suggest <( + * Add four new pairs of matched delimiters brackets/parens (#330) + * Fix bug in --target=ast. + * Escape 's in function names for SQL profile output + +------------------------------------------------------------------- +Thu Nov 24 16:37:29 CET 2016 - nine@detonation.org + +- update to version 2016.11 + * $CONTROL_RETURN is 32 on JVM now + * Remove some unused variables+accessor methods + * fix spelling + * Avoid printing out <> when we have dump ast nodes with no flags. + * Initial support for line directives + +------------------------------------------------------------------- +Sun Oct 16 13:39:16 CEST 2016 - nine@detonation.org + +- update to version 2016.10 + * Add &is to the setting for better failure diagnostics. + * Stop using flattenropes op. + * Map nqp::indexingoptimized op. + * Update bootstrap. + * On Moar, use indexingoptimized op. + * Just want an object when compiling a callee. + * Remove workaround as indexingoptimized is now avaliable on all backends. + +------------------------------------------------------------------- +Fri Oct 07 11:28:30 UTC 2016 - nine@detonation.org + +- update to version 2016.09 + * Add code-gen of charclass with ignoremark. + * Make HLL::Grammar.O take named arguments. + * Remove HLL::Grammar.O(:inherit). + * split nonassoc error into list vs non-list forms + * add $*SUPPOSING dynvar to mark conjectural parsing + * factor out common boolean annotations to flags + * use index_s even with ignorecase when scanning for literals + * charrange without :m should avoid ordat/ordfirst + * Correct type conversion for default arguments. + * Support for decoder streams (user level string decoding) + * Add LEFT/RIGHT DOUBLE PARENTHESIS in matching brackets list + * Properly numify non-ascii tokens in regex/grammars + +------------------------------------------------------------------- +Sun Jul 24 09:30:24 UTC 2016 - nine@detonation.org + +- update to version 2016.07 + * Support for new REPL supporting code spread over multiple lines + * Workaround for unsigned attribute access bug. + * Fix crash in unsinged attributeref code-gen. + * Avoid a load of hash allocation/copies. + * Performance improvements for regexes and compilation + * Use MoarVM's optimized mutli-dispatch path. + * Fix icicle graph in profiler + * Support new heap profiler + * Improved sprintf error reporting + * Option for a source-name different from the actual source file + * Fix massive memory leak in EVAL + * Support BEGIN time EVAL in precompilation + * Make mappers in MASTOperations cheaper + * Hook up new bytecode loading ops + * Improve code-gen by avoiding redundant deconts. + * return is now a proper control exception making it much faster + +------------------------------------------------------------------- +Mon Feb 2 09:08:00 UTC 2016 - nine@detonation.org + +- update to version 2016.01 + * entry for \0 was missing in character classes + * Fixes for multi-line input on the interactive interpreter + * Add subsecond file time ops stat_time and lstat_time + +------------------------------------------------------------------- +Mon Jan 4 14:44:09 UTC 2016 - nine@detonation.org + +- update to version 2015.12 + * support for JavaScript backend + * new I/O related ops + * ops for multidimensional arrays + * native calling updates + +------------------------------------------------------------------- +Thu Jun 11 17:25:08 CEST 2015 - mls@suse.de + +- update to version 2015.05 + * bring nqp in sync with moarvm + * use new unicode features + +------------------------------------------------------------------- +Fri Aug 22 14:15:39 CEST 2014 - mls@suse.de + +- update to version 2014.08 + * use specialization and jit support from MOAR + * lazy deserialization + * many speed improvements + * removed patch: arm-use-fpic.diff + +------------------------------------------------------------------- +Mon Mar 3 17:47:07 CET 2014 - mls@suse.de + +- update to version 2014.02 +- switch to moarvm as backend +- fix libdir calculation + new patch: usenqplibdir.diff + +------------------------------------------------------------------- +Sun Jul 14 20:12:44 UTC 2013 - daxim@cpan.org + +- update to version 2013.06 + * improved jvm support + +------------------------------------------------------------------- +Mon Jun 3 13:57:04 UTC 2013 - daxim@cpan.org + +- update to version 2013.05 + * start of jvm support + +------------------------------------------------------------------- +Wed Jan 16 17:29:30 CET 2013 - mls@suse.de + +- update to version 2012.12 + * avoid loosing digits in bignum conversion + * improve regex speed + * new QAST dumper + * remove no longer needed patches + +------------------------------------------------------------------- +Tue Aug 7 11:40:05 CEST 2012 - mls@suse.de + +- update to version 2012.07 + * fix endian issues in serialization + +------------------------------------------------------------------- +Thu Jul 26 09:13:53 UTC 2012 - dmueller@suse.com + +- use PIC to fix build on arm + +------------------------------------------------------------------- +Fri Jun 22 18:27:28 CEST 2012 - mls@suse.de + +- update to version 2012.06.1 + * use optimization flags for compilation + * improve NFA implementation + * implement fast qrpa PMC type + +------------------------------------------------------------------- +Fri Jun 8 13:46:00 CEST 2012 - mls@suse.de + +- updated to version 2012.05 + * deserialization support + * qregex fixes + +------------------------------------------------------------------- +Sat Mar 24 06:00:00 CET 2012 - carlin@glass.org.nz + +- updated to version 2012.03 + +------------------------------------------------------------------- +Mon Oct 24 14:15:50 CEST 2011 - mls@suse.de + +- initial revision + diff --git a/nqp.spec b/nqp.spec new file mode 100644 index 0000000..0b1d43a --- /dev/null +++ b/nqp.spec @@ -0,0 +1,65 @@ +# +# spec file for package nqp +# +# Copyright (c) 2025 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +Name: nqp +Version: 2025.05 +Release: 0 +Summary: Not Quite Perl +License: Artistic-2.0 +Group: Development/Languages/Other +Source: https://github.com/Raku/nqp/releases/download/%{version}/nqp-%{version}.tar.gz +BuildRequires: moarvm-devel >= %{version} +BuildRequires: perl +BuildRequires: perl(Digest::SHA) +BuildRequires: perl(IPC::Cmd) +Requires: moarvm >= %{version} +%ifarch s390x +BuildRequires: libffi-devel +%endif + +%description +This is "Not Quite Perl" -- a lightweight Raku-like environment for virtual +machines. The key feature of NQP is that it's designed to be a very small +environment (as compared with, say, raku or Rakudo) and is focused on being +a high-level way to create compilers and libraries for virtual machines like +MoarVM, the JVM, and others. + +Unlike a full-fledged implementation of Raku, NQP strives to have as small a +runtime footprint as it can, while still providing a Raku object model and +regular expression engine for the virtual machine. + +%prep +%setup -q + +%build +perl Configure.pl --backends=moar --prefix=%{_usr} --with-moar=%{_bindir}/moar +%make_build + +%check +%make_build test + +%install +%make_install + +%files +%doc CREDITS +%license LICENSE +%{_bindir}/* +%{_datadir}/nqp + +%changelog -- 2.51.1