Skip to content

Releases: tonybaloney/Pyjion

v2.0.0

14 Nov 00:45
Compare
Choose a tag to compare

What's Changed

Full Changelog: 1.2.6...2.0.0

v1.2.6

14 Jan 03:03
66a772d
Compare
Choose a tag to compare

What's Changed

Full Changelog: 1.2.5...1.2.6

v1.2.5

12 Jan 05:19
b4c5a4f
Compare
Choose a tag to compare

What's Changed

  • Enable flags for setting release code with debug symbols by @tonybaloney in #473

Full Changelog: 1.2.4...1.2.5

v1.2.4

10 Jan 09:07
658e106
Compare
Choose a tag to compare

What's Changed

  • Updated to rich 11.0
  • Fix a bug in the CIL disassembler for constant double (LDC_R8) opcodes

v1.2.3

09 Jan 05:28
5f01ad8
Compare
Choose a tag to compare

What's Changed

  • Unboxed operations won't update frame last instruction since they're unable to raise exceptions (making them faster)

Full Changelog: 1.2.2...1.2.3

v1.2.2

01 Jan 03:46
aba275f
Compare
Choose a tag to compare

What's Changed

  • Added pyjion.dis.flow_graph() function to get a DOT control flow-graph of CIL basic blocks
  • Added pyjion.dis.cil_instructions() function to get a list of CIL instructions from a compiled function
  • Enable ASAN for Windows (compile-time option)
  • CIL compiles to short branch opcodes when target is within 1 byte
  • Show effective branch target on CIL disassembly output

Full Changelog: 1.2.1...1.2.2

v1.2.1

09 Dec 22:35
a4a8c60
Compare
Choose a tag to compare

What's Changed

  • Add a cibuildwheel specification by @tonybaloney in #441
  • Fix a bug in OPT-12 causing incorrect caching of a method address for a global type subclass by @tonybaloney in #462

Full Changelog: 1.2.0...1.2.1

v1.2.0

06 Dec 07:37
c221b65
Compare
Choose a tag to compare

What's Changed

  • PGC unboxing errors are avoided when functions are called with different argument types to those it was optimized with.
  • PGC types will now be inferred across jump statements, for loops and other small scopes, improving performance
  • LOAD_METHOD will use cached pointers for builtin types like dict, list, etc. meaning LOAD_METHOD is faster in many cases
  • Dictionary merge operators, | and |= will assert the return type as dict
  • Fixes a crash on Windows when referencing call points or sequence points for a free'd module
  • Fixes an issue running pyjion -m module with arguments

PRs

Full Changelog: 1.1.1...1.2.0

v1.1.1

22 Nov 20:48
77d367a
Compare
Choose a tag to compare

What's Changed

  • Fixed a critical bug where recursive functions that use a mutable container type (e.g. list) causes a decref to the wrong object and subsequent crash.
  • Fixes a bug on graph generation for recursive functions causing a crash in some situations
  • Fixes a bug on method calls, which called the wrong method when the class was copied using copy.copy()
  • Reduced memory consumption for method calls
  • The pyjion command parses args with better similarity to the python command by @henryiii in #440

New Contributors

Full Changelog: 1.1.0...1.1.1

v1.1.0

15 Nov 01:35
046beb0
Compare
Choose a tag to compare

What's Changed

  • Added unboxed integer operations for BINARY_LSHIFT, BINARY_RSHIFT, BINARY_AND, BINARY_OR, BINARY_XOR
  • BINARY_MULTIPLY and BINARY_POWER will stay unboxed if the right-hand operator is a constant that won't overflow (e.g. x ** 2)
  • Added unboxed UNARY_NOT,UNARY_POSITIVE and UNARY_NEGATIVE operation for float, bool and int types
  • Added unboxed UNARY_INVERT for int and bool types
  • Added unboxed STORE_SUBSCR for bytearrays
  • The types of global variables are profiled at compile-time
  • Improved performance of bytearrays, by adding an unboxed bytearray type and unboxed slice operations for bytearrays, yielding unboxed integers
  • Fixed a reference count bug with unboxed range iterators
  • PGC will now allow an int of value 0 or 1 to be unboxed into a bool
  • Unboxing of integers is now more efficient and allows for True to be unboxed into 1 and False into 0

New Contributors

Full Changelog: 1.0.0...1.1.0