📁 Source Files

115 files (36 modified)
📄 README
Modified Files (36)
  • Harguments.h
  • C++call.cpp
  • Hcall.h
  • C++callbase.cpp
  • Hcallbase.h
  • C++callnamed.cpp
  • Hcallnamed.h
  • C++classobject.cpp
  • Hclassobject.h
  • Hconstructcache.h
  • C++context.cpp
  • Hcontext.h
  • C++dotcall.cpp
  • Hdotcall.h
  • Hdotsetrmw.h
  • Hfunction.h
  • C++makerootcontext.cpp
  • Hnativefunction.h
  • Hnativeinstanceconstructor.h
  • Hobject.h
  • Hobjectinlines.h
  • C++package.cpp
  • Hpackage.h
  • C++setsubscript.cpp
  • Hsubscriptrmw.h
  • C++super.cpp
  • C++superconstructorcall.cpp
  • Hsuperconstructorcall.h
  • C++superdot.cpp
  • C++supermethodcall.cpp
  • Hsupermethodcall.h
  • C++userfunction.cpp
  • Huserfunction.h
  • C++value.cpp
  • Hvalue.h
  • Hvalueinlines.h
Unmodified Files (79)
  • Harrayliteral.h
  • Harrayobject.h
  • Hbinary.h
  • Hbitcast.h
  • C++block.cpp
  • Hblock.h
  • Hblockfunctions.h
  • Hcachepadding.h
  • C++cacherecipe.cpp
  • Hcacherecipe.h
  • Hcanbreak.h
  • Hcancontinue.h
  • Hcanreturn.h
  • C++class.cpp
  • Hclass.h
  • Hclasskind.h
  • Hconditionalor.h
  • Hcontainer.h
  • Hcontrol.h
  • Hdobreak.h
  • Hdocontinue.h
  • Hdoreturn.h
  • C++dot.cpp
  • Hdot.h
  • C++dotset.cpp
  • Hdotset.h
  • C++dotsetrmw.cpp
  • Hdoubleliteral.h
  • C++error.cpp
  • Herror.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
  • Hmakerootcontext.h
  • C++node.cpp
  • Hnode.h
  • Hoffsets.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
  • Hsetsubscript.h
  • C++storage.cpp
  • Hstorage.h
  • C++stringliteral.cpp
  • Hstringliteral.h
  • Hstringobject.h
  • C++subscript.cpp
  • Hsubscript.h
  • C++subscriptrmw.cpp
  • Hsuper.h
  • Hsuperdot.h
  • C++symbol.cpp
  • Hsymbol.h
  • C++table.cpp
  • Htable.h
  • Hunary.h
  • Hutils.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. This is displaying a diff from the previous version of the Zef interpreter.

Select a file