📁 Source Files

115 files (2 modified)
📄 README
Modified Files (2)
  • C++dot.cpp
  • Hdotsetrmw.h
Unmodified Files (113)
  • 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
  • Hdot.h
  • C++dotcall.cpp
  • Hdotcall.h
  • C++dotset.cpp
  • Hdotset.h
  • C++dotsetrmw.cpp
  • 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 #15: Deduplicate DotSetRMW

This is a performance-neutral change that deduplicates some code in DotSetRMW.

(I was hoping it would be a speed-up due to reduction in code bloat, but it wasn’t. In general, it is a good idea to remove pointless code duplication, since smaller machine code tends to be faster due to better icache utilization. But when you do such optimizations, don’t expect any miracles. It can take a lot of code size reduction for the difference to become measurable.)

This is displaying a diff from the previous version of the Zef interpreter.

Select a file