📁 Source Files

115 files
📄 README
  • Harguments.h
  • Harrayliteral.h
  • Harrayobject.h
  • Hbinary.h
  • Hbitcast.h
  • C++block.cpp
  • Hblock.h
  • Hblockfunctions.h
  • Hcachepadding.h
  • C++cacherecipe.cpp
  • Hcacherecipe.h
  • C++call.cpp
  • Hcall.h
  • C++callbase.cpp
  • Hcallbase.h
  • C++callnamed.cpp
  • Hcallnamed.h
  • Hcanbreak.h
  • Hcancontinue.h
  • Hcanreturn.h
  • C++class.cpp
  • Hclass.h
  • Hclasskind.h
  • C++classobject.cpp
  • Hclassobject.h
  • Hconditionalor.h
  • Hconstructcache.h
  • Hcontainer.h
  • C++context.cpp
  • Hcontext.h
  • Hcontrol.h
  • Hdobreak.h
  • Hdocontinue.h
  • Hdoreturn.h
  • C++dot.cpp
  • Hdot.h
  • C++dotcall.cpp
  • Hdotcall.h
  • C++dotset.cpp
  • Hdotset.h
  • C++dotsetrmw.cpp
  • Hdotsetrmw.h
  • Hdoubleliteral.h
  • C++error.cpp
  • Herror.h
  • Hfunction.h
  • Hfunctionobject.h
  • C++get.cpp
  • Hget.h
  • Hgetrootpackage.h
  • Hif.h
  • Himport.h
  • Hintliteral.h
  • Hintobject.h
  • Hintrinsic.h
  • C++load.cpp
  • Hload.h
  • C++main.cpp
  • C++makerootcontext.cpp
  • Hmakerootcontext.h
  • Hnativefunction.h
  • Hnativeinstanceconstructor.h
  • C++node.cpp
  • Hnode.h
  • Hobject.h
  • Hobjectinlines.h
  • Hoffsets.h
  • C++package.cpp
  • Hpackage.h
  • Hpackageatom.h
  • C++packageatominstance.cpp
  • Hpackageatominstance.h
  • C++parse.cpp
  • Hparse.h
  • Hrmw.h
  • C++rootpackage.cpp
  • Hrootpackage.h
  • C++set.cpp
  • Hset.h
  • C++setrmw.cpp
  • Hsetrmw.h
  • C++setsubscript.cpp
  • Hsetsubscript.h
  • C++storage.cpp
  • Hstorage.h
  • C++stringliteral.cpp
  • Hstringliteral.h
  • Hstringobject.h
  • C++subscript.cpp
  • Hsubscript.h
  • C++subscriptrmw.cpp
  • Hsubscriptrmw.h
  • C++super.cpp
  • Hsuper.h
  • C++superconstructorcall.cpp
  • Hsuperconstructorcall.h
  • C++superdot.cpp
  • Hsuperdot.h
  • C++supermethodcall.cpp
  • Hsupermethodcall.h
  • C++symbol.cpp
  • Hsymbol.h
  • C++table.cpp
  • Htable.h
  • Hunary.h
  • C++userfunction.cpp
  • Huserfunction.h
  • Hutils.h
  • C++value.cpp
  • Hvalue.h
  • Hvalueinlines.h
  • C++watchpoint.cpp
  • Hwatchpoint.h
  • Hwatchpointandversion.h
  • Hwhile.h

Zef interpreter after Optimization #13: Specialized Arguments

Say you’re calling a setter or array intrinsic like subscript. Before this change, this would involve allocating an Arguments object.

This change uses template specialization tricks to avoid allocating any Arguments object for calls to intrinsics that won’t need it.

Select a file