thautwarm / diojit

Fully compatible CPython jit compiler. Optimising Dynamic, Interpreted, and Object-oriented(DIO) programs.
BSD 2-Clause "Simplified" License
117 stars 2 forks source link

ideas of introducing ICs into dynjit #19

Open thautwarm opened 3 years ago

thautwarm commented 3 years ago

Python's object data model is quite different from JavaScript's, but ICs are still applicable within CPython. A python type is a shape, and methods, class methods and static methods can be optimized like properties in IC. IC requires few assumptions than many current techniques used in dynjit, for instance, constant global references and immutable type objects are not necessary.