Home | History | Annotate | only in /src/sys/external/bsd/sljit
History log of /src/sys/external/bsd/sljit
RevisionDateAuthorComments
 1.6 20-Jan-2019  alnsn Update sljit revision.
 1.5 29-May-2016  alnsn branches: 1.5.16; 1.5.18;
Update sljit revision to r313 after the import.
 1.4 17-Jun-2014  alnsn branches: 1.4.4;
New sljit version is r257.
 1.3 28-Oct-2012  alnsn branches: 1.3.2; 1.3.4; 1.3.14;
Update sljit revision in README.import.
 1.2 21-Oct-2012  alnsn Update README.import.
 1.1 06-Oct-2012  alnsn Add import notes.
 1.3.14.1 10-Aug-2014  tls Rebase.
 1.3.4.4 03-Dec-2017  jdolecek update from HEAD
 1.3.4.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.3.4.2 28-Oct-2012  alnsn Update sljit revision in README.import.
 1.3.4.1 28-Oct-2012  alnsn file README.import was added on branch tls-maxphys on 2012-10-28 09:41:13 +0000
 1.3.2.2 30-Oct-2012  yamt sync with head
 1.3.2.1 28-Oct-2012  yamt file README.import was added on branch yamt-pagecache on 2012-10-30 17:22:20 +0000
 1.4.4.1 09-Jul-2016  skrll Sync with HEAD
 1.5.18.1 10-Jun-2019  christos Sync with HEAD
 1.5.16.1 26-Jan-2019  pgoyette Sync with HEAD
 1.2 21-Oct-2012  alnsn branches: 1.2.2; 1.2.4;
Move sljit_mod.c to sys/external/bsd/sljit/sljit and share it between
builtin and standalone module.
 1.1 13-Oct-2012  alnsn Fix compilation.
 1.2.4.2 21-Oct-2012  alnsn Move sljit_mod.c to sys/external/bsd/sljit/sljit and share it between
builtin and standalone module.
 1.2.4.1 21-Oct-2012  alnsn file files.sljit was added on branch tls-maxphys on 2012-10-21 21:23:39 +0000
 1.2.2.2 30-Oct-2012  yamt sync with head
 1.2.2.1 21-Oct-2012  yamt file files.sljit was added on branch yamt-pagecache on 2012-10-30 17:22:20 +0000
 1.1 17-Jun-2014  alnsn branches: 1.1.1;
Initial revision
 1.1.1.3 20-Jan-2019  alnsn Update sljit to version 0.93 (svn revision r333).

Changes since the last import:

r333 More x86 fixes and a new stack test.
r332 Improve stack allocation on x86.
r331 Make sljit_free_unused_memory_exec public, PPC flush takes priority.
r330 Reverse the stack utility to top-down.
r329 Add sljit_set_current_flags function.
r328 Add two more virtual registers to x86/32, ARM-32 refactor.
r327 Remove value caching on ARM-32.
r326 Remove value caching on ARM-Thumb2.
r325 Move with update rework.
r324 Arm32 store fixes.
r323 Update macros and remove copyright years.
r322 Reworking flags, removing keep flags.
r321 Quick fix for regexjit.
r320 Improve protected executable allocator. Patch insipred by Christian Persch.
r319 Fully support dynamic code modifications again.
r318 Support protected allocator on all architectures except TILEGX.
r317 Rework protected allocator, only x86 linux is supported now.
r316 Add protected executable allocator.
r315 Remove SLJIT_MEMMOVE.
r314 Fix unaligned accesses on x86. Patch by Marc Mutz.
 1.1.1.2 29-May-2016  alnsn branches: 1.1.1.2.16; 1.1.1.2.18;
Import sljit version r313.

Changes since the last import:

r313 Fix a racing condition reported by Mozilla.
r312 Support Android ARM64 cacheflush. Patch by Tavian Barnes.
r311 Update opcode dump.
r310 Better type specification for integer operations and conditional types.
r309 Better type specification for long mul and divide operators.
r308 Better type specification for floating point operations.
r307 Change d and s postfixes to f64 and f32.
r306 Change b,h,i postifxes to 8,16,32.
r305 Fix a wrong immediate number. Reported by Michael McConville.
r304 Make file patch by Michael McConville.
r303 Landed changes created by Michael McConville.
r302 Add support for cmov on x86.
r301 Tile-Gx fixes by Walter Lee
r300 Add WinCE support.
r299 Add a tutorial for SLJIT. Contributed by Wen Xichang.
r298 Improve integer division.
r297 Start reworking the integer division.
r296 Add an overview for SLJIT.
r295 Small optimizations for x86 and ARM64.
r294 Fix ARM64 SP alignment.
r293 Add a new sljit_set_compiler_memory_error function.
r292 Add missing argument on ARM32.
r291 Minor fixes and NOINLINE support.
r290 Support custom memory allocators.
r289 Add SLJIT_DOUBLE_ALIGNMENT support and emit_op_custom size check.
r288 Add suport for SLJIT_ARGUMENT_CHECKS on all architectures.
r287 Add SLJIT_ARGUMENT_CHECKS compiler option and lots of cleanups.
r286 Support the new naming on PPC and MIPS.
r285 Support the new naming on ARM and SPARC.
r284 Move the type letter to the beggining of the floating point opcodes.
r283 Add i_ s_ d_ froms to compare types.
r282 Fix an incorrect form of mul on x86-64.
r281 Refactoring sljitConfigInternal.h header.
r280 Remove variable locals offset.
r279 Test skips are not reported if verbose is disabled.
r278 Add options to sljit_emit_enter and sljit_set_context.
r277 Reindexing opX opcodes.
r276 Some comments are fixed and minor refactors were done.
r275 Minor optimizations.
r274 Extend the register set on ARM.
r273 Extend the register set on PPC, MIPS, SPARC.
r272 Allow remapping of any registers: not just scratch->saved, but saved->scratch as well.
r271 Renaming floating point registers to support more of them.
r270 Extend the register set on x86.
r269 Renaming integer registers for preparing the support of any all machine registers.
r268 Refactor a macro to work when debug is disabled.
r267 Introduce architecture macros without 32/64 bit postfix.
r266 The floating point conversion operators are finished on PPC, and they are supported on all architectures now.
r265 FPU operations support locals access now. CONW is supported on PPC now.
r264 Continue code refactoring, MOVS/MOVD are optimized on all architectures.
r263 SPARC implementation of floating point operators.
r262 Small refactorings.
r261 MIPS implementation of floating point conversion operators.
r260 ARM implementation of floating point operators.
r259 x86 implementation of floating point conversion operators.
r258 Refactoring sljit_emit_fop1 opcodes, inserting placeholders for new ones.
 1.1.1.1 17-Jun-2014  alnsn branches: 1.1.1.1.2; 1.1.1.1.6; 1.1.1.1.8;
Import sljit 0.91 (svn r257).

The changes since the last import are:

r257: Add missing ADJUST_LOCAL_OFFSET for ARM64.
r256: Move incorrectly placed array definitions.
r255: More work on testing environment.
r254: Refactor test default output.
r253: Pass entry adress in r12 on PPC-LE.
r252: Optimize calls on MIPS-64.
r251: Several minor fixes.
r250: Add missing SLJIT_IS_FPU_AVAILABLE checks and reorder U and S flags.
r249: Optimize jumps on ARM-64.
r248: Optimize jumps on PowerPC.
r247: MIPS64 support is mostly finished.
r246: MIPS arithmetic.
r245: Start working on MIPS64.
r244: Uniform names for TILE-Gx.
r243: Uniform the names of ARM compilers.
r242: Change ll to l on x86 and rename some instructions on ARM-64.
r241: Improved memory access in PPC and reordering the parameter type flags.
r240: Prepare for more registers on ARM-Thumb2 and renaming TMP_REGISTER to TMP_REG1 on x86.
r239: Prepare for more registers on ARMv5.
r238: Prepare for more registers on TILE-Gx.
r237: Prepare for more registers on MIPS and SPARC.
r236: Prepare for more registers on PPC.
r235: Prepare for more registers on x86.
r234: Most tests are pass on ARM-64 now.
r233: Around 25 test cases are now pass on ARM-64.
r232: More progress on ARM-64 and Thumb2 refactoring.
r231: Some progress an ARM-64 and ARM-T2 refactoring.
r230: Thumb2 code refactoring.
r229: Start working on ARM-64.
r228: Little endian PowerPC systems are supported now by the JIT compiler.
r227: TileGX architecture is now supported. Patch made by Jiong Wang.
r226: Cache flush for android. Patch by Giuseppe D'Angelo.
r225: Add support for forcibly freeing unused executable memory. Inspired by Carsten Klein.
r224: Few typo fixes.
r223: Reorder madvise and posix_madvise.
r222: The missing sljit_get_float_register_index function is added.
r221: Remove an invalid shift on ARM.
r220: JIT compiler now supports 32 bit Macs thanks to Lawrence Velazquez.
r219: Better code size statistics.
r218: Improvements for x86 and LIR dump.
r217: ICC and SunPro C fixes
r216: A new file for tracking internal changes are added.
r215: Less GNU dependnet Makefile and Intel style assemby for x86-64 systems.
r214: Switch from stdcall to cdecl in x86-32.
r213: Upstreaming minor fixes. Thanks for Daniel Richard G.
r212: Documentation update and a fix for a locking issue.
r211: Renaming temporaries to scratches to match the new name of the register. Does not affect compatibility.
r210: Improving assertions.
r209: Port sljit to SunPro C compiler. Patch by Daniel Richard G.
r208: SLJIT_TEMPORARY_REGx registers are renamed to SLJIT_SCRATCH_REGx.
r207: Removing unused checks.
r206: Optimizations for arm.
r205: Some optimizations on powerpc, mips and sparc.
r204: Rename sljit_emit_cond_value to sljit_emit_op_flags.
r203: Small x86 optimization.
r202: Finish cond_value with AND and INT_OP.
r201: More x86 fixes and improvements.
r200: Rename buf and code to inst.
r199: Replacing constants with instruction names in x86. Greatly improves maintainability.
r198: Only xmm0-xmm5 is volatile on Win64, so xmm6 must be saved.
r197: PowerPC shift right always modifies the carry flag. We may need to restore it.
r196: Rename SLJIT_F* functions to SLJIT_*D
r195: SLJIT_INT_OP works in the same way as SLJIT_SINGLE_OP: the input register arguments must be generated by the output of another instruction with SLJIT_INT_OP flag
r194: Renaming sljit_w to sljit_sw, sljit_i to sljit_si, sljit_h to sljit_sh, and sljit_b to sljit_sb.
r193: ARM single precision support.
r192: Single precision support added for ppc, mips and sparc.
r191: Add single precision support. Only works on x86 now.
r190: Relace C types with sljit types. No functionality change.
r189: Change 0 to NULL for mmap.
r188: Support environments where MAP_ANON is not available.
r187: Adding type descriptors for pointers and doubles (preparing for x32 ABIs and single precision support).
 1.1.1.2.18.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.2.16.1 26-Jan-2019  pgoyette Sync with HEAD
 1.1.1.1.8.1 09-Jul-2016  skrll Sync with HEAD
 1.1.1.1.6.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.6.1 17-Jun-2014  tls file API_CHANGES was added on branch tls-maxphys on 2014-08-20 00:04:24 +0000
 1.1.1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.1.1.2.1 17-Jun-2014  tls file API_CHANGES was added on branch tls-earlyentropy on 2014-08-10 06:55:40 +0000
 1.1 17-Jun-2014  alnsn branches: 1.1.1;
Initial revision
 1.1.1.1 17-Jun-2014  alnsn branches: 1.1.1.1.2; 1.1.1.1.6;
Import sljit 0.91 (svn r257).

The changes since the last import are:

r257: Add missing ADJUST_LOCAL_OFFSET for ARM64.
r256: Move incorrectly placed array definitions.
r255: More work on testing environment.
r254: Refactor test default output.
r253: Pass entry adress in r12 on PPC-LE.
r252: Optimize calls on MIPS-64.
r251: Several minor fixes.
r250: Add missing SLJIT_IS_FPU_AVAILABLE checks and reorder U and S flags.
r249: Optimize jumps on ARM-64.
r248: Optimize jumps on PowerPC.
r247: MIPS64 support is mostly finished.
r246: MIPS arithmetic.
r245: Start working on MIPS64.
r244: Uniform names for TILE-Gx.
r243: Uniform the names of ARM compilers.
r242: Change ll to l on x86 and rename some instructions on ARM-64.
r241: Improved memory access in PPC and reordering the parameter type flags.
r240: Prepare for more registers on ARM-Thumb2 and renaming TMP_REGISTER to TMP_REG1 on x86.
r239: Prepare for more registers on ARMv5.
r238: Prepare for more registers on TILE-Gx.
r237: Prepare for more registers on MIPS and SPARC.
r236: Prepare for more registers on PPC.
r235: Prepare for more registers on x86.
r234: Most tests are pass on ARM-64 now.
r233: Around 25 test cases are now pass on ARM-64.
r232: More progress on ARM-64 and Thumb2 refactoring.
r231: Some progress an ARM-64 and ARM-T2 refactoring.
r230: Thumb2 code refactoring.
r229: Start working on ARM-64.
r228: Little endian PowerPC systems are supported now by the JIT compiler.
r227: TileGX architecture is now supported. Patch made by Jiong Wang.
r226: Cache flush for android. Patch by Giuseppe D'Angelo.
r225: Add support for forcibly freeing unused executable memory. Inspired by Carsten Klein.
r224: Few typo fixes.
r223: Reorder madvise and posix_madvise.
r222: The missing sljit_get_float_register_index function is added.
r221: Remove an invalid shift on ARM.
r220: JIT compiler now supports 32 bit Macs thanks to Lawrence Velazquez.
r219: Better code size statistics.
r218: Improvements for x86 and LIR dump.
r217: ICC and SunPro C fixes
r216: A new file for tracking internal changes are added.
r215: Less GNU dependnet Makefile and Intel style assemby for x86-64 systems.
r214: Switch from stdcall to cdecl in x86-32.
r213: Upstreaming minor fixes. Thanks for Daniel Richard G.
r212: Documentation update and a fix for a locking issue.
r211: Renaming temporaries to scratches to match the new name of the register. Does not affect compatibility.
r210: Improving assertions.
r209: Port sljit to SunPro C compiler. Patch by Daniel Richard G.
r208: SLJIT_TEMPORARY_REGx registers are renamed to SLJIT_SCRATCH_REGx.
r207: Removing unused checks.
r206: Optimizations for arm.
r205: Some optimizations on powerpc, mips and sparc.
r204: Rename sljit_emit_cond_value to sljit_emit_op_flags.
r203: Small x86 optimization.
r202: Finish cond_value with AND and INT_OP.
r201: More x86 fixes and improvements.
r200: Rename buf and code to inst.
r199: Replacing constants with instruction names in x86. Greatly improves maintainability.
r198: Only xmm0-xmm5 is volatile on Win64, so xmm6 must be saved.
r197: PowerPC shift right always modifies the carry flag. We may need to restore it.
r196: Rename SLJIT_F* functions to SLJIT_*D
r195: SLJIT_INT_OP works in the same way as SLJIT_SINGLE_OP: the input register arguments must be generated by the output of another instruction with SLJIT_INT_OP flag
r194: Renaming sljit_w to sljit_sw, sljit_i to sljit_si, sljit_h to sljit_sh, and sljit_b to sljit_sb.
r193: ARM single precision support.
r192: Single precision support added for ppc, mips and sparc.
r191: Add single precision support. Only works on x86 now.
r190: Relace C types with sljit types. No functionality change.
r189: Change 0 to NULL for mmap.
r188: Support environments where MAP_ANON is not available.
r187: Adding type descriptors for pointers and doubles (preparing for x32 ABIs and single precision support).
 1.1.1.1.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.6.1 17-Jun-2014  tls file INTERNAL_CHANGES was added on branch tls-maxphys on 2014-08-20 00:04:24 +0000
 1.1.1.1.2.2 10-Aug-2014  tls Rebase.
 1.1.1.1.2.1 17-Jun-2014  tls file INTERNAL_CHANGES was added on branch tls-earlyentropy on 2014-08-10 06:55:40 +0000
 1.1 06-Oct-2012  alnsn branches: 1.1.1;
Initial revision
 1.1.1.5 20-Jan-2019  alnsn Update sljit to version 0.93 (svn revision r333).

Changes since the last import:

r333 More x86 fixes and a new stack test.
r332 Improve stack allocation on x86.
r331 Make sljit_free_unused_memory_exec public, PPC flush takes priority.
r330 Reverse the stack utility to top-down.
r329 Add sljit_set_current_flags function.
r328 Add two more virtual registers to x86/32, ARM-32 refactor.
r327 Remove value caching on ARM-32.
r326 Remove value caching on ARM-Thumb2.
r325 Move with update rework.
r324 Arm32 store fixes.
r323 Update macros and remove copyright years.
r322 Reworking flags, removing keep flags.
r321 Quick fix for regexjit.
r320 Improve protected executable allocator. Patch insipred by Christian Persch.
r319 Fully support dynamic code modifications again.
r318 Support protected allocator on all architectures except TILEGX.
r317 Rework protected allocator, only x86 linux is supported now.
r316 Add protected executable allocator.
r315 Remove SLJIT_MEMMOVE.
r314 Fix unaligned accesses on x86. Patch by Marc Mutz.
 1.1.1.4 29-May-2016  alnsn branches: 1.1.1.4.16; 1.1.1.4.18;
Import sljit version r313.

Changes since the last import:

r313 Fix a racing condition reported by Mozilla.
r312 Support Android ARM64 cacheflush. Patch by Tavian Barnes.
r311 Update opcode dump.
r310 Better type specification for integer operations and conditional types.
r309 Better type specification for long mul and divide operators.
r308 Better type specification for floating point operations.
r307 Change d and s postfixes to f64 and f32.
r306 Change b,h,i postifxes to 8,16,32.
r305 Fix a wrong immediate number. Reported by Michael McConville.
r304 Make file patch by Michael McConville.
r303 Landed changes created by Michael McConville.
r302 Add support for cmov on x86.
r301 Tile-Gx fixes by Walter Lee
r300 Add WinCE support.
r299 Add a tutorial for SLJIT. Contributed by Wen Xichang.
r298 Improve integer division.
r297 Start reworking the integer division.
r296 Add an overview for SLJIT.
r295 Small optimizations for x86 and ARM64.
r294 Fix ARM64 SP alignment.
r293 Add a new sljit_set_compiler_memory_error function.
r292 Add missing argument on ARM32.
r291 Minor fixes and NOINLINE support.
r290 Support custom memory allocators.
r289 Add SLJIT_DOUBLE_ALIGNMENT support and emit_op_custom size check.
r288 Add suport for SLJIT_ARGUMENT_CHECKS on all architectures.
r287 Add SLJIT_ARGUMENT_CHECKS compiler option and lots of cleanups.
r286 Support the new naming on PPC and MIPS.
r285 Support the new naming on ARM and SPARC.
r284 Move the type letter to the beggining of the floating point opcodes.
r283 Add i_ s_ d_ froms to compare types.
r282 Fix an incorrect form of mul on x86-64.
r281 Refactoring sljitConfigInternal.h header.
r280 Remove variable locals offset.
r279 Test skips are not reported if verbose is disabled.
r278 Add options to sljit_emit_enter and sljit_set_context.
r277 Reindexing opX opcodes.
r276 Some comments are fixed and minor refactors were done.
r275 Minor optimizations.
r274 Extend the register set on ARM.
r273 Extend the register set on PPC, MIPS, SPARC.
r272 Allow remapping of any registers: not just scratch->saved, but saved->scratch as well.
r271 Renaming floating point registers to support more of them.
r270 Extend the register set on x86.
r269 Renaming integer registers for preparing the support of any all machine registers.
r268 Refactor a macro to work when debug is disabled.
r267 Introduce architecture macros without 32/64 bit postfix.
r266 The floating point conversion operators are finished on PPC, and they are supported on all architectures now.
r265 FPU operations support locals access now. CONW is supported on PPC now.
r264 Continue code refactoring, MOVS/MOVD are optimized on all architectures.
r263 SPARC implementation of floating point operators.
r262 Small refactorings.
r261 MIPS implementation of floating point conversion operators.
r260 ARM implementation of floating point operators.
r259 x86 implementation of floating point conversion operators.
r258 Refactoring sljit_emit_fop1 opcodes, inserting placeholders for new ones.
 1.1.1.3 17-Jun-2014  alnsn branches: 1.1.1.3.4;
Import sljit 0.91 (svn r257).

The changes since the last import are:

r257: Add missing ADJUST_LOCAL_OFFSET for ARM64.
r256: Move incorrectly placed array definitions.
r255: More work on testing environment.
r254: Refactor test default output.
r253: Pass entry adress in r12 on PPC-LE.
r252: Optimize calls on MIPS-64.
r251: Several minor fixes.
r250: Add missing SLJIT_IS_FPU_AVAILABLE checks and reorder U and S flags.
r249: Optimize jumps on ARM-64.
r248: Optimize jumps on PowerPC.
r247: MIPS64 support is mostly finished.
r246: MIPS arithmetic.
r245: Start working on MIPS64.
r244: Uniform names for TILE-Gx.
r243: Uniform the names of ARM compilers.
r242: Change ll to l on x86 and rename some instructions on ARM-64.
r241: Improved memory access in PPC and reordering the parameter type flags.
r240: Prepare for more registers on ARM-Thumb2 and renaming TMP_REGISTER to TMP_REG1 on x86.
r239: Prepare for more registers on ARMv5.
r238: Prepare for more registers on TILE-Gx.
r237: Prepare for more registers on MIPS and SPARC.
r236: Prepare for more registers on PPC.
r235: Prepare for more registers on x86.
r234: Most tests are pass on ARM-64 now.
r233: Around 25 test cases are now pass on ARM-64.
r232: More progress on ARM-64 and Thumb2 refactoring.
r231: Some progress an ARM-64 and ARM-T2 refactoring.
r230: Thumb2 code refactoring.
r229: Start working on ARM-64.
r228: Little endian PowerPC systems are supported now by the JIT compiler.
r227: TileGX architecture is now supported. Patch made by Jiong Wang.
r226: Cache flush for android. Patch by Giuseppe D'Angelo.
r225: Add support for forcibly freeing unused executable memory. Inspired by Carsten Klein.
r224: Few typo fixes.
r223: Reorder madvise and posix_madvise.
r222: The missing sljit_get_float_register_index function is added.
r221: Remove an invalid shift on ARM.
r220: JIT compiler now supports 32 bit Macs thanks to Lawrence Velazquez.
r219: Better code size statistics.
r218: Improvements for x86 and LIR dump.
r217: ICC and SunPro C fixes
r216: A new file for tracking internal changes are added.
r215: Less GNU dependnet Makefile and Intel style assemby for x86-64 systems.
r214: Switch from stdcall to cdecl in x86-32.
r213: Upstreaming minor fixes. Thanks for Daniel Richard G.
r212: Documentation update and a fix for a locking issue.
r211: Renaming temporaries to scratches to match the new name of the register. Does not affect compatibility.
r210: Improving assertions.
r209: Port sljit to SunPro C compiler. Patch by Daniel Richard G.
r208: SLJIT_TEMPORARY_REGx registers are renamed to SLJIT_SCRATCH_REGx.
r207: Removing unused checks.
r206: Optimizations for arm.
r205: Some optimizations on powerpc, mips and sparc.
r204: Rename sljit_emit_cond_value to sljit_emit_op_flags.
r203: Small x86 optimization.
r202: Finish cond_value with AND and INT_OP.
r201: More x86 fixes and improvements.
r200: Rename buf and code to inst.
r199: Replacing constants with instruction names in x86. Greatly improves maintainability.
r198: Only xmm0-xmm5 is volatile on Win64, so xmm6 must be saved.
r197: PowerPC shift right always modifies the carry flag. We may need to restore it.
r196: Rename SLJIT_F* functions to SLJIT_*D
r195: SLJIT_INT_OP works in the same way as SLJIT_SINGLE_OP: the input register arguments must be generated by the output of another instruction with SLJIT_INT_OP flag
r194: Renaming sljit_w to sljit_sw, sljit_i to sljit_si, sljit_h to sljit_sh, and sljit_b to sljit_sb.
r193: ARM single precision support.
r192: Single precision support added for ppc, mips and sparc.
r191: Add single precision support. Only works on x86 now.
r190: Relace C types with sljit types. No functionality change.
r189: Change 0 to NULL for mmap.
r188: Support environments where MAP_ANON is not available.
r187: Adding type descriptors for pointers and doubles (preparing for x32 ABIs and single precision support).
 1.1.1.2 28-Oct-2012  alnsn branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.14;
Import of sljit @ r186.

This version adds sparc architecture. Other changes:

r184: NAN to UNORDERED renaming and other fixes.
r180: Common caching in PPC and MIPS.
 1.1.1.1 06-Oct-2012  alnsn Initial import of sljit @ r175.

svn co https://sljit.svn.sourceforge.net/svnroot/sljit@r175 dist
 1.1.1.4.18.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.4.16.1 26-Jan-2019  pgoyette Sync with HEAD
 1.1.1.3.4.1 09-Jul-2016  skrll Sync with HEAD
 1.1.1.2.14.1 10-Aug-2014  tls Rebase.
 1.1.1.2.4.4 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.4.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.4.2 28-Oct-2012  alnsn Import of sljit @ r186.

This version adds sparc architecture. Other changes:

r184: NAN to UNORDERED renaming and other fixes.
r180: Common caching in PPC and MIPS.
 1.1.1.2.4.1 28-Oct-2012  alnsn file Makefile was added on branch tls-maxphys on 2012-10-28 09:36:13 +0000
 1.1.1.2.2.2 30-Oct-2012  yamt sync with head
 1.1.1.2.2.1 28-Oct-2012  yamt file Makefile was added on branch yamt-pagecache on 2012-10-30 17:22:21 +0000
 1.1 06-Oct-2012  alnsn branches: 1.1.1;
Initial revision
 1.1.1.5 20-Jan-2019  alnsn Update sljit to version 0.93 (svn revision r333).

Changes since the last import:

r333 More x86 fixes and a new stack test.
r332 Improve stack allocation on x86.
r331 Make sljit_free_unused_memory_exec public, PPC flush takes priority.
r330 Reverse the stack utility to top-down.
r329 Add sljit_set_current_flags function.
r328 Add two more virtual registers to x86/32, ARM-32 refactor.
r327 Remove value caching on ARM-32.
r326 Remove value caching on ARM-Thumb2.
r325 Move with update rework.
r324 Arm32 store fixes.
r323 Update macros and remove copyright years.
r322 Reworking flags, removing keep flags.
r321 Quick fix for regexjit.
r320 Improve protected executable allocator. Patch insipred by Christian Persch.
r319 Fully support dynamic code modifications again.
r318 Support protected allocator on all architectures except TILEGX.
r317 Rework protected allocator, only x86 linux is supported now.
r316 Add protected executable allocator.
r315 Remove SLJIT_MEMMOVE.
r314 Fix unaligned accesses on x86. Patch by Marc Mutz.
 1.1.1.4 29-May-2016  alnsn branches: 1.1.1.4.16; 1.1.1.4.18;
Import sljit version r313.

Changes since the last import:

r313 Fix a racing condition reported by Mozilla.
r312 Support Android ARM64 cacheflush. Patch by Tavian Barnes.
r311 Update opcode dump.
r310 Better type specification for integer operations and conditional types.
r309 Better type specification for long mul and divide operators.
r308 Better type specification for floating point operations.
r307 Change d and s postfixes to f64 and f32.
r306 Change b,h,i postifxes to 8,16,32.
r305 Fix a wrong immediate number. Reported by Michael McConville.
r304 Make file patch by Michael McConville.
r303 Landed changes created by Michael McConville.
r302 Add support for cmov on x86.
r301 Tile-Gx fixes by Walter Lee
r300 Add WinCE support.
r299 Add a tutorial for SLJIT. Contributed by Wen Xichang.
r298 Improve integer division.
r297 Start reworking the integer division.
r296 Add an overview for SLJIT.
r295 Small optimizations for x86 and ARM64.
r294 Fix ARM64 SP alignment.
r293 Add a new sljit_set_compiler_memory_error function.
r292 Add missing argument on ARM32.
r291 Minor fixes and NOINLINE support.
r290 Support custom memory allocators.
r289 Add SLJIT_DOUBLE_ALIGNMENT support and emit_op_custom size check.
r288 Add suport for SLJIT_ARGUMENT_CHECKS on all architectures.
r287 Add SLJIT_ARGUMENT_CHECKS compiler option and lots of cleanups.
r286 Support the new naming on PPC and MIPS.
r285 Support the new naming on ARM and SPARC.
r284 Move the type letter to the beggining of the floating point opcodes.
r283 Add i_ s_ d_ froms to compare types.
r282 Fix an incorrect form of mul on x86-64.
r281 Refactoring sljitConfigInternal.h header.
r280 Remove variable locals offset.
r279 Test skips are not reported if verbose is disabled.
r278 Add options to sljit_emit_enter and sljit_set_context.
r277 Reindexing opX opcodes.
r276 Some comments are fixed and minor refactors were done.
r275 Minor optimizations.
r274 Extend the register set on ARM.
r273 Extend the register set on PPC, MIPS, SPARC.
r272 Allow remapping of any registers: not just scratch->saved, but saved->scratch as well.
r271 Renaming floating point registers to support more of them.
r270 Extend the register set on x86.
r269 Renaming integer registers for preparing the support of any all machine registers.
r268 Refactor a macro to work when debug is disabled.
r267 Introduce architecture macros without 32/64 bit postfix.
r266 The floating point conversion operators are finished on PPC, and they are supported on all architectures now.
r265 FPU operations support locals access now. CONW is supported on PPC now.
r264 Continue code refactoring, MOVS/MOVD are optimized on all architectures.
r263 SPARC implementation of floating point operators.
r262 Small refactorings.
r261 MIPS implementation of floating point conversion operators.
r260 ARM implementation of floating point operators.
r259 x86 implementation of floating point conversion operators.
r258 Refactoring sljit_emit_fop1 opcodes, inserting placeholders for new ones.
 1.1.1.3 17-Jun-2014  alnsn branches: 1.1.1.3.4;
Import sljit 0.91 (svn r257).

The changes since the last import are:

r257: Add missing ADJUST_LOCAL_OFFSET for ARM64.
r256: Move incorrectly placed array definitions.
r255: More work on testing environment.
r254: Refactor test default output.
r253: Pass entry adress in r12 on PPC-LE.
r252: Optimize calls on MIPS-64.
r251: Several minor fixes.
r250: Add missing SLJIT_IS_FPU_AVAILABLE checks and reorder U and S flags.
r249: Optimize jumps on ARM-64.
r248: Optimize jumps on PowerPC.
r247: MIPS64 support is mostly finished.
r246: MIPS arithmetic.
r245: Start working on MIPS64.
r244: Uniform names for TILE-Gx.
r243: Uniform the names of ARM compilers.
r242: Change ll to l on x86 and rename some instructions on ARM-64.
r241: Improved memory access in PPC and reordering the parameter type flags.
r240: Prepare for more registers on ARM-Thumb2 and renaming TMP_REGISTER to TMP_REG1 on x86.
r239: Prepare for more registers on ARMv5.
r238: Prepare for more registers on TILE-Gx.
r237: Prepare for more registers on MIPS and SPARC.
r236: Prepare for more registers on PPC.
r235: Prepare for more registers on x86.
r234: Most tests are pass on ARM-64 now.
r233: Around 25 test cases are now pass on ARM-64.
r232: More progress on ARM-64 and Thumb2 refactoring.
r231: Some progress an ARM-64 and ARM-T2 refactoring.
r230: Thumb2 code refactoring.
r229: Start working on ARM-64.
r228: Little endian PowerPC systems are supported now by the JIT compiler.
r227: TileGX architecture is now supported. Patch made by Jiong Wang.
r226: Cache flush for android. Patch by Giuseppe D'Angelo.
r225: Add support for forcibly freeing unused executable memory. Inspired by Carsten Klein.
r224: Few typo fixes.
r223: Reorder madvise and posix_madvise.
r222: The missing sljit_get_float_register_index function is added.
r221: Remove an invalid shift on ARM.
r220: JIT compiler now supports 32 bit Macs thanks to Lawrence Velazquez.
r219: Better code size statistics.
r218: Improvements for x86 and LIR dump.
r217: ICC and SunPro C fixes
r216: A new file for tracking internal changes are added.
r215: Less GNU dependnet Makefile and Intel style assemby for x86-64 systems.
r214: Switch from stdcall to cdecl in x86-32.
r213: Upstreaming minor fixes. Thanks for Daniel Richard G.
r212: Documentation update and a fix for a locking issue.
r211: Renaming temporaries to scratches to match the new name of the register. Does not affect compatibility.
r210: Improving assertions.
r209: Port sljit to SunPro C compiler. Patch by Daniel Richard G.
r208: SLJIT_TEMPORARY_REGx registers are renamed to SLJIT_SCRATCH_REGx.
r207: Removing unused checks.
r206: Optimizations for arm.
r205: Some optimizations on powerpc, mips and sparc.
r204: Rename sljit_emit_cond_value to sljit_emit_op_flags.
r203: Small x86 optimization.
r202: Finish cond_value with AND and INT_OP.
r201: More x86 fixes and improvements.
r200: Rename buf and code to inst.
r199: Replacing constants with instruction names in x86. Greatly improves maintainability.
r198: Only xmm0-xmm5 is volatile on Win64, so xmm6 must be saved.
r197: PowerPC shift right always modifies the carry flag. We may need to restore it.
r196: Rename SLJIT_F* functions to SLJIT_*D
r195: SLJIT_INT_OP works in the same way as SLJIT_SINGLE_OP: the input register arguments must be generated by the output of another instruction with SLJIT_INT_OP flag
r194: Renaming sljit_w to sljit_sw, sljit_i to sljit_si, sljit_h to sljit_sh, and sljit_b to sljit_sb.
r193: ARM single precision support.
r192: Single precision support added for ppc, mips and sparc.
r191: Add single precision support. Only works on x86 now.
r190: Relace C types with sljit types. No functionality change.
r189: Change 0 to NULL for mmap.
r188: Support environments where MAP_ANON is not available.
r187: Adding type descriptors for pointers and doubles (preparing for x32 ABIs and single precision support).
 1.1.1.2 28-Oct-2012  alnsn branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.14;
Import of sljit @ r186.

This version adds sparc architecture. Other changes:

r184: NAN to UNORDERED renaming and other fixes.
r180: Common caching in PPC and MIPS.
 1.1.1.1 06-Oct-2012  alnsn Initial import of sljit @ r175.

svn co https://sljit.svn.sourceforge.net/svnroot/sljit@r175 dist
 1.1.1.4.18.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.4.16.1 26-Jan-2019  pgoyette Sync with HEAD
 1.1.1.3.4.1 09-Jul-2016  skrll Sync with HEAD
 1.1.1.2.14.1 10-Aug-2014  tls Rebase.
 1.1.1.2.4.4 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.4.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.4.2 28-Oct-2012  alnsn Import of sljit @ r186.

This version adds sparc architecture. Other changes:

r184: NAN to UNORDERED renaming and other fixes.
r180: Common caching in PPC and MIPS.
 1.1.1.2.4.1 28-Oct-2012  alnsn file README was added on branch tls-maxphys on 2012-10-28 09:36:13 +0000
 1.1.1.2.2.2 30-Oct-2012  yamt sync with head
 1.1.1.2.2.1 28-Oct-2012  yamt file README was added on branch yamt-pagecache on 2012-10-30 17:22:21 +0000
 1.2 20-Jan-2019  alnsn Resolve conflicts.
 1.1 29-May-2016  alnsn branches: 1.1.1;
Initial revision
 1.1.1.1 29-May-2016  alnsn branches: 1.1.1.1.2; 1.1.1.1.18; 1.1.1.1.20; 1.1.1.1.22;
Import sljit version r313.

Changes since the last import:

r313 Fix a racing condition reported by Mozilla.
r312 Support Android ARM64 cacheflush. Patch by Tavian Barnes.
r311 Update opcode dump.
r310 Better type specification for integer operations and conditional types.
r309 Better type specification for long mul and divide operators.
r308 Better type specification for floating point operations.
r307 Change d and s postfixes to f64 and f32.
r306 Change b,h,i postifxes to 8,16,32.
r305 Fix a wrong immediate number. Reported by Michael McConville.
r304 Make file patch by Michael McConville.
r303 Landed changes created by Michael McConville.
r302 Add support for cmov on x86.
r301 Tile-Gx fixes by Walter Lee
r300 Add WinCE support.
r299 Add a tutorial for SLJIT. Contributed by Wen Xichang.
r298 Improve integer division.
r297 Start reworking the integer division.
r296 Add an overview for SLJIT.
r295 Small optimizations for x86 and ARM64.
r294 Fix ARM64 SP alignment.
r293 Add a new sljit_set_compiler_memory_error function.
r292 Add missing argument on ARM32.
r291 Minor fixes and NOINLINE support.
r290 Support custom memory allocators.
r289 Add SLJIT_DOUBLE_ALIGNMENT support and emit_op_custom size check.
r288 Add suport for SLJIT_ARGUMENT_CHECKS on all architectures.
r287 Add SLJIT_ARGUMENT_CHECKS compiler option and lots of cleanups.
r286 Support the new naming on PPC and MIPS.
r285 Support the new naming on ARM and SPARC.
r284 Move the type letter to the beggining of the floating point opcodes.
r283 Add i_ s_ d_ froms to compare types.
r282 Fix an incorrect form of mul on x86-64.
r281 Refactoring sljitConfigInternal.h header.
r280 Remove variable locals offset.
r279 Test skips are not reported if verbose is disabled.
r278 Add options to sljit_emit_enter and sljit_set_context.
r277 Reindexing opX opcodes.
r276 Some comments are fixed and minor refactors were done.
r275 Minor optimizations.
r274 Extend the register set on ARM.
r273 Extend the register set on PPC, MIPS, SPARC.
r272 Allow remapping of any registers: not just scratch->saved, but saved->scratch as well.
r271 Renaming floating point registers to support more of them.
r270 Extend the register set on x86.
r269 Renaming integer registers for preparing the support of any all machine registers.
r268 Refactor a macro to work when debug is disabled.
r267 Introduce architecture macros without 32/64 bit postfix.
r266 The floating point conversion operators are finished on PPC, and they are supported on all architectures now.
r265 FPU operations support locals access now. CONW is supported on PPC now.
r264 Continue code refactoring, MOVS/MOVD are optimized on all architectures.
r263 SPARC implementation of floating point operators.
r262 Small refactorings.
r261 MIPS implementation of floating point conversion operators.
r260 ARM implementation of floating point operators.
r259 x86 implementation of floating point conversion operators.
r258 Refactoring sljit_emit_fop1 opcodes, inserting placeholders for new ones.
 1.1.1.1.22.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.1.20.1 26-Jan-2019  pgoyette Sync with HEAD
 1.1.1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.18.1 29-May-2016  jdolecek file hist was added on branch tls-maxphys on 2017-12-03 11:38:03 +0000
 1.1.1.1.2.2 09-Jul-2016  skrll Sync with HEAD
 1.1.1.1.2.1 29-May-2016  skrll file hist was added on branch nick-nhusb on 2016-07-09 20:25:18 +0000
 1.1 29-May-2016  alnsn branches: 1.1.1;
Initial revision
 1.1.1.1 29-May-2016  alnsn branches: 1.1.1.1.2; 1.1.1.1.18;
Import sljit version r313.

Changes since the last import:

r313 Fix a racing condition reported by Mozilla.
r312 Support Android ARM64 cacheflush. Patch by Tavian Barnes.
r311 Update opcode dump.
r310 Better type specification for integer operations and conditional types.
r309 Better type specification for long mul and divide operators.
r308 Better type specification for floating point operations.
r307 Change d and s postfixes to f64 and f32.
r306 Change b,h,i postifxes to 8,16,32.
r305 Fix a wrong immediate number. Reported by Michael McConville.
r304 Make file patch by Michael McConville.
r303 Landed changes created by Michael McConville.
r302 Add support for cmov on x86.
r301 Tile-Gx fixes by Walter Lee
r300 Add WinCE support.
r299 Add a tutorial for SLJIT. Contributed by Wen Xichang.
r298 Improve integer division.
r297 Start reworking the integer division.
r296 Add an overview for SLJIT.
r295 Small optimizations for x86 and ARM64.
r294 Fix ARM64 SP alignment.
r293 Add a new sljit_set_compiler_memory_error function.
r292 Add missing argument on ARM32.
r291 Minor fixes and NOINLINE support.
r290 Support custom memory allocators.
r289 Add SLJIT_DOUBLE_ALIGNMENT support and emit_op_custom size check.
r288 Add suport for SLJIT_ARGUMENT_CHECKS on all architectures.
r287 Add SLJIT_ARGUMENT_CHECKS compiler option and lots of cleanups.
r286 Support the new naming on PPC and MIPS.
r285 Support the new naming on ARM and SPARC.
r284 Move the type letter to the beggining of the floating point opcodes.
r283 Add i_ s_ d_ froms to compare types.
r282 Fix an incorrect form of mul on x86-64.
r281 Refactoring sljitConfigInternal.h header.
r280 Remove variable locals offset.
r279 Test skips are not reported if verbose is disabled.
r278 Add options to sljit_emit_enter and sljit_set_context.
r277 Reindexing opX opcodes.
r276 Some comments are fixed and minor refactors were done.
r275 Minor optimizations.
r274 Extend the register set on ARM.
r273 Extend the register set on PPC, MIPS, SPARC.
r272 Allow remapping of any registers: not just scratch->saved, but saved->scratch as well.
r271 Renaming floating point registers to support more of them.
r270 Extend the register set on x86.
r269 Renaming integer registers for preparing the support of any all machine registers.
r268 Refactor a macro to work when debug is disabled.
r267 Introduce architecture macros without 32/64 bit postfix.
r266 The floating point conversion operators are finished on PPC, and they are supported on all architectures now.
r265 FPU operations support locals access now. CONW is supported on PPC now.
r264 Continue code refactoring, MOVS/MOVD are optimized on all architectures.
r263 SPARC implementation of floating point operators.
r262 Small refactorings.
r261 MIPS implementation of floating point conversion operators.
r260 ARM implementation of floating point operators.
r259 x86 implementation of floating point conversion operators.
r258 Refactoring sljit_emit_fop1 opcodes, inserting placeholders for new ones.
 1.1.1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.18.1 29-May-2016  jdolecek file overview.txt was added on branch tls-maxphys on 2017-12-03 11:38:03 +0000
 1.1.1.1.2.2 09-Jul-2016  skrll Sync with HEAD
 1.1.1.1.2.1 29-May-2016  skrll file overview.txt was added on branch nick-nhusb on 2016-07-09 20:25:18 +0000
 1.1 29-May-2016  alnsn branches: 1.1.1;
Initial revision
 1.1.1.1 29-May-2016  alnsn branches: 1.1.1.1.2; 1.1.1.1.18;
Import sljit version r313.

Changes since the last import:

r313 Fix a racing condition reported by Mozilla.
r312 Support Android ARM64 cacheflush. Patch by Tavian Barnes.
r311 Update opcode dump.
r310 Better type specification for integer operations and conditional types.
r309 Better type specification for long mul and divide operators.
r308 Better type specification for floating point operations.
r307 Change d and s postfixes to f64 and f32.
r306 Change b,h,i postifxes to 8,16,32.
r305 Fix a wrong immediate number. Reported by Michael McConville.
r304 Make file patch by Michael McConville.
r303 Landed changes created by Michael McConville.
r302 Add support for cmov on x86.
r301 Tile-Gx fixes by Walter Lee
r300 Add WinCE support.
r299 Add a tutorial for SLJIT. Contributed by Wen Xichang.
r298 Improve integer division.
r297 Start reworking the integer division.
r296 Add an overview for SLJIT.
r295 Small optimizations for x86 and ARM64.
r294 Fix ARM64 SP alignment.
r293 Add a new sljit_set_compiler_memory_error function.
r292 Add missing argument on ARM32.
r291 Minor fixes and NOINLINE support.
r290 Support custom memory allocators.
r289 Add SLJIT_DOUBLE_ALIGNMENT support and emit_op_custom size check.
r288 Add suport for SLJIT_ARGUMENT_CHECKS on all architectures.
r287 Add SLJIT_ARGUMENT_CHECKS compiler option and lots of cleanups.
r286 Support the new naming on PPC and MIPS.
r285 Support the new naming on ARM and SPARC.
r284 Move the type letter to the beggining of the floating point opcodes.
r283 Add i_ s_ d_ froms to compare types.
r282 Fix an incorrect form of mul on x86-64.
r281 Refactoring sljitConfigInternal.h header.
r280 Remove variable locals offset.
r279 Test skips are not reported if verbose is disabled.
r278 Add options to sljit_emit_enter and sljit_set_context.
r277 Reindexing opX opcodes.
r276 Some comments are fixed and minor refactors were done.
r275 Minor optimizations.
r274 Extend the register set on ARM.
r273 Extend the register set on PPC, MIPS, SPARC.
r272 Allow remapping of any registers: not just scratch->saved, but saved->scratch as well.
r271 Renaming floating point registers to support more of them.
r270 Extend the register set on x86.
r269 Renaming integer registers for preparing the support of any all machine registers.
r268 Refactor a macro to work when debug is disabled.
r267 Introduce architecture macros without 32/64 bit postfix.
r266 The floating point conversion operators are finished on PPC, and they are supported on all architectures now.
r265 FPU operations support locals access now. CONW is supported on PPC now.
r264 Continue code refactoring, MOVS/MOVD are optimized on all architectures.
r263 SPARC implementation of floating point operators.
r262 Small refactorings.
r261 MIPS implementation of floating point conversion operators.
r260 ARM implementation of floating point operators.
r259 x86 implementation of floating point conversion operators.
r258 Refactoring sljit_emit_fop1 opcodes, inserting placeholders for new ones.
 1.1.1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.18.1 29-May-2016  jdolecek file 99bottles.bf was added on branch tls-maxphys on 2017-12-03 11:38:03 +0000
 1.1.1.1.2.2 09-Jul-2016  skrll Sync with HEAD
 1.1.1.1.2.1 29-May-2016  skrll file 99bottles.bf was added on branch nick-nhusb on 2016-07-09 20:25:18 +0000
 1.1 29-May-2016  alnsn branches: 1.1.1;
Initial revision
 1.1.1.1 29-May-2016  alnsn branches: 1.1.1.1.2; 1.1.1.1.18;
Import sljit version r313.

Changes since the last import:

r313 Fix a racing condition reported by Mozilla.
r312 Support Android ARM64 cacheflush. Patch by Tavian Barnes.
r311 Update opcode dump.
r310 Better type specification for integer operations and conditional types.
r309 Better type specification for long mul and divide operators.
r308 Better type specification for floating point operations.
r307 Change d and s postfixes to f64 and f32.
r306 Change b,h,i postifxes to 8,16,32.
r305 Fix a wrong immediate number. Reported by Michael McConville.
r304 Make file patch by Michael McConville.
r303 Landed changes created by Michael McConville.
r302 Add support for cmov on x86.
r301 Tile-Gx fixes by Walter Lee
r300 Add WinCE support.
r299 Add a tutorial for SLJIT. Contributed by Wen Xichang.
r298 Improve integer division.
r297 Start reworking the integer division.
r296 Add an overview for SLJIT.
r295 Small optimizations for x86 and ARM64.
r294 Fix ARM64 SP alignment.
r293 Add a new sljit_set_compiler_memory_error function.
r292 Add missing argument on ARM32.
r291 Minor fixes and NOINLINE support.
r290 Support custom memory allocators.
r289 Add SLJIT_DOUBLE_ALIGNMENT support and emit_op_custom size check.
r288 Add suport for SLJIT_ARGUMENT_CHECKS on all architectures.
r287 Add SLJIT_ARGUMENT_CHECKS compiler option and lots of cleanups.
r286 Support the new naming on PPC and MIPS.
r285 Support the new naming on ARM and SPARC.
r284 Move the type letter to the beggining of the floating point opcodes.
r283 Add i_ s_ d_ froms to compare types.
r282 Fix an incorrect form of mul on x86-64.
r281 Refactoring sljitConfigInternal.h header.
r280 Remove variable locals offset.
r279 Test skips are not reported if verbose is disabled.
r278 Add options to sljit_emit_enter and sljit_set_context.
r277 Reindexing opX opcodes.
r276 Some comments are fixed and minor refactors were done.
r275 Minor optimizations.
r274 Extend the register set on ARM.
r273 Extend the register set on PPC, MIPS, SPARC.
r272 Allow remapping of any registers: not just scratch->saved, but saved->scratch as well.
r271 Renaming floating point registers to support more of them.
r270 Extend the register set on x86.
r269 Renaming integer registers for preparing the support of any all machine registers.
r268 Refactor a macro to work when debug is disabled.
r267 Introduce architecture macros without 32/64 bit postfix.
r266 The floating point conversion operators are finished on PPC, and they are supported on all architectures now.
r265 FPU operations support locals access now. CONW is supported on PPC now.
r264 Continue code refactoring, MOVS/MOVD are optimized on all architectures.
r263 SPARC implementation of floating point operators.
r262 Small refactorings.
r261 MIPS implementation of floating point conversion operators.
r260 ARM implementation of floating point operators.
r259 x86 implementation of floating point conversion operators.
r258 Refactoring sljit_emit_fop1 opcodes, inserting placeholders for new ones.
 1.1.1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.18.1 29-May-2016  jdolecek file README was added on branch tls-maxphys on 2017-12-03 11:38:03 +0000
 1.1.1.1.2.2 09-Jul-2016  skrll Sync with HEAD
 1.1.1.1.2.1 29-May-2016  skrll file README was added on branch nick-nhusb on 2016-07-09 20:25:18 +0000
 1.1 29-May-2016  alnsn branches: 1.1.1;
Initial revision
 1.1.1.1 29-May-2016  alnsn branches: 1.1.1.1.2; 1.1.1.1.18;
Import sljit version r313.

Changes since the last import:

r313 Fix a racing condition reported by Mozilla.
r312 Support Android ARM64 cacheflush. Patch by Tavian Barnes.
r311 Update opcode dump.
r310 Better type specification for integer operations and conditional types.
r309 Better type specification for long mul and divide operators.
r308 Better type specification for floating point operations.
r307 Change d and s postfixes to f64 and f32.
r306 Change b,h,i postifxes to 8,16,32.
r305 Fix a wrong immediate number. Reported by Michael McConville.
r304 Make file patch by Michael McConville.
r303 Landed changes created by Michael McConville.
r302 Add support for cmov on x86.
r301 Tile-Gx fixes by Walter Lee
r300 Add WinCE support.
r299 Add a tutorial for SLJIT. Contributed by Wen Xichang.
r298 Improve integer division.
r297 Start reworking the integer division.
r296 Add an overview for SLJIT.
r295 Small optimizations for x86 and ARM64.
r294 Fix ARM64 SP alignment.
r293 Add a new sljit_set_compiler_memory_error function.
r292 Add missing argument on ARM32.
r291 Minor fixes and NOINLINE support.
r290 Support custom memory allocators.
r289 Add SLJIT_DOUBLE_ALIGNMENT support and emit_op_custom size check.
r288 Add suport for SLJIT_ARGUMENT_CHECKS on all architectures.
r287 Add SLJIT_ARGUMENT_CHECKS compiler option and lots of cleanups.
r286 Support the new naming on PPC and MIPS.
r285 Support the new naming on ARM and SPARC.
r284 Move the type letter to the beggining of the floating point opcodes.
r283 Add i_ s_ d_ froms to compare types.
r282 Fix an incorrect form of mul on x86-64.
r281 Refactoring sljitConfigInternal.h header.
r280 Remove variable locals offset.
r279 Test skips are not reported if verbose is disabled.
r278 Add options to sljit_emit_enter and sljit_set_context.
r277 Reindexing opX opcodes.
r276 Some comments are fixed and minor refactors were done.
r275 Minor optimizations.
r274 Extend the register set on ARM.
r273 Extend the register set on PPC, MIPS, SPARC.
r272 Allow remapping of any registers: not just scratch->saved, but saved->scratch as well.
r271 Renaming floating point registers to support more of them.
r270 Extend the register set on x86.
r269 Renaming integer registers for preparing the support of any all machine registers.
r268 Refactor a macro to work when debug is disabled.
r267 Introduce architecture macros without 32/64 bit postfix.
r266 The floating point conversion operators are finished on PPC, and they are supported on all architectures now.
r265 FPU operations support locals access now. CONW is supported on PPC now.
r264 Continue code refactoring, MOVS/MOVD are optimized on all architectures.
r263 SPARC implementation of floating point operators.
r262 Small refactorings.
r261 MIPS implementation of floating point conversion operators.
r260 ARM implementation of floating point operators.
r259 x86 implementation of floating point conversion operators.
r258 Refactoring sljit_emit_fop1 opcodes, inserting placeholders for new ones.
 1.1.1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.18.1 29-May-2016  jdolecek file array_access.c was added on branch tls-maxphys on 2017-12-03 11:38:03 +0000
 1.1.1.1.2.2 09-Jul-2016  skrll Sync with HEAD
 1.1.1.1.2.1 29-May-2016  skrll file array_access.c was added on branch nick-nhusb on 2016-07-09 20:25:18 +0000
 1.1 29-May-2016  alnsn branches: 1.1.1;
Initial revision
 1.1.1.1 29-May-2016  alnsn branches: 1.1.1.1.2; 1.1.1.1.18;
Import sljit version r313.

Changes since the last import:

r313 Fix a racing condition reported by Mozilla.
r312 Support Android ARM64 cacheflush. Patch by Tavian Barnes.
r311 Update opcode dump.
r310 Better type specification for integer operations and conditional types.
r309 Better type specification for long mul and divide operators.
r308 Better type specification for floating point operations.
r307 Change d and s postfixes to f64 and f32.
r306 Change b,h,i postifxes to 8,16,32.
r305 Fix a wrong immediate number. Reported by Michael McConville.
r304 Make file patch by Michael McConville.
r303 Landed changes created by Michael McConville.
r302 Add support for cmov on x86.
r301 Tile-Gx fixes by Walter Lee
r300 Add WinCE support.
r299 Add a tutorial for SLJIT. Contributed by Wen Xichang.
r298 Improve integer division.
r297 Start reworking the integer division.
r296 Add an overview for SLJIT.
r295 Small optimizations for x86 and ARM64.
r294 Fix ARM64 SP alignment.
r293 Add a new sljit_set_compiler_memory_error function.
r292 Add missing argument on ARM32.
r291 Minor fixes and NOINLINE support.
r290 Support custom memory allocators.
r289 Add SLJIT_DOUBLE_ALIGNMENT support and emit_op_custom size check.
r288 Add suport for SLJIT_ARGUMENT_CHECKS on all architectures.
r287 Add SLJIT_ARGUMENT_CHECKS compiler option and lots of cleanups.
r286 Support the new naming on PPC and MIPS.
r285 Support the new naming on ARM and SPARC.
r284 Move the type letter to the beggining of the floating point opcodes.
r283 Add i_ s_ d_ froms to compare types.
r282 Fix an incorrect form of mul on x86-64.
r281 Refactoring sljitConfigInternal.h header.
r280 Remove variable locals offset.
r279 Test skips are not reported if verbose is disabled.
r278 Add options to sljit_emit_enter and sljit_set_context.
r277 Reindexing opX opcodes.
r276 Some comments are fixed and minor refactors were done.
r275 Minor optimizations.
r274 Extend the register set on ARM.
r273 Extend the register set on PPC, MIPS, SPARC.
r272 Allow remapping of any registers: not just scratch->saved, but saved->scratch as well.
r271 Renaming floating point registers to support more of them.
r270 Extend the register set on x86.
r269 Renaming integer registers for preparing the support of any all machine registers.
r268 Refactor a macro to work when debug is disabled.
r267 Introduce architecture macros without 32/64 bit postfix.
r266 The floating point conversion operators are finished on PPC, and they are supported on all architectures now.
r265 FPU operations support locals access now. CONW is supported on PPC now.
r264 Continue code refactoring, MOVS/MOVD are optimized on all architectures.
r263 SPARC implementation of floating point operators.
r262 Small refactorings.
r261 MIPS implementation of floating point conversion operators.
r260 ARM implementation of floating point operators.
r259 x86 implementation of floating point conversion operators.
r258 Refactoring sljit_emit_fop1 opcodes, inserting placeholders for new ones.
 1.1.1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.18.1 29-May-2016  jdolecek file brainfuck.c was added on branch tls-maxphys on 2017-12-03 11:38:03 +0000
 1.1.1.1.2.2 09-Jul-2016  skrll Sync with HEAD
 1.1.1.1.2.1 29-May-2016  skrll file brainfuck.c was added on branch nick-nhusb on 2016-07-09 20:25:18 +0000
 1.1 29-May-2016  alnsn branches: 1.1.1;
Initial revision
 1.1.1.1 29-May-2016  alnsn branches: 1.1.1.1.2; 1.1.1.1.18;
Import sljit version r313.

Changes since the last import:

r313 Fix a racing condition reported by Mozilla.
r312 Support Android ARM64 cacheflush. Patch by Tavian Barnes.
r311 Update opcode dump.
r310 Better type specification for integer operations and conditional types.
r309 Better type specification for long mul and divide operators.
r308 Better type specification for floating point operations.
r307 Change d and s postfixes to f64 and f32.
r306 Change b,h,i postifxes to 8,16,32.
r305 Fix a wrong immediate number. Reported by Michael McConville.
r304 Make file patch by Michael McConville.
r303 Landed changes created by Michael McConville.
r302 Add support for cmov on x86.
r301 Tile-Gx fixes by Walter Lee
r300 Add WinCE support.
r299 Add a tutorial for SLJIT. Contributed by Wen Xichang.
r298 Improve integer division.
r297 Start reworking the integer division.
r296 Add an overview for SLJIT.
r295 Small optimizations for x86 and ARM64.
r294 Fix ARM64 SP alignment.
r293 Add a new sljit_set_compiler_memory_error function.
r292 Add missing argument on ARM32.
r291 Minor fixes and NOINLINE support.
r290 Support custom memory allocators.
r289 Add SLJIT_DOUBLE_ALIGNMENT support and emit_op_custom size check.
r288 Add suport for SLJIT_ARGUMENT_CHECKS on all architectures.
r287 Add SLJIT_ARGUMENT_CHECKS compiler option and lots of cleanups.
r286 Support the new naming on PPC and MIPS.
r285 Support the new naming on ARM and SPARC.
r284 Move the type letter to the beggining of the floating point opcodes.
r283 Add i_ s_ d_ froms to compare types.
r282 Fix an incorrect form of mul on x86-64.
r281 Refactoring sljitConfigInternal.h header.
r280 Remove variable locals offset.
r279 Test skips are not reported if verbose is disabled.
r278 Add options to sljit_emit_enter and sljit_set_context.
r277 Reindexing opX opcodes.
r276 Some comments are fixed and minor refactors were done.
r275 Minor optimizations.
r274 Extend the register set on ARM.
r273 Extend the register set on PPC, MIPS, SPARC.
r272 Allow remapping of any registers: not just scratch->saved, but saved->scratch as well.
r271 Renaming floating point registers to support more of them.
r270 Extend the register set on x86.
r269 Renaming integer registers for preparing the support of any all machine registers.
r268 Refactor a macro to work when debug is disabled.
r267 Introduce architecture macros without 32/64 bit postfix.
r266 The floating point conversion operators are finished on PPC, and they are supported on all architectures now.
r265 FPU operations support locals access now. CONW is supported on PPC now.
r264 Continue code refactoring, MOVS/MOVD are optimized on all architectures.
r263 SPARC implementation of floating point operators.
r262 Small refactorings.
r261 MIPS implementation of floating point conversion operators.
r260 ARM implementation of floating point operators.
r259 x86 implementation of floating point conversion operators.
r258 Refactoring sljit_emit_fop1 opcodes, inserting placeholders for new ones.
 1.1.1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.18.1 29-May-2016  jdolecek file branch.c was added on branch tls-maxphys on 2017-12-03 11:38:03 +0000
 1.1.1.1.2.2 09-Jul-2016  skrll Sync with HEAD
 1.1.1.1.2.1 29-May-2016  skrll file branch.c was added on branch nick-nhusb on 2016-07-09 20:25:18 +0000
 1.1 29-May-2016  alnsn branches: 1.1.1;
Initial revision
 1.1.1.1 29-May-2016  alnsn branches: 1.1.1.1.2; 1.1.1.1.18;
Import sljit version r313.

Changes since the last import:

r313 Fix a racing condition reported by Mozilla.
r312 Support Android ARM64 cacheflush. Patch by Tavian Barnes.
r311 Update opcode dump.
r310 Better type specification for integer operations and conditional types.
r309 Better type specification for long mul and divide operators.
r308 Better type specification for floating point operations.
r307 Change d and s postfixes to f64 and f32.
r306 Change b,h,i postifxes to 8,16,32.
r305 Fix a wrong immediate number. Reported by Michael McConville.
r304 Make file patch by Michael McConville.
r303 Landed changes created by Michael McConville.
r302 Add support for cmov on x86.
r301 Tile-Gx fixes by Walter Lee
r300 Add WinCE support.
r299 Add a tutorial for SLJIT. Contributed by Wen Xichang.
r298 Improve integer division.
r297 Start reworking the integer division.
r296 Add an overview for SLJIT.
r295 Small optimizations for x86 and ARM64.
r294 Fix ARM64 SP alignment.
r293 Add a new sljit_set_compiler_memory_error function.
r292 Add missing argument on ARM32.
r291 Minor fixes and NOINLINE support.
r290 Support custom memory allocators.
r289 Add SLJIT_DOUBLE_ALIGNMENT support and emit_op_custom size check.
r288 Add suport for SLJIT_ARGUMENT_CHECKS on all architectures.
r287 Add SLJIT_ARGUMENT_CHECKS compiler option and lots of cleanups.
r286 Support the new naming on PPC and MIPS.
r285 Support the new naming on ARM and SPARC.
r284 Move the type letter to the beggining of the floating point opcodes.
r283 Add i_ s_ d_ froms to compare types.
r282 Fix an incorrect form of mul on x86-64.
r281 Refactoring sljitConfigInternal.h header.
r280 Remove variable locals offset.
r279 Test skips are not reported if verbose is disabled.
r278 Add options to sljit_emit_enter and sljit_set_context.
r277 Reindexing opX opcodes.
r276 Some comments are fixed and minor refactors were done.
r275 Minor optimizations.
r274 Extend the register set on ARM.
r273 Extend the register set on PPC, MIPS, SPARC.
r272 Allow remapping of any registers: not just scratch->saved, but saved->scratch as well.
r271 Renaming floating point registers to support more of them.
r270 Extend the register set on x86.
r269 Renaming integer registers for preparing the support of any all machine registers.
r268 Refactor a macro to work when debug is disabled.
r267 Introduce architecture macros without 32/64 bit postfix.
r266 The floating point conversion operators are finished on PPC, and they are supported on all architectures now.
r265 FPU operations support locals access now. CONW is supported on PPC now.
r264 Continue code refactoring, MOVS/MOVD are optimized on all architectures.
r263 SPARC implementation of floating point operators.
r262 Small refactorings.
r261 MIPS implementation of floating point conversion operators.
r260 ARM implementation of floating point operators.
r259 x86 implementation of floating point conversion operators.
r258 Refactoring sljit_emit_fop1 opcodes, inserting placeholders for new ones.
 1.1.1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.18.1 29-May-2016  jdolecek file first_program.c was added on branch tls-maxphys on 2017-12-03 11:38:03 +0000
 1.1.1.1.2.2 09-Jul-2016  skrll Sync with HEAD
 1.1.1.1.2.1 29-May-2016  skrll file first_program.c was added on branch nick-nhusb on 2016-07-09 20:25:18 +0000
 1.1 29-May-2016  alnsn branches: 1.1.1;
Initial revision
 1.1.1.1 29-May-2016  alnsn branches: 1.1.1.1.2; 1.1.1.1.18;
Import sljit version r313.

Changes since the last import:

r313 Fix a racing condition reported by Mozilla.
r312 Support Android ARM64 cacheflush. Patch by Tavian Barnes.
r311 Update opcode dump.
r310 Better type specification for integer operations and conditional types.
r309 Better type specification for long mul and divide operators.
r308 Better type specification for floating point operations.
r307 Change d and s postfixes to f64 and f32.
r306 Change b,h,i postifxes to 8,16,32.
r305 Fix a wrong immediate number. Reported by Michael McConville.
r304 Make file patch by Michael McConville.
r303 Landed changes created by Michael McConville.
r302 Add support for cmov on x86.
r301 Tile-Gx fixes by Walter Lee
r300 Add WinCE support.
r299 Add a tutorial for SLJIT. Contributed by Wen Xichang.
r298 Improve integer division.
r297 Start reworking the integer division.
r296 Add an overview for SLJIT.
r295 Small optimizations for x86 and ARM64.
r294 Fix ARM64 SP alignment.
r293 Add a new sljit_set_compiler_memory_error function.
r292 Add missing argument on ARM32.
r291 Minor fixes and NOINLINE support.
r290 Support custom memory allocators.
r289 Add SLJIT_DOUBLE_ALIGNMENT support and emit_op_custom size check.
r288 Add suport for SLJIT_ARGUMENT_CHECKS on all architectures.
r287 Add SLJIT_ARGUMENT_CHECKS compiler option and lots of cleanups.
r286 Support the new naming on PPC and MIPS.
r285 Support the new naming on ARM and SPARC.
r284 Move the type letter to the beggining of the floating point opcodes.
r283 Add i_ s_ d_ froms to compare types.
r282 Fix an incorrect form of mul on x86-64.
r281 Refactoring sljitConfigInternal.h header.
r280 Remove variable locals offset.
r279 Test skips are not reported if verbose is disabled.
r278 Add options to sljit_emit_enter and sljit_set_context.
r277 Reindexing opX opcodes.
r276 Some comments are fixed and minor refactors were done.
r275 Minor optimizations.
r274 Extend the register set on ARM.
r273 Extend the register set on PPC, MIPS, SPARC.
r272 Allow remapping of any registers: not just scratch->saved, but saved->scratch as well.
r271 Renaming floating point registers to support more of them.
r270 Extend the register set on x86.
r269 Renaming integer registers for preparing the support of any all machine registers.
r268 Refactor a macro to work when debug is disabled.
r267 Introduce architecture macros without 32/64 bit postfix.
r266 The floating point conversion operators are finished on PPC, and they are supported on all architectures now.
r265 FPU operations support locals access now. CONW is supported on PPC now.
r264 Continue code refactoring, MOVS/MOVD are optimized on all architectures.
r263 SPARC implementation of floating point operators.
r262 Small refactorings.
r261 MIPS implementation of floating point conversion operators.
r260 ARM implementation of floating point operators.
r259 x86 implementation of floating point conversion operators.
r258 Refactoring sljit_emit_fop1 opcodes, inserting placeholders for new ones.
 1.1.1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.18.1 29-May-2016  jdolecek file func_call.c was added on branch tls-maxphys on 2017-12-03 11:38:03 +0000
 1.1.1.1.2.2 09-Jul-2016  skrll Sync with HEAD
 1.1.1.1.2.1 29-May-2016  skrll file func_call.c was added on branch nick-nhusb on 2016-07-09 20:25:18 +0000
 1.1 29-May-2016  alnsn branches: 1.1.1;
Initial revision
 1.1.1.1 29-May-2016  alnsn branches: 1.1.1.1.2; 1.1.1.1.18;
Import sljit version r313.

Changes since the last import:

r313 Fix a racing condition reported by Mozilla.
r312 Support Android ARM64 cacheflush. Patch by Tavian Barnes.
r311 Update opcode dump.
r310 Better type specification for integer operations and conditional types.
r309 Better type specification for long mul and divide operators.
r308 Better type specification for floating point operations.
r307 Change d and s postfixes to f64 and f32.
r306 Change b,h,i postifxes to 8,16,32.
r305 Fix a wrong immediate number. Reported by Michael McConville.
r304 Make file patch by Michael McConville.
r303 Landed changes created by Michael McConville.
r302 Add support for cmov on x86.
r301 Tile-Gx fixes by Walter Lee
r300 Add WinCE support.
r299 Add a tutorial for SLJIT. Contributed by Wen Xichang.
r298 Improve integer division.
r297 Start reworking the integer division.
r296 Add an overview for SLJIT.
r295 Small optimizations for x86 and ARM64.
r294 Fix ARM64 SP alignment.
r293 Add a new sljit_set_compiler_memory_error function.
r292 Add missing argument on ARM32.
r291 Minor fixes and NOINLINE support.
r290 Support custom memory allocators.
r289 Add SLJIT_DOUBLE_ALIGNMENT support and emit_op_custom size check.
r288 Add suport for SLJIT_ARGUMENT_CHECKS on all architectures.
r287 Add SLJIT_ARGUMENT_CHECKS compiler option and lots of cleanups.
r286 Support the new naming on PPC and MIPS.
r285 Support the new naming on ARM and SPARC.
r284 Move the type letter to the beggining of the floating point opcodes.
r283 Add i_ s_ d_ froms to compare types.
r282 Fix an incorrect form of mul on x86-64.
r281 Refactoring sljitConfigInternal.h header.
r280 Remove variable locals offset.
r279 Test skips are not reported if verbose is disabled.
r278 Add options to sljit_emit_enter and sljit_set_context.
r277 Reindexing opX opcodes.
r276 Some comments are fixed and minor refactors were done.
r275 Minor optimizations.
r274 Extend the register set on ARM.
r273 Extend the register set on PPC, MIPS, SPARC.
r272 Allow remapping of any registers: not just scratch->saved, but saved->scratch as well.
r271 Renaming floating point registers to support more of them.
r270 Extend the register set on x86.
r269 Renaming integer registers for preparing the support of any all machine registers.
r268 Refactor a macro to work when debug is disabled.
r267 Introduce architecture macros without 32/64 bit postfix.
r266 The floating point conversion operators are finished on PPC, and they are supported on all architectures now.
r265 FPU operations support locals access now. CONW is supported on PPC now.
r264 Continue code refactoring, MOVS/MOVD are optimized on all architectures.
r263 SPARC implementation of floating point operators.
r262 Small refactorings.
r261 MIPS implementation of floating point conversion operators.
r260 ARM implementation of floating point operators.
r259 x86 implementation of floating point conversion operators.
r258 Refactoring sljit_emit_fop1 opcodes, inserting placeholders for new ones.
 1.1.1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.18.1 29-May-2016  jdolecek file hello.bf was added on branch tls-maxphys on 2017-12-03 11:38:03 +0000
 1.1.1.1.2.2 09-Jul-2016  skrll Sync with HEAD
 1.1.1.1.2.1 29-May-2016  skrll file hello.bf was added on branch nick-nhusb on 2016-07-09 20:25:18 +0000
 1.1 29-May-2016  alnsn branches: 1.1.1;
Initial revision
 1.1.1.1 29-May-2016  alnsn branches: 1.1.1.1.2; 1.1.1.1.18;
Import sljit version r313.

Changes since the last import:

r313 Fix a racing condition reported by Mozilla.
r312 Support Android ARM64 cacheflush. Patch by Tavian Barnes.
r311 Update opcode dump.
r310 Better type specification for integer operations and conditional types.
r309 Better type specification for long mul and divide operators.
r308 Better type specification for floating point operations.
r307 Change d and s postfixes to f64 and f32.
r306 Change b,h,i postifxes to 8,16,32.
r305 Fix a wrong immediate number. Reported by Michael McConville.
r304 Make file patch by Michael McConville.
r303 Landed changes created by Michael McConville.
r302 Add support for cmov on x86.
r301 Tile-Gx fixes by Walter Lee
r300 Add WinCE support.
r299 Add a tutorial for SLJIT. Contributed by Wen Xichang.
r298 Improve integer division.
r297 Start reworking the integer division.
r296 Add an overview for SLJIT.
r295 Small optimizations for x86 and ARM64.
r294 Fix ARM64 SP alignment.
r293 Add a new sljit_set_compiler_memory_error function.
r292 Add missing argument on ARM32.
r291 Minor fixes and NOINLINE support.
r290 Support custom memory allocators.
r289 Add SLJIT_DOUBLE_ALIGNMENT support and emit_op_custom size check.
r288 Add suport for SLJIT_ARGUMENT_CHECKS on all architectures.
r287 Add SLJIT_ARGUMENT_CHECKS compiler option and lots of cleanups.
r286 Support the new naming on PPC and MIPS.
r285 Support the new naming on ARM and SPARC.
r284 Move the type letter to the beggining of the floating point opcodes.
r283 Add i_ s_ d_ froms to compare types.
r282 Fix an incorrect form of mul on x86-64.
r281 Refactoring sljitConfigInternal.h header.
r280 Remove variable locals offset.
r279 Test skips are not reported if verbose is disabled.
r278 Add options to sljit_emit_enter and sljit_set_context.
r277 Reindexing opX opcodes.
r276 Some comments are fixed and minor refactors were done.
r275 Minor optimizations.
r274 Extend the register set on ARM.
r273 Extend the register set on PPC, MIPS, SPARC.
r272 Allow remapping of any registers: not just scratch->saved, but saved->scratch as well.
r271 Renaming floating point registers to support more of them.
r270 Extend the register set on x86.
r269 Renaming integer registers for preparing the support of any all machine registers.
r268 Refactor a macro to work when debug is disabled.
r267 Introduce architecture macros without 32/64 bit postfix.
r266 The floating point conversion operators are finished on PPC, and they are supported on all architectures now.
r265 FPU operations support locals access now. CONW is supported on PPC now.
r264 Continue code refactoring, MOVS/MOVD are optimized on all architectures.
r263 SPARC implementation of floating point operators.
r262 Small refactorings.
r261 MIPS implementation of floating point conversion operators.
r260 ARM implementation of floating point operators.
r259 x86 implementation of floating point conversion operators.
r258 Refactoring sljit_emit_fop1 opcodes, inserting placeholders for new ones.
 1.1.1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.18.1 29-May-2016  jdolecek file loop.c was added on branch tls-maxphys on 2017-12-03 11:38:03 +0000
 1.1.1.1.2.2 09-Jul-2016  skrll Sync with HEAD
 1.1.1.1.2.1 29-May-2016  skrll file loop.c was added on branch nick-nhusb on 2016-07-09 20:25:18 +0000
 1.1 29-May-2016  alnsn branches: 1.1.1;
Initial revision
 1.1.1.1 29-May-2016  alnsn branches: 1.1.1.1.2; 1.1.1.1.18;
Import sljit version r313.

Changes since the last import:

r313 Fix a racing condition reported by Mozilla.
r312 Support Android ARM64 cacheflush. Patch by Tavian Barnes.
r311 Update opcode dump.
r310 Better type specification for integer operations and conditional types.
r309 Better type specification for long mul and divide operators.
r308 Better type specification for floating point operations.
r307 Change d and s postfixes to f64 and f32.
r306 Change b,h,i postifxes to 8,16,32.
r305 Fix a wrong immediate number. Reported by Michael McConville.
r304 Make file patch by Michael McConville.
r303 Landed changes created by Michael McConville.
r302 Add support for cmov on x86.
r301 Tile-Gx fixes by Walter Lee
r300 Add WinCE support.
r299 Add a tutorial for SLJIT. Contributed by Wen Xichang.
r298 Improve integer division.
r297 Start reworking the integer division.
r296 Add an overview for SLJIT.
r295 Small optimizations for x86 and ARM64.
r294 Fix ARM64 SP alignment.
r293 Add a new sljit_set_compiler_memory_error function.
r292 Add missing argument on ARM32.
r291 Minor fixes and NOINLINE support.
r290 Support custom memory allocators.
r289 Add SLJIT_DOUBLE_ALIGNMENT support and emit_op_custom size check.
r288 Add suport for SLJIT_ARGUMENT_CHECKS on all architectures.
r287 Add SLJIT_ARGUMENT_CHECKS compiler option and lots of cleanups.
r286 Support the new naming on PPC and MIPS.
r285 Support the new naming on ARM and SPARC.
r284 Move the type letter to the beggining of the floating point opcodes.
r283 Add i_ s_ d_ froms to compare types.
r282 Fix an incorrect form of mul on x86-64.
r281 Refactoring sljitConfigInternal.h header.
r280 Remove variable locals offset.
r279 Test skips are not reported if verbose is disabled.
r278 Add options to sljit_emit_enter and sljit_set_context.
r277 Reindexing opX opcodes.
r276 Some comments are fixed and minor refactors were done.
r275 Minor optimizations.
r274 Extend the register set on ARM.
r273 Extend the register set on PPC, MIPS, SPARC.
r272 Allow remapping of any registers: not just scratch->saved, but saved->scratch as well.
r271 Renaming floating point registers to support more of them.
r270 Extend the register set on x86.
r269 Renaming integer registers for preparing the support of any all machine registers.
r268 Refactor a macro to work when debug is disabled.
r267 Introduce architecture macros without 32/64 bit postfix.
r266 The floating point conversion operators are finished on PPC, and they are supported on all architectures now.
r265 FPU operations support locals access now. CONW is supported on PPC now.
r264 Continue code refactoring, MOVS/MOVD are optimized on all architectures.
r263 SPARC implementation of floating point operators.
r262 Small refactorings.
r261 MIPS implementation of floating point conversion operators.
r260 ARM implementation of floating point operators.
r259 x86 implementation of floating point conversion operators.
r258 Refactoring sljit_emit_fop1 opcodes, inserting placeholders for new ones.
 1.1.1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.18.1 29-May-2016  jdolecek file sljit_tutorial.html was added on branch tls-maxphys on 2017-12-03 11:38:03 +0000
 1.1.1.1.2.2 09-Jul-2016  skrll Sync with HEAD
 1.1.1.1.2.1 29-May-2016  skrll file sljit_tutorial.html was added on branch nick-nhusb on 2016-07-09 20:25:18 +0000
 1.1 29-May-2016  alnsn branches: 1.1.1;
Initial revision
 1.1.1.1 29-May-2016  alnsn branches: 1.1.1.1.2; 1.1.1.1.18;
Import sljit version r313.

Changes since the last import:

r313 Fix a racing condition reported by Mozilla.
r312 Support Android ARM64 cacheflush. Patch by Tavian Barnes.
r311 Update opcode dump.
r310 Better type specification for integer operations and conditional types.
r309 Better type specification for long mul and divide operators.
r308 Better type specification for floating point operations.
r307 Change d and s postfixes to f64 and f32.
r306 Change b,h,i postifxes to 8,16,32.
r305 Fix a wrong immediate number. Reported by Michael McConville.
r304 Make file patch by Michael McConville.
r303 Landed changes created by Michael McConville.
r302 Add support for cmov on x86.
r301 Tile-Gx fixes by Walter Lee
r300 Add WinCE support.
r299 Add a tutorial for SLJIT. Contributed by Wen Xichang.
r298 Improve integer division.
r297 Start reworking the integer division.
r296 Add an overview for SLJIT.
r295 Small optimizations for x86 and ARM64.
r294 Fix ARM64 SP alignment.
r293 Add a new sljit_set_compiler_memory_error function.
r292 Add missing argument on ARM32.
r291 Minor fixes and NOINLINE support.
r290 Support custom memory allocators.
r289 Add SLJIT_DOUBLE_ALIGNMENT support and emit_op_custom size check.
r288 Add suport for SLJIT_ARGUMENT_CHECKS on all architectures.
r287 Add SLJIT_ARGUMENT_CHECKS compiler option and lots of cleanups.
r286 Support the new naming on PPC and MIPS.
r285 Support the new naming on ARM and SPARC.
r284 Move the type letter to the beggining of the floating point opcodes.
r283 Add i_ s_ d_ froms to compare types.
r282 Fix an incorrect form of mul on x86-64.
r281 Refactoring sljitConfigInternal.h header.
r280 Remove variable locals offset.
r279 Test skips are not reported if verbose is disabled.
r278 Add options to sljit_emit_enter and sljit_set_context.
r277 Reindexing opX opcodes.
r276 Some comments are fixed and minor refactors were done.
r275 Minor optimizations.
r274 Extend the register set on ARM.
r273 Extend the register set on PPC, MIPS, SPARC.
r272 Allow remapping of any registers: not just scratch->saved, but saved->scratch as well.
r271 Renaming floating point registers to support more of them.
r270 Extend the register set on x86.
r269 Renaming integer registers for preparing the support of any all machine registers.
r268 Refactor a macro to work when debug is disabled.
r267 Introduce architecture macros without 32/64 bit postfix.
r266 The floating point conversion operators are finished on PPC, and they are supported on all architectures now.
r265 FPU operations support locals access now. CONW is supported on PPC now.
r264 Continue code refactoring, MOVS/MOVD are optimized on all architectures.
r263 SPARC implementation of floating point operators.
r262 Small refactorings.
r261 MIPS implementation of floating point conversion operators.
r260 ARM implementation of floating point operators.
r259 x86 implementation of floating point conversion operators.
r258 Refactoring sljit_emit_fop1 opcodes, inserting placeholders for new ones.
 1.1.1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.18.1 29-May-2016  jdolecek file struct_access.c was added on branch tls-maxphys on 2017-12-03 11:38:03 +0000
 1.1.1.1.2.2 09-Jul-2016  skrll Sync with HEAD
 1.1.1.1.2.1 29-May-2016  skrll file struct_access.c was added on branch nick-nhusb on 2016-07-09 20:25:18 +0000
 1.1 29-May-2016  alnsn branches: 1.1.1;
Initial revision
 1.1.1.1 29-May-2016  alnsn branches: 1.1.1.1.2; 1.1.1.1.18;
Import sljit version r313.

Changes since the last import:

r313 Fix a racing condition reported by Mozilla.
r312 Support Android ARM64 cacheflush. Patch by Tavian Barnes.
r311 Update opcode dump.
r310 Better type specification for integer operations and conditional types.
r309 Better type specification for long mul and divide operators.
r308 Better type specification for floating point operations.
r307 Change d and s postfixes to f64 and f32.
r306 Change b,h,i postifxes to 8,16,32.
r305 Fix a wrong immediate number. Reported by Michael McConville.
r304 Make file patch by Michael McConville.
r303 Landed changes created by Michael McConville.
r302 Add support for cmov on x86.
r301 Tile-Gx fixes by Walter Lee
r300 Add WinCE support.
r299 Add a tutorial for SLJIT. Contributed by Wen Xichang.
r298 Improve integer division.
r297 Start reworking the integer division.
r296 Add an overview for SLJIT.
r295 Small optimizations for x86 and ARM64.
r294 Fix ARM64 SP alignment.
r293 Add a new sljit_set_compiler_memory_error function.
r292 Add missing argument on ARM32.
r291 Minor fixes and NOINLINE support.
r290 Support custom memory allocators.
r289 Add SLJIT_DOUBLE_ALIGNMENT support and emit_op_custom size check.
r288 Add suport for SLJIT_ARGUMENT_CHECKS on all architectures.
r287 Add SLJIT_ARGUMENT_CHECKS compiler option and lots of cleanups.
r286 Support the new naming on PPC and MIPS.
r285 Support the new naming on ARM and SPARC.
r284 Move the type letter to the beggining of the floating point opcodes.
r283 Add i_ s_ d_ froms to compare types.
r282 Fix an incorrect form of mul on x86-64.
r281 Refactoring sljitConfigInternal.h header.
r280 Remove variable locals offset.
r279 Test skips are not reported if verbose is disabled.
r278 Add options to sljit_emit_enter and sljit_set_context.
r277 Reindexing opX opcodes.
r276 Some comments are fixed and minor refactors were done.
r275 Minor optimizations.
r274 Extend the register set on ARM.
r273 Extend the register set on PPC, MIPS, SPARC.
r272 Allow remapping of any registers: not just scratch->saved, but saved->scratch as well.
r271 Renaming floating point registers to support more of them.
r270 Extend the register set on x86.
r269 Renaming integer registers for preparing the support of any all machine registers.
r268 Refactor a macro to work when debug is disabled.
r267 Introduce architecture macros without 32/64 bit postfix.
r266 The floating point conversion operators are finished on PPC, and they are supported on all architectures now.
r265 FPU operations support locals access now. CONW is supported on PPC now.
r264 Continue code refactoring, MOVS/MOVD are optimized on all architectures.
r263 SPARC implementation of floating point operators.
r262 Small refactorings.
r261 MIPS implementation of floating point conversion operators.
r260 ARM implementation of floating point operators.
r259 x86 implementation of floating point conversion operators.
r258 Refactoring sljit_emit_fop1 opcodes, inserting placeholders for new ones.
 1.1.1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.18.1 29-May-2016  jdolecek file temp_var.c was added on branch tls-maxphys on 2017-12-03 11:38:03 +0000
 1.1.1.1.2.2 09-Jul-2016  skrll Sync with HEAD
 1.1.1.1.2.1 29-May-2016  skrll file temp_var.c was added on branch nick-nhusb on 2016-07-09 20:25:18 +0000
 1.1 06-Oct-2012  alnsn branches: 1.1.1;
Initial revision
 1.1.1.4 20-Jan-2019  alnsn Update sljit to version 0.93 (svn revision r333).

Changes since the last import:

r333 More x86 fixes and a new stack test.
r332 Improve stack allocation on x86.
r331 Make sljit_free_unused_memory_exec public, PPC flush takes priority.
r330 Reverse the stack utility to top-down.
r329 Add sljit_set_current_flags function.
r328 Add two more virtual registers to x86/32, ARM-32 refactor.
r327 Remove value caching on ARM-32.
r326 Remove value caching on ARM-Thumb2.
r325 Move with update rework.
r324 Arm32 store fixes.
r323 Update macros and remove copyright years.
r322 Reworking flags, removing keep flags.
r321 Quick fix for regexjit.
r320 Improve protected executable allocator. Patch insipred by Christian Persch.
r319 Fully support dynamic code modifications again.
r318 Support protected allocator on all architectures except TILEGX.
r317 Rework protected allocator, only x86 linux is supported now.
r316 Add protected executable allocator.
r315 Remove SLJIT_MEMMOVE.
r314 Fix unaligned accesses on x86. Patch by Marc Mutz.
 1.1.1.3 29-May-2016  alnsn branches: 1.1.1.3.16; 1.1.1.3.18;
Import sljit version r313.

Changes since the last import:

r313 Fix a racing condition reported by Mozilla.
r312 Support Android ARM64 cacheflush. Patch by Tavian Barnes.
r311 Update opcode dump.
r310 Better type specification for integer operations and conditional types.
r309 Better type specification for long mul and divide operators.
r308 Better type specification for floating point operations.
r307 Change d and s postfixes to f64 and f32.
r306 Change b,h,i postifxes to 8,16,32.
r305 Fix a wrong immediate number. Reported by Michael McConville.
r304 Make file patch by Michael McConville.
r303 Landed changes created by Michael McConville.
r302 Add support for cmov on x86.
r301 Tile-Gx fixes by Walter Lee
r300 Add WinCE support.
r299 Add a tutorial for SLJIT. Contributed by Wen Xichang.
r298 Improve integer division.
r297 Start reworking the integer division.
r296 Add an overview for SLJIT.
r295 Small optimizations for x86 and ARM64.
r294 Fix ARM64 SP alignment.
r293 Add a new sljit_set_compiler_memory_error function.
r292 Add missing argument on ARM32.
r291 Minor fixes and NOINLINE support.
r290 Support custom memory allocators.
r289 Add SLJIT_DOUBLE_ALIGNMENT support and emit_op_custom size check.
r288 Add suport for SLJIT_ARGUMENT_CHECKS on all architectures.
r287 Add SLJIT_ARGUMENT_CHECKS compiler option and lots of cleanups.
r286 Support the new naming on PPC and MIPS.
r285 Support the new naming on ARM and SPARC.
r284 Move the type letter to the beggining of the floating point opcodes.
r283 Add i_ s_ d_ froms to compare types.
r282 Fix an incorrect form of mul on x86-64.
r281 Refactoring sljitConfigInternal.h header.
r280 Remove variable locals offset.
r279 Test skips are not reported if verbose is disabled.
r278 Add options to sljit_emit_enter and sljit_set_context.
r277 Reindexing opX opcodes.
r276 Some comments are fixed and minor refactors were done.
r275 Minor optimizations.
r274 Extend the register set on ARM.
r273 Extend the register set on PPC, MIPS, SPARC.
r272 Allow remapping of any registers: not just scratch->saved, but saved->scratch as well.
r271 Renaming floating point registers to support more of them.
r270 Extend the register set on x86.
r269 Renaming integer registers for preparing the support of any all machine registers.
r268 Refactor a macro to work when debug is disabled.
r267 Introduce architecture macros without 32/64 bit postfix.
r266 The floating point conversion operators are finished on PPC, and they are supported on all architectures now.
r265 FPU operations support locals access now. CONW is supported on PPC now.
r264 Continue code refactoring, MOVS/MOVD are optimized on all architectures.
r263 SPARC implementation of floating point operators.
r262 Small refactorings.
r261 MIPS implementation of floating point conversion operators.
r260 ARM implementation of floating point operators.
r259 x86 implementation of floating point conversion operators.
r258 Refactoring sljit_emit_fop1 opcodes, inserting placeholders for new ones.
 1.1.1.2 17-Jun-2014  alnsn branches: 1.1.1.2.4;
Import sljit 0.91 (svn r257).

The changes since the last import are:

r257: Add missing ADJUST_LOCAL_OFFSET for ARM64.
r256: Move incorrectly placed array definitions.
r255: More work on testing environment.
r254: Refactor test default output.
r253: Pass entry adress in r12 on PPC-LE.
r252: Optimize calls on MIPS-64.
r251: Several minor fixes.
r250: Add missing SLJIT_IS_FPU_AVAILABLE checks and reorder U and S flags.
r249: Optimize jumps on ARM-64.
r248: Optimize jumps on PowerPC.
r247: MIPS64 support is mostly finished.
r246: MIPS arithmetic.
r245: Start working on MIPS64.
r244: Uniform names for TILE-Gx.
r243: Uniform the names of ARM compilers.
r242: Change ll to l on x86 and rename some instructions on ARM-64.
r241: Improved memory access in PPC and reordering the parameter type flags.
r240: Prepare for more registers on ARM-Thumb2 and renaming TMP_REGISTER to TMP_REG1 on x86.
r239: Prepare for more registers on ARMv5.
r238: Prepare for more registers on TILE-Gx.
r237: Prepare for more registers on MIPS and SPARC.
r236: Prepare for more registers on PPC.
r235: Prepare for more registers on x86.
r234: Most tests are pass on ARM-64 now.
r233: Around 25 test cases are now pass on ARM-64.
r232: More progress on ARM-64 and Thumb2 refactoring.
r231: Some progress an ARM-64 and ARM-T2 refactoring.
r230: Thumb2 code refactoring.
r229: Start working on ARM-64.
r228: Little endian PowerPC systems are supported now by the JIT compiler.
r227: TileGX architecture is now supported. Patch made by Jiong Wang.
r226: Cache flush for android. Patch by Giuseppe D'Angelo.
r225: Add support for forcibly freeing unused executable memory. Inspired by Carsten Klein.
r224: Few typo fixes.
r223: Reorder madvise and posix_madvise.
r222: The missing sljit_get_float_register_index function is added.
r221: Remove an invalid shift on ARM.
r220: JIT compiler now supports 32 bit Macs thanks to Lawrence Velazquez.
r219: Better code size statistics.
r218: Improvements for x86 and LIR dump.
r217: ICC and SunPro C fixes
r216: A new file for tracking internal changes are added.
r215: Less GNU dependnet Makefile and Intel style assemby for x86-64 systems.
r214: Switch from stdcall to cdecl in x86-32.
r213: Upstreaming minor fixes. Thanks for Daniel Richard G.
r212: Documentation update and a fix for a locking issue.
r211: Renaming temporaries to scratches to match the new name of the register. Does not affect compatibility.
r210: Improving assertions.
r209: Port sljit to SunPro C compiler. Patch by Daniel Richard G.
r208: SLJIT_TEMPORARY_REGx registers are renamed to SLJIT_SCRATCH_REGx.
r207: Removing unused checks.
r206: Optimizations for arm.
r205: Some optimizations on powerpc, mips and sparc.
r204: Rename sljit_emit_cond_value to sljit_emit_op_flags.
r203: Small x86 optimization.
r202: Finish cond_value with AND and INT_OP.
r201: More x86 fixes and improvements.
r200: Rename buf and code to inst.
r199: Replacing constants with instruction names in x86. Greatly improves maintainability.
r198: Only xmm0-xmm5 is volatile on Win64, so xmm6 must be saved.
r197: PowerPC shift right always modifies the carry flag. We may need to restore it.
r196: Rename SLJIT_F* functions to SLJIT_*D
r195: SLJIT_INT_OP works in the same way as SLJIT_SINGLE_OP: the input register arguments must be generated by the output of another instruction with SLJIT_INT_OP flag
r194: Renaming sljit_w to sljit_sw, sljit_i to sljit_si, sljit_h to sljit_sh, and sljit_b to sljit_sb.
r193: ARM single precision support.
r192: Single precision support added for ppc, mips and sparc.
r191: Add single precision support. Only works on x86 now.
r190: Relace C types with sljit types. No functionality change.
r189: Change 0 to NULL for mmap.
r188: Support environments where MAP_ANON is not available.
r187: Adding type descriptors for pointers and doubles (preparing for x32 ABIs and single precision support).
 1.1.1.1 06-Oct-2012  alnsn branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.14;
Initial import of sljit @ r175.

svn co https://sljit.svn.sourceforge.net/svnroot/sljit@r175 dist
 1.1.1.3.18.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.3.16.1 26-Jan-2019  pgoyette Sync with HEAD
 1.1.1.2.4.1 09-Jul-2016  skrll Sync with HEAD
 1.1.1.1.14.1 10-Aug-2014  tls Rebase.
 1.1.1.1.4.4 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.4.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.4.2 06-Oct-2012  alnsn Initial import of sljit @ r175.

svn co https://sljit.svn.sourceforge.net/svnroot/sljit@r175 dist
 1.1.1.1.4.1 06-Oct-2012  alnsn file regexJIT.c was added on branch tls-maxphys on 2012-10-06 18:24:20 +0000
 1.1.1.1.2.2 30-Oct-2012  yamt sync with head
 1.1.1.1.2.1 06-Oct-2012  yamt file regexJIT.c was added on branch yamt-pagecache on 2012-10-30 17:22:21 +0000
 1.1 06-Oct-2012  alnsn branches: 1.1.1;
Initial revision
 1.1.1.2 20-Jan-2019  alnsn Update sljit to version 0.93 (svn revision r333).

Changes since the last import:

r333 More x86 fixes and a new stack test.
r332 Improve stack allocation on x86.
r331 Make sljit_free_unused_memory_exec public, PPC flush takes priority.
r330 Reverse the stack utility to top-down.
r329 Add sljit_set_current_flags function.
r328 Add two more virtual registers to x86/32, ARM-32 refactor.
r327 Remove value caching on ARM-32.
r326 Remove value caching on ARM-Thumb2.
r325 Move with update rework.
r324 Arm32 store fixes.
r323 Update macros and remove copyright years.
r322 Reworking flags, removing keep flags.
r321 Quick fix for regexjit.
r320 Improve protected executable allocator. Patch insipred by Christian Persch.
r319 Fully support dynamic code modifications again.
r318 Support protected allocator on all architectures except TILEGX.
r317 Rework protected allocator, only x86 linux is supported now.
r316 Add protected executable allocator.
r315 Remove SLJIT_MEMMOVE.
r314 Fix unaligned accesses on x86. Patch by Marc Mutz.
 1.1.1.1 06-Oct-2012  alnsn branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.40; 1.1.1.1.42;
Initial import of sljit @ r175.

svn co https://sljit.svn.sourceforge.net/svnroot/sljit@r175 dist
 1.1.1.1.42.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.1.40.1 26-Jan-2019  pgoyette Sync with HEAD
 1.1.1.1.4.2 06-Oct-2012  alnsn Initial import of sljit @ r175.

svn co https://sljit.svn.sourceforge.net/svnroot/sljit@r175 dist
 1.1.1.1.4.1 06-Oct-2012  alnsn file regexJIT.h was added on branch tls-maxphys on 2012-10-06 18:24:20 +0000
 1.1.1.1.2.2 30-Oct-2012  yamt sync with head
 1.1.1.1.2.1 06-Oct-2012  yamt file regexJIT.h was added on branch yamt-pagecache on 2012-10-30 17:22:21 +0000
 1.1 06-Oct-2012  alnsn branches: 1.1.1;
Initial revision
 1.1.1.4 20-Jan-2019  alnsn Update sljit to version 0.93 (svn revision r333).

Changes since the last import:

r333 More x86 fixes and a new stack test.
r332 Improve stack allocation on x86.
r331 Make sljit_free_unused_memory_exec public, PPC flush takes priority.
r330 Reverse the stack utility to top-down.
r329 Add sljit_set_current_flags function.
r328 Add two more virtual registers to x86/32, ARM-32 refactor.
r327 Remove value caching on ARM-32.
r326 Remove value caching on ARM-Thumb2.
r325 Move with update rework.
r324 Arm32 store fixes.
r323 Update macros and remove copyright years.
r322 Reworking flags, removing keep flags.
r321 Quick fix for regexjit.
r320 Improve protected executable allocator. Patch insipred by Christian Persch.
r319 Fully support dynamic code modifications again.
r318 Support protected allocator on all architectures except TILEGX.
r317 Rework protected allocator, only x86 linux is supported now.
r316 Add protected executable allocator.
r315 Remove SLJIT_MEMMOVE.
r314 Fix unaligned accesses on x86. Patch by Marc Mutz.
 1.1.1.3 29-May-2016  alnsn branches: 1.1.1.3.16; 1.1.1.3.18;
Import sljit version r313.

Changes since the last import:

r313 Fix a racing condition reported by Mozilla.
r312 Support Android ARM64 cacheflush. Patch by Tavian Barnes.
r311 Update opcode dump.
r310 Better type specification for integer operations and conditional types.
r309 Better type specification for long mul and divide operators.
r308 Better type specification for floating point operations.
r307 Change d and s postfixes to f64 and f32.
r306 Change b,h,i postifxes to 8,16,32.
r305 Fix a wrong immediate number. Reported by Michael McConville.
r304 Make file patch by Michael McConville.
r303 Landed changes created by Michael McConville.
r302 Add support for cmov on x86.
r301 Tile-Gx fixes by Walter Lee
r300 Add WinCE support.
r299 Add a tutorial for SLJIT. Contributed by Wen Xichang.
r298 Improve integer division.
r297 Start reworking the integer division.
r296 Add an overview for SLJIT.
r295 Small optimizations for x86 and ARM64.
r294 Fix ARM64 SP alignment.
r293 Add a new sljit_set_compiler_memory_error function.
r292 Add missing argument on ARM32.
r291 Minor fixes and NOINLINE support.
r290 Support custom memory allocators.
r289 Add SLJIT_DOUBLE_ALIGNMENT support and emit_op_custom size check.
r288 Add suport for SLJIT_ARGUMENT_CHECKS on all architectures.
r287 Add SLJIT_ARGUMENT_CHECKS compiler option and lots of cleanups.
r286 Support the new naming on PPC and MIPS.
r285 Support the new naming on ARM and SPARC.
r284 Move the type letter to the beggining of the floating point opcodes.
r283 Add i_ s_ d_ froms to compare types.
r282 Fix an incorrect form of mul on x86-64.
r281 Refactoring sljitConfigInternal.h header.
r280 Remove variable locals offset.
r279 Test skips are not reported if verbose is disabled.
r278 Add options to sljit_emit_enter and sljit_set_context.
r277 Reindexing opX opcodes.
r276 Some comments are fixed and minor refactors were done.
r275 Minor optimizations.
r274 Extend the register set on ARM.
r273 Extend the register set on PPC, MIPS, SPARC.
r272 Allow remapping of any registers: not just scratch->saved, but saved->scratch as well.
r271 Renaming floating point registers to support more of them.
r270 Extend the register set on x86.
r269 Renaming integer registers for preparing the support of any all machine registers.
r268 Refactor a macro to work when debug is disabled.
r267 Introduce architecture macros without 32/64 bit postfix.
r266 The floating point conversion operators are finished on PPC, and they are supported on all architectures now.
r265 FPU operations support locals access now. CONW is supported on PPC now.
r264 Continue code refactoring, MOVS/MOVD are optimized on all architectures.
r263 SPARC implementation of floating point operators.
r262 Small refactorings.
r261 MIPS implementation of floating point conversion operators.
r260 ARM implementation of floating point operators.
r259 x86 implementation of floating point conversion operators.
r258 Refactoring sljit_emit_fop1 opcodes, inserting placeholders for new ones.
 1.1.1.2 17-Jun-2014  alnsn branches: 1.1.1.2.4;
Import sljit 0.91 (svn r257).

The changes since the last import are:

r257: Add missing ADJUST_LOCAL_OFFSET for ARM64.
r256: Move incorrectly placed array definitions.
r255: More work on testing environment.
r254: Refactor test default output.
r253: Pass entry adress in r12 on PPC-LE.
r252: Optimize calls on MIPS-64.
r251: Several minor fixes.
r250: Add missing SLJIT_IS_FPU_AVAILABLE checks and reorder U and S flags.
r249: Optimize jumps on ARM-64.
r248: Optimize jumps on PowerPC.
r247: MIPS64 support is mostly finished.
r246: MIPS arithmetic.
r245: Start working on MIPS64.
r244: Uniform names for TILE-Gx.
r243: Uniform the names of ARM compilers.
r242: Change ll to l on x86 and rename some instructions on ARM-64.
r241: Improved memory access in PPC and reordering the parameter type flags.
r240: Prepare for more registers on ARM-Thumb2 and renaming TMP_REGISTER to TMP_REG1 on x86.
r239: Prepare for more registers on ARMv5.
r238: Prepare for more registers on TILE-Gx.
r237: Prepare for more registers on MIPS and SPARC.
r236: Prepare for more registers on PPC.
r235: Prepare for more registers on x86.
r234: Most tests are pass on ARM-64 now.
r233: Around 25 test cases are now pass on ARM-64.
r232: More progress on ARM-64 and Thumb2 refactoring.
r231: Some progress an ARM-64 and ARM-T2 refactoring.
r230: Thumb2 code refactoring.
r229: Start working on ARM-64.
r228: Little endian PowerPC systems are supported now by the JIT compiler.
r227: TileGX architecture is now supported. Patch made by Jiong Wang.
r226: Cache flush for android. Patch by Giuseppe D'Angelo.
r225: Add support for forcibly freeing unused executable memory. Inspired by Carsten Klein.
r224: Few typo fixes.
r223: Reorder madvise and posix_madvise.
r222: The missing sljit_get_float_register_index function is added.
r221: Remove an invalid shift on ARM.
r220: JIT compiler now supports 32 bit Macs thanks to Lawrence Velazquez.
r219: Better code size statistics.
r218: Improvements for x86 and LIR dump.
r217: ICC and SunPro C fixes
r216: A new file for tracking internal changes are added.
r215: Less GNU dependnet Makefile and Intel style assemby for x86-64 systems.
r214: Switch from stdcall to cdecl in x86-32.
r213: Upstreaming minor fixes. Thanks for Daniel Richard G.
r212: Documentation update and a fix for a locking issue.
r211: Renaming temporaries to scratches to match the new name of the register. Does not affect compatibility.
r210: Improving assertions.
r209: Port sljit to SunPro C compiler. Patch by Daniel Richard G.
r208: SLJIT_TEMPORARY_REGx registers are renamed to SLJIT_SCRATCH_REGx.
r207: Removing unused checks.
r206: Optimizations for arm.
r205: Some optimizations on powerpc, mips and sparc.
r204: Rename sljit_emit_cond_value to sljit_emit_op_flags.
r203: Small x86 optimization.
r202: Finish cond_value with AND and INT_OP.
r201: More x86 fixes and improvements.
r200: Rename buf and code to inst.
r199: Replacing constants with instruction names in x86. Greatly improves maintainability.
r198: Only xmm0-xmm5 is volatile on Win64, so xmm6 must be saved.
r197: PowerPC shift right always modifies the carry flag. We may need to restore it.
r196: Rename SLJIT_F* functions to SLJIT_*D
r195: SLJIT_INT_OP works in the same way as SLJIT_SINGLE_OP: the input register arguments must be generated by the output of another instruction with SLJIT_INT_OP flag
r194: Renaming sljit_w to sljit_sw, sljit_i to sljit_si, sljit_h to sljit_sh, and sljit_b to sljit_sb.
r193: ARM single precision support.
r192: Single precision support added for ppc, mips and sparc.
r191: Add single precision support. Only works on x86 now.
r190: Relace C types with sljit types. No functionality change.
r189: Change 0 to NULL for mmap.
r188: Support environments where MAP_ANON is not available.
r187: Adding type descriptors for pointers and doubles (preparing for x32 ABIs and single precision support).
 1.1.1.1 06-Oct-2012  alnsn branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.14;
Initial import of sljit @ r175.

svn co https://sljit.svn.sourceforge.net/svnroot/sljit@r175 dist
 1.1.1.3.18.1 10-Jun-2019  christos Sync with HEAD
 1.1.1.3.16.1 26-Jan-2019  pgoyette Sync with HEAD
 1.1.1.2.4.1 09-Jul-2016  skrll Sync with HEAD
 1.1.1.1.14.1 10-Aug-2014  tls Rebase.
 1.1.1.1.4.4 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.4.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.4.2 06-Oct-2012  alnsn Initial import of sljit @ r175.

svn co https://sljit.svn.sourceforge.net/svnroot/sljit@r175 dist
 1.1.1.1.4.1 06-Oct-2012  alnsn file regexMain.c was added on branch tls-maxphys on 2012-10-06 18:24:19 +0000
 1.1.1.1.2.2 30-Oct-2012  yamt sync with head
 1.1.1.1.2.1 06-Oct-2012  yamt file regexMain.c was added on branch yamt-pagecache on 2012-10-30 17:22:21 +0000
 1.17 05-Mar-2020  riastradh Revert "Include opt_diagnostic.h for DIAGNOSTIC."

This did not do what I thought it did. opt_diagnostic.h is only for
the unused _DIAGNOSTIC, which seems like an abortive attempt to
incrementally convert DIAGNOSTIC to an opt_*.h option rather than a
command-line option.
 1.16 05-Mar-2020  riastradh Include opt_diagnostic.h for DIAGNOSTIC.

...at least, in header files, which may not have already included
libkern.h.
 1.15 20-Jan-2019  alnsn Resolve conflicts.
 1.14 29-May-2016  alnsn branches: 1.14.16; 1.14.18;
Alloc/free macros in the new sljit version take two arguments.
 1.13 29-May-2016  alnsn Resolve conflicts.
 1.12 23-Jul-2014  alnsn branches: 1.12.4;
Rename sljitarch.h to sljit_machdep.h.
 1.11 18-Jul-2014  alnsn Disable FPU in kernel space.
 1.10 17-Jun-2014  alnsn Add $NetBSD$.
 1.9 17-Jun-2014  alnsn Resolve conflicts.
 1.8 17-Dec-2013  alnsn branches: 1.8.2;
Turn on executable allocator an use module_map with UVM_KMF_EXEC flag.

This should fix execution of code generated by librumpkern_sljit.
Also enable global lock.
 1.7 18-Nov-2013  alnsn Report an error if SLJIT_CACHE_FLUSH isn't defined by machine/sljitarch.h.
 1.6 09-Nov-2012  alnsn branches: 1.6.2; 1.6.4;
Apply adapted patch from joerg@ to fix clang build.
 1.5 28-Oct-2012  alnsn branches: 1.5.2;
Resolve conflicts.
 1.4 13-Oct-2012  alnsn Fix compilation.
 1.3 08-Oct-2012  alnsn Fix compilation when DIAGNOSTIC is defined.
 1.2 06-Oct-2012  alnsn Adapt code to compile with -D_KERNEL.
 1.1 06-Oct-2012  alnsn branches: 1.1.1;
Initial revision
 1.1.1.5 20-Jan-2019  alnsn Update sljit to version 0.93 (svn revision r333).

Changes since the last import:

r333 More x86 fixes and a new stack test.
r332 Improve stack allocation on x86.
r331 Make sljit_free_unused_memory_exec public, PPC flush takes priority.
r330 Reverse the stack utility to top-down.
r329 Add sljit_set_current_flags function.
r328 Add two more virtual registers to x86/32, ARM-32 refactor.
r327 Remove value caching on ARM-32.
r326 Remove value caching on ARM-Thumb2.
r325 Move with update rework.
r324 Arm32 store fixes.
r323 Update macros and remove copyright years.
r322 Reworking flags, removing keep flags.
r321 Quick fix for regexjit.
r320 Improve protected executable allocator. Patch insipred by Christian Persch.
r319 Fully support dynamic code modifications again.
r318 Support protected allocator on all architectures except TILEGX.
r317 Rework protected allocator, only x86 linux is supported now.
r316 Add protected executable allocator.
r315 Remove SLJIT_MEMMOVE.
r314 Fix unaligned accesses on x86. Patch by Marc Mutz.
 1.1.1.4 29-May-2016  alnsn Import sljit version r313.

Changes since the last import:

r313 Fix a racing condition reported by Mozilla.
r312 Support Android ARM64 cacheflush. Patch by Tavian Barnes.
r311 Update opcode dump.
r310 Better type specification for integer operations and conditional types.
r309 Better type specification for long mul and divide operators.
r308 Better type specification for floating point operations.
r307 Change d and s postfixes to f64 and f32.
r306 Change b,h,i postifxes to 8,16,32.
r305 Fix a wrong immediate number. Reported by Michael McConville.
r304 Make file patch by Michael McConville.
r303 Landed changes created by Michael McConville.
r302 Add support for cmov on x86.
r301 Tile-Gx fixes by Walter Lee
r300 Add WinCE support.
r299 Add a tutorial for SLJIT. Contributed by Wen Xichang.
r298 Improve integer division.
r297 Start reworking the integer division.
r296 Add an overview for SLJIT.
r295 Small optimizations for x86 and ARM64.
r294 Fix ARM64 SP alignment.
r293 Add a new sljit_set_compiler_memory_error function.
r292 Add missing argument on ARM32.
r291 Minor fixes and NOINLINE support.
r290 Support custom memory allocators.
r289 Add SLJIT_DOUBLE_ALIGNMENT support and emit_op_custom size check.
r288 Add suport for SLJIT_ARGUMENT_CHECKS on all architectures.
r287 Add SLJIT_ARGUMENT_CHECKS compiler option and lots of cleanups.
r286 Support the new naming on PPC and MIPS.
r285 Support the new naming on ARM and SPARC.
r284 Move the type letter to the beggining of the floating point opcodes.
r283 Add i_ s_ d_ froms to compare types.
r282 Fix an incorrect form of mul on x86-64.
r281 Refactoring sljitConfigInternal.h header.
r280 Remove variable locals offset.
r279 Test skips are not reported if verbose is disabled.
r278 Add options to sljit_emit_enter and sljit_set_context.
r277 Reindexing opX opcodes.
r276 Some comments are fixed and minor refactors were done.
r275 Minor optimizations.
r274 Extend the register set on ARM.
r273 Extend the register set on PPC, MIPS, SPARC.
r272 Allow remapping of any registers: not just scratch->saved, but saved->scratch as well.
r271 Renaming floating point registers to support more of them.
r270 Extend the register set on x86.
r269 Renaming integer registers for preparing the support of any all machine registers.
r268 Refactor a macro to work when debug is disabled.
r267 Introduce architecture macros without 32/64 bit postfix.
r266 The floating point conversion operators are finished on PPC, and they are supported on all architectures now.
r265 FPU operations support locals access now. CONW is supported on PPC now.
r264 Continue code refactoring, MOVS/MOVD are optimized on all architectures.
r263 SPARC implementation of floating point operators.
r262 Small refactorings.
r261 MIPS implementation of floating point conversion operators.
r260 ARM implementation of floating point operators.
r259 x86 implementation of floating point conversion operators.
r258 Refactoring sljit_emit_fop1 opcodes, inserting placeholders for new ones.
 1.1.1.3 17-Jun-2014  alnsn Import sljit 0.91 (svn r257).

The changes since the last import are:

r257: Add missing ADJUST_LOCAL_OFFSET for ARM64.
r256: Move incorrectly placed array definitions.
r255: More work on testing environment.
r254: Refactor test default output.
r253: Pass entry adress in r12 on PPC-LE.
r252: Optimize calls on MIPS-64.
r251: Several minor fixes.
r250: Add missing SLJIT_IS_FPU_AVAILABLE checks and reorder U and S flags.
r249: Optimize jumps on ARM-64.
r248: Optimize jumps on PowerPC.
r247: MIPS64 support is mostly finished.
r246: MIPS arithmetic.
r245: Start working on MIPS64.
r244: Uniform names for TILE-Gx.
r243: Uniform the names of ARM compilers.
r242: Change ll to l on x86 and rename some instructions on ARM-64.
r241: Improved memory access in PPC and reordering the parameter type flags.
r240: Prepare for more registers on ARM-Thumb2 and renaming TMP_REGISTER to TMP_REG1 on x86.
r239: Prepare for more registers on ARMv5.
r238: Prepare for more registers on TILE-Gx.
r237: Prepare for more registers on MIPS and SPARC.
r236: Prepare for more registers on PPC.
r235: Prepare for more registers on x86.
r234: Most tests are pass on ARM-64 now.
r233: Around 25 test cases are now pass on ARM-64.
r232: More progress on ARM-64 and Thumb2 refactoring.
r231: Some progress an ARM-64 and ARM-T2 refactoring.
r230: Thumb2 code refactoring.
r229: Start working on ARM-64.
r228: Little endian PowerPC systems are supported now by the JIT compiler.
r227: TileGX architecture is now supported. Patch made by Jiong Wang.
r226: Cache flush for android. Patch by Giuseppe D'Angelo.
r225: Add support for forcibly freeing unused executable memory. Inspired by Carsten Klein.
r224: Few typo fixes.
r223: Reorder madvise and posix_madvise.
r222: The missing sljit_get_float_register_index function is added.
r221: Remove an invalid shift on ARM.
r220: JIT compiler now supports 32 bit Macs thanks to Lawrence Velazquez.
r219: Better code size statistics.
r218: Improvements for x86 and LIR dump.
r217: ICC and SunPro C fixes
r216: A new file for tracking internal changes are added.
r215: Less GNU dependnet Makefile and Intel style assemby for x86-64 systems.
r214: Switch from stdcall to cdecl in x86-32.
r213: Upstreaming minor fixes. Thanks for Daniel Richard G.
r212: Documentation update and a fix for a locking issue.
r211: Renaming temporaries to scratches to match the new name of the register. Does not affect compatibility.
r210: Improving assertions.
r209: Port sljit to SunPro C compiler. Patch by Daniel Richard G.
r208: SLJIT_TEMPORARY_REGx registers are renamed to SLJIT_SCRATCH_REGx.
r207: Removing unused checks.
r206: Optimizations for arm.
r205: Some optimizations on powerpc, mips and sparc.
r204: Rename sljit_emit_cond_value to sljit_emit_op_flags.
r203: Small x86 optimization.
r202: Finish cond_value with AND and INT_OP.
r201: More x86 fixes and improvements.
r200: Rename buf and code to inst.
r199: Replacing constants with instruction names in x86. Greatly improves maintainability.
r198: Only xmm0-xmm5 is volatile on Win64, so xmm6 must be saved.
r197: PowerPC shift right always modifies the carry flag. We may need to restore it.
r196: Rename SLJIT_F* functions to SLJIT_*D
r195: SLJIT_INT_OP works in the same way as SLJIT_SINGLE_OP: the input register arguments must be generated by the output of another instruction with SLJIT_INT_OP flag
r194: Renaming sljit_w to sljit_sw, sljit_i to sljit_si, sljit_h to sljit_sh, and sljit_b to sljit_sb.
r193: ARM single precision support.
r192: Single precision support added for ppc, mips and sparc.
r191: Add single precision support. Only works on x86 now.
r190: Relace C types with sljit types. No functionality change.
r189: Change 0 to NULL for mmap.
r188: Support environments where MAP_ANON is not available.
r187: Adding type descriptors for pointers and doubles (preparing for x32 ABIs and single precision support).
 1.1.1.2 28-Oct-2012  alnsn Import of sljit @ r186.

This version adds sparc architecture. Other changes:

r184: NAN to UNORDERED renaming and other fixes.
r180: Common caching in PPC and MIPS.
 1.1.1.1 06-Oct-2012  alnsn Initial import of sljit @ r175.

svn co https://sljit.svn.sourceforge.net/svnroot/sljit@r175 dist
 1.5.2.4 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.5.2.3 16-Jan-2013  yamt sync with (a bit old) head
 1.5.2.2 30-Oct-2012  yamt sync with head
 1.5.2.1 28-Oct-2012  yamt file sljitConfig.h was added on branch yamt-pagecache on 2012-10-30 17:22:21 +0000
 1.6.4.1 18-May-2014  rmind sync with head
 1.6.2.4 03-Dec-2017  jdolecek update from HEAD
 1.6.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.6.2.2 09-Nov-2012  alnsn Apply adapted patch from joerg@ to fix clang build.
 1.6.2.1 09-Nov-2012  alnsn file sljitConfig.h was added on branch tls-maxphys on 2012-11-09 23:09:32 +0000
 1.8.2.1 10-Aug-2014  tls Rebase.
 1.12.4.1 09-Jul-2016  skrll Sync with HEAD
 1.14.18.1 10-Jun-2019  christos Sync with HEAD
 1.14.16.1 26-Jan-2019  pgoyette Sync with HEAD
 1.12 25-Oct-2025  martin Apply a (IMHO) fixed version of upstream commit
https://github.com/zherczeg/sljit/commit/a3caf4956a81046e0b717c764f34a0cf34ead44d
to fix PPC and PPC64 detection.
 1.11 20-Jan-2019  alnsn Resolve conflicts.
 1.10 29-May-2016  alnsn branches: 1.10.16; 1.10.18;
Resolve conflicts.
 1.9 17-Jun-2014  alnsn branches: 1.9.4;
Add $NetBSD$.
 1.8 17-Jun-2014  alnsn Don't redefine SLJIT_HALT_PROCESS().
 1.7 17-Jun-2014  alnsn Resolve conflicts.
 1.6 18-Nov-2012  alnsn branches: 1.6.2; 1.6.12;
Apply adapted patch from the author of sljit to fix cdecl functions
generation on i386.
 1.5 09-Nov-2012  alnsn Apply adapted patch from joerg@ to fix clang build.
 1.4 28-Oct-2012  alnsn branches: 1.4.2;
Resolve conflicts.
 1.3 08-Oct-2012  alnsn Fix compilation when DIAGNOSTIC is defined.
 1.2 06-Oct-2012  alnsn Adapt code to compile with -D_KERNEL.
 1.1 06-Oct-2012  alnsn branches: 1.1.1;
Initial revision
 1.1.1.5 20-Jan-2019  alnsn Update sljit to version 0.93 (svn revision r333).

Changes since the last import:

r333 More x86 fixes and a new stack test.
r332 Improve stack allocation on x86.
r331 Make sljit_free_unused_memory_exec public, PPC flush takes priority.
r330 Reverse the stack utility to top-down.
r329 Add sljit_set_current_flags function.
r328 Add two more virtual registers to x86/32, ARM-32 refactor.
r327 Remove value caching on ARM-32.
r326 Remove value caching on ARM-Thumb2.
r325 Move with update rework.
r324 Arm32 store fixes.
r323 Update macros and remove copyright years.
r322 Reworking flags, removing keep flags.
r321 Quick fix for regexjit.
r320 Improve protected executable allocator. Patch insipred by Christian Persch.
r319 Fully support dynamic code modifications again.
r318 Support protected allocator on all architectures except TILEGX.
r317 Rework protected allocator, only x86 linux is supported now.
r316 Add protected executable allocator.
r315 Remove SLJIT_MEMMOVE.
r314 Fix unaligned accesses on x86. Patch by Marc Mutz.
 1.1.1.4 29-May-2016  alnsn Import sljit version r313.

Changes since the last import:

r313 Fix a racing condition reported by Mozilla.
r312 Support Android ARM64 cacheflush. Patch by Tavian Barnes.
r311 Update opcode dump.
r310 Better type specification for integer operations and conditional types.
r309 Better type specification for long mul and divide operators.
r308 Better type specification for floating point operations.
r307 Change d and s postfixes to f64 and f32.
r306 Change b,h,i postifxes to 8,16,32.
r305 Fix a wrong immediate number. Reported by Michael McConville.
r304 Make file patch by Michael McConville.
r303 Landed changes created by Michael McConville.
r302 Add support for cmov on x86.
r301 Tile-Gx fixes by Walter Lee
r300 Add WinCE support.
r299 Add a tutorial for SLJIT. Contributed by Wen Xichang.
r298 Improve integer division.
r297 Start reworking the integer division.
r296 Add an overview for SLJIT.
r295 Small optimizations for x86 and ARM64.
r294 Fix ARM64 SP alignment.
r293 Add a new sljit_set_compiler_memory_error function.
r292 Add missing argument on ARM32.
r291 Minor fixes and NOINLINE support.
r290 Support custom memory allocators.
r289 Add SLJIT_DOUBLE_ALIGNMENT support and emit_op_custom size check.
r288 Add suport for SLJIT_ARGUMENT_CHECKS on all architectures.
r287 Add SLJIT_ARGUMENT_CHECKS compiler option and lots of cleanups.
r286 Support the new naming on PPC and MIPS.
r285 Support the new naming on ARM and SPARC.
r284 Move the type letter to the beggining of the floating point opcodes.
r283 Add i_ s_ d_ froms to compare types.
r282 Fix an incorrect form of mul on x86-64.
r281 Refactoring sljitConfigInternal.h header.
r280 Remove variable locals offset.
r279 Test skips are not reported if verbose is disabled.
r278 Add options to sljit_emit_enter and sljit_set_context.
r277 Reindexing opX opcodes.
r276 Some comments are fixed and minor refactors were done.
r275 Minor optimizations.
r274 Extend the register set on ARM.
r273 Extend the register set on PPC, MIPS, SPARC.
r272 Allow remapping of any registers: not just scratch->saved, but saved->scratch as well.
r271 Renaming floating point registers to support more of them.
r270 Extend the register set on x86.
r269 Renaming integer registers for preparing the support of any all machine registers.
r268 Refactor a macro to work when debug is disabled.
r267 Introduce architecture macros without 32/64 bit postfix.
r266 The floating point conversion operators are finished on PPC, and they are supported on all architectures now.
r265 FPU operations support locals access now. CONW is supported on PPC now.
r264 Continue code refactoring, MOVS/MOVD are optimized on all architectures.
r263 SPARC implementation of floating point operators.
r262 Small refactorings.
r261 MIPS implementation of floating point conversion operators.
r260 ARM implementation of floating point operators.
r259 x86 implementation of floating point conversion operators.
r258 Refactoring sljit_emit_fop1 opcodes, inserting placeholders for new ones.
 1.1.1.3 17-Jun-2014  alnsn Import sljit 0.91 (svn r257).

The changes since the last import are:

r257: Add missing ADJUST_LOCAL_OFFSET for ARM64.
r256: Move incorrectly placed array definitions.
r255: More work on testing environment.
r254: Refactor test default output.
r253: Pass entry adress in r12 on PPC-LE.
r252: Optimize calls on MIPS-64.
r251: Several minor fixes.
r250: Add missing SLJIT_IS_FPU_AVAILABLE checks and reorder U and S flags.
r249: Optimize jumps on ARM-64.
r248: Optimize jumps on PowerPC.
r247: MIPS64 support is mostly finished.
r246: MIPS arithmetic.
r245: Start working on MIPS64.
r244: Uniform names for TILE-Gx.
r243: Uniform the names of ARM compilers.
r242: Change ll to l on x86 and rename some instructions on ARM-64.
r241: Improved memory access in PPC and reordering the parameter type flags.
r240: Prepare for more registers on ARM-Thumb2 and renaming TMP_REGISTER to TMP_REG1 on x86.
r239: Prepare for more registers on ARMv5.
r238: Prepare for more registers on TILE-Gx.
r237: Prepare for more registers on MIPS and SPARC.
r236: Prepare for more registers on PPC.
r235: Prepare for more registers on x86.
r234: Most tests are pass on ARM-64 now.
r233: Around 25 test cases are now pass on ARM-64.
r232: More progress on ARM-64 and Thumb2 refactoring.
r231: Some progress an ARM-64 and ARM-T2 refactoring.
r230: Thumb2 code refactoring.
r229: Start working on ARM-64.
r228: Little endian PowerPC systems are supported now by the JIT compiler.
r227: TileGX architecture is now supported. Patch made by Jiong Wang.
r226: Cache flush for android. Patch by Giuseppe D'Angelo.
r225: Add support for forcibly freeing unused executable memory. Inspired by Carsten Klein.
r224: Few typo fixes.
r223: Reorder madvise and posix_madvise.
r222: The missing sljit_get_float_register_index function is added.
r221: Remove an invalid shift on ARM.
r220: JIT compiler now supports 32 bit Macs thanks to Lawrence Velazquez.
r219: Better code size statistics.
r218: Improvements for x86 and LIR dump.
r217: ICC and SunPro C fixes
r216: A new file for tracking internal changes are added.
r215: Less GNU dependnet Makefile and Intel style assemby for x86-64 systems.
r214: Switch from stdcall to cdecl in x86-32.
r213: Upstreaming minor fixes. Thanks for Daniel Richard G.
r212: Documentation update and a fix for a locking issue.
r211: Renaming temporaries to scratches to match the new name of the register. Does not affect compatibility.
r210: Improving assertions.
r209: Port sljit to SunPro C compiler. Patch by Daniel Richard G.
r208: SLJIT_TEMPORARY_REGx registers are renamed to SLJIT_SCRATCH_REGx.
r207: Removing unused checks.
r206: Optimizations for arm.
r205: Some optimizations on powerpc, mips and sparc.
r204: Rename sljit_emit_cond_value to sljit_emit_op_flags.
r203: Small x86 optimization.
r202: Finish cond_value with AND and INT_OP.
r201: More x86 fixes and improvements.
r200: Rename buf and code to inst.
r199: Replacing constants with instruction names in x86. Greatly improves maintainability.
r198: Only xmm0-xmm5 is volatile on Win64, so xmm6 must be saved.
r197: PowerPC shift right always modifies the carry flag. We may need to restore it.
r196: Rename SLJIT_F* functions to SLJIT_*D
r195: SLJIT_INT_OP works in the same way as SLJIT_SINGLE_OP: the input register arguments must be generated by the output of another instruction with SLJIT_INT_OP flag
r194: Renaming sljit_w to sljit_sw, sljit_i to sljit_si, sljit_h to sljit_sh, and sljit_b to sljit_sb.
r193: ARM single precision support.
r192: Single precision support added for ppc, mips and sparc.
r191: Add single precision support. Only works on x86 now.
r190: Relace C types with sljit types. No functionality change.
r189: Change 0 to NULL for mmap.
r188: Support environments where MAP_ANON is not available.
r187: Adding type descriptors for pointers and doubles (preparing for x32 ABIs and single precision support).
 1.1.1.2 28-Oct-2012  alnsn Import of sljit @ r186.

This version adds sparc architecture. Other changes:

r184: NAN to UNORDERED renaming and other fixes.
r180: Common caching in PPC and MIPS.
 1.1.1.1 06-Oct-2012  alnsn Initial import of sljit @ r175.

svn co https://sljit.svn.sourceforge.net/svnroot/sljit@r175 dist
 1.4.2.3 16-Jan-2013  yamt sync with (a bit old) head
 1.4.2.2 30-Oct-2012  yamt sync with head
 1.4.2.1 28-Oct-2012  yamt file sljitConfigInternal.h was added on branch yamt-pagecache on 2012-10-30 17:22:21 +0000
 1.6.12.1 10-Aug-2014  tls Rebase.
 1.6.2.4 03-Dec-2017  jdolecek update from HEAD
 1.6.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.6.2.2 18-Nov-2012  alnsn Apply adapted patch from the author of sljit to fix cdecl functions
generation on i386.
 1.6.2.1 18-Nov-2012  alnsn file sljitConfigInternal.h was added on branch tls-maxphys on 2012-11-18 14:36:38 +0000
 1.9.4.1 09-Jul-2016  skrll Sync with HEAD
 1.10.18.1 10-Jun-2019  christos Sync with HEAD
 1.10.16.1 26-Jan-2019  pgoyette Sync with HEAD
 1.7 05-Sep-2020  riastradh Round of uvm.h cleanup.

The poorly named uvm.h is generally supposed to be for uvm-internal
users only.

- Narrow it to files that actually need it -- mostly files that need
to query whether curlwp is the pagedaemon, which should maybe be
exposed by an external header.

- Use uvm_extern.h where feasible and uvm_*.h for things not exposed
by it. We should split up uvm_extern.h but this will serve for now
to reduce the uvm.h dependencies.

- Use uvm_stat.h and #ifdef UVMHIST uvm.h for files that use
UVMHIST(ubchist), since ubchist is declared in uvm.h but the
reference evaporates if UVMHIST is not defined, so we reduce header
file dependencies.

- Make uvm_device.h and uvm_swap.h independently includable while
here.

ok chs@
 1.6 20-Jan-2019  alnsn Resolve conflicts.
 1.5 29-May-2016  alnsn branches: 1.5.16; 1.5.18;
Resolve conflicts.
 1.4 17-Jun-2014  alnsn branches: 1.4.4;
Add $NetBSD$.
 1.3 17-Jun-2014  alnsn Resolve conflicts.
 1.2 17-Dec-2013  alnsn branches: 1.2.2;
Turn on executable allocator an use module_map with UVM_KMF_EXEC flag.

This should fix execution of code generated by librumpkern_sljit.
Also enable global lock.
 1.1 06-Oct-2012  alnsn branches: 1.1.1;
Initial revision
 1.1.1.4 20-Jan-2019  alnsn Update sljit to version 0.93 (svn revision r333).

Changes since the last import:

r333 More x86 fixes and a new stack test.
r332 Improve stack allocation on x86.
r331 Make sljit_free_unused_memory_exec public, PPC flush takes priority.
r330 Reverse the stack utility to top-down.
r329 Add sljit_set_current_flags function.
r328 Add two more virtual registers to x86/32, ARM-32 refactor.
r327 Remove value caching on ARM-32.
r326 Remove value caching on ARM-Thumb2.
r325 Move with update rework.
r324 Arm32 store fixes.
r323 Update macros and remove copyright years.
r322 Reworking flags, removing keep flags.
r321 Quick fix for regexjit.
r320 Improve protected executable allocator. Patch insipred by Christian Persch.
r319 Fully support dynamic code modifications again.
r318 Support protected allocator on all architectures except TILEGX.
r317 Rework protected allocator, only x86 linux is supported now.
r316 Add protected executable allocator.
r315 Remove SLJIT_MEMMOVE.
r314 Fix unaligned accesses on x86. Patch by Marc Mutz.
 1.1.1.3 29-May-2016  alnsn Import sljit version r313.

Changes since the last import:

r313 Fix a racing condition reported by Mozilla.
r312 Support Android ARM64 cacheflush. Patch by Tavian Barnes.
r311 Update opcode dump.
r310 Better type specification for integer operations and conditional types.
r309 Better type specification for long mul and divide operators.
r308 Better type specification for floating point operations.
r307 Change d and s postfixes to f64 and f32.
r306 Change b,h,i postifxes to 8,16,32.
r305 Fix a wrong immediate number. Reported by Michael McConville.
r304 Make file patch by Michael McConville.
r303 Landed changes created by Michael McConville.
r302 Add support for cmov on x86.
r301 Tile-Gx fixes by Walter Lee
r300 Add WinCE support.
r299 Add a tutorial for SLJIT. Contributed by Wen Xichang.
r298 Improve integer division.
r297 Start reworking the integer division.
r296 Add an overview for SLJIT.
r295 Small optimizations for x86 and ARM64.
r294 Fix ARM64 SP alignment.
r293 Add a new sljit_set_compiler_memory_error function.
r292 Add missing argument on ARM32.
r291 Minor fixes and NOINLINE support.
r290 Support custom memory allocators.
r289 Add SLJIT_DOUBLE_ALIGNMENT support and emit_op_custom size check.
r288 Add suport for SLJIT_ARGUMENT_CHECKS on all architectures.
r287 Add SLJIT_ARGUMENT_CHECKS compiler option and lots of cleanups.
r286 Support the new naming on PPC and MIPS.
r285 Support the new naming on ARM and SPARC.
r284 Move the type letter to the beggining of the floating point opcodes.
r283 Add i_ s_ d_ froms to compare types.
r282 Fix an incorrect form of mul on x86-64.
r281 Refactoring sljitConfigInternal.h header.
r280 Remove variable locals offset.
r279 Test skips are not reported if verbose is disabled.
r278 Add options to sljit_emit_enter and sljit_set_context.
r277 Reindexing opX opcodes.
r276 Some comments are fixed and minor refactors were done.
r275 Minor optimizations.
r274 Extend the register set on ARM.
r273 Extend the register set on PPC, MIPS, SPARC.
r272 Allow remapping of any registers: not just scratch->saved, but saved->scratch as well.
r271 Renaming floating point registers to support more of them.
r270 Extend the register set on x86.
r269 Renaming integer registers for preparing the support of any all machine registers.
r268 Refactor a macro to work when debug is disabled.
r267 Introduce architecture macros without 32/64 bit postfix.
r266 The floating point conversion operators are finished on PPC, and they are supported on all architectures now.
r265 FPU operations support locals access now. CONW is supported on PPC now.
r264 Continue code refactoring, MOVS/MOVD are optimized on all architectures.
r263 SPARC implementation of floating point operators.
r262 Small refactorings.
r261 MIPS implementation of floating point conversion operators.
r260 ARM implementation of floating point operators.
r259 x86 implementation of floating point conversion operators.
r258 Refactoring sljit_emit_fop1 opcodes, inserting placeholders for new ones.
 1.1.1.2 17-Jun-2014  alnsn Import sljit 0.91 (svn r257).

The changes since the last import are:

r257: Add missing ADJUST_LOCAL_OFFSET for ARM64.
r256: Move incorrectly placed array definitions.
r255: More work on testing environment.
r254: Refactor test default output.
r253: Pass entry adress in r12 on PPC-LE.
r252: Optimize calls on MIPS-64.
r251: Several minor fixes.
r250: Add missing SLJIT_IS_FPU_AVAILABLE checks and reorder U and S flags.
r249: Optimize jumps on ARM-64.
r248: Optimize jumps on PowerPC.
r247: MIPS64 support is mostly finished.
r246: MIPS arithmetic.
r245: Start working on MIPS64.
r244: Uniform names for TILE-Gx.
r243: Uniform the names of ARM compilers.
r242: Change ll to l on x86 and rename some instructions on ARM-64.
r241: Improved memory access in PPC and reordering the parameter type flags.
r240: Prepare for more registers on ARM-Thumb2 and renaming TMP_REGISTER to TMP_REG1 on x86.
r239: Prepare for more registers on ARMv5.
r238: Prepare for more registers on TILE-Gx.
r237: Prepare for more registers on MIPS and SPARC.
r236: Prepare for more registers on PPC.
r235: Prepare for more registers on x86.
r234: Most tests are pass on ARM-64 now.
r233: Around 25 test cases are now pass on ARM-64.
r232: More progress on ARM-64 and Thumb2 refactoring.
r231: Some progress an ARM-64 and ARM-T2 refactoring.
r230: Thumb2 code refactoring.
r229: Start working on ARM-64.
r228: Little endian PowerPC systems are supported now by the JIT compiler.
r227: TileGX architecture is now supported. Patch made by Jiong Wang.
r226: Cache flush for android. Patch by Giuseppe D'Angelo.
r225: Add support for forcibly freeing unused executable memory. Inspired by Carsten Klein.
r224: Few typo fixes.
r223: Reorder madvise and posix_madvise.
r222: The missing sljit_get_float_register_index function is added.
r221: Remove an invalid shift on ARM.
r220: JIT compiler now supports 32 bit Macs thanks to Lawrence Velazquez.
r219: Better code size statistics.
r218: Improvements for x86 and LIR dump.
r217: ICC and SunPro C fixes
r216: A new file for tracking internal changes are added.
r215: Less GNU dependnet Makefile and Intel style assemby for x86-64 systems.
r214: Switch from stdcall to cdecl in x86-32.
r213: Upstreaming minor fixes. Thanks for Daniel Richard G.
r212: Documentation update and a fix for a locking issue.
r211: Renaming temporaries to scratches to match the new name of the register. Does not affect compatibility.
r210: Improving assertions.
r209: Port sljit to SunPro C compiler. Patch by Daniel Richard G.
r208: SLJIT_TEMPORARY_REGx registers are renamed to SLJIT_SCRATCH_REGx.
r207: Removing unused checks.
r206: Optimizations for arm.
r205: Some optimizations on powerpc, mips and sparc.
r204: Rename sljit_emit_cond_value to sljit_emit_op_flags.
r203: Small x86 optimization.
r202: Finish cond_value with AND and INT_OP.
r201: More x86 fixes and improvements.
r200: Rename buf and code to inst.
r199: Replacing constants with instruction names in x86. Greatly improves maintainability.
r198: Only xmm0-xmm5 is volatile on Win64, so xmm6 must be saved.
r197: PowerPC shift right always modifies the carry flag. We may need to restore it.
r196: Rename SLJIT_F* functions to SLJIT_*D
r195: SLJIT_INT_OP works in the same way as SLJIT_SINGLE_OP: the input register arguments must be generated by the output of another instruction with SLJIT_INT_OP flag
r194: Renaming sljit_w to sljit_sw, sljit_i to sljit_si, sljit_h to sljit_sh, and sljit_b to sljit_sb.
r193: ARM single precision support.
r192: Single precision support added for ppc, mips and sparc.
r191: Add single precision support. Only works on x86 now.
r190: Relace C types with sljit types. No functionality change.
r189: Change 0 to NULL for mmap.
r188: Support environments where MAP_ANON is not available.
r187: Adding type descriptors for pointers and doubles (preparing for x32 ABIs and single precision support).
 1.1.1.1 06-Oct-2012  alnsn branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.6;
Initial import of sljit @ r175.

svn co https://sljit.svn.sourceforge.net/svnroot/sljit@r175 dist
 1.1.1.1.6.1 18-May-2014  rmind sync with head
 1.1.1.1.4.4 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.4.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.4.2 06-Oct-2012  alnsn Initial import of sljit @ r175.

svn co https://sljit.svn.sourceforge.net/svnroot/sljit@r175 dist
 1.1.1.1.4.1 06-Oct-2012  alnsn file sljitExecAllocator.c was added on branch tls-maxphys on 2012-10-06 18:24:26 +0000
 1.1.1.1.2.3 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.2.2 30-Oct-2012  yamt sync with head
 1.1.1.1.2.1 06-Oct-2012  yamt file sljitExecAllocator.c was added on branch yamt-pagecache on 2012-10-30 17:22:21 +0000
 1.2.2.1 10-Aug-2014  tls Rebase.
 1.4.4.1 09-Jul-2016  skrll Sync with HEAD
 1.5.18.1 10-Jun-2019  christos Sync with HEAD
 1.5.16.1 26-Jan-2019  pgoyette Sync with HEAD
 1.7 21-Jan-2019  alnsn Add #ifndef _KERNEL guard around userspace #includes
 1.6 20-Jan-2019  alnsn Resolve conflicts.
 1.5 29-May-2016  alnsn branches: 1.5.16; 1.5.18;
Resolve conflicts.
 1.4 17-Jun-2014  alnsn branches: 1.4.4;
Add $NetBSD$.
 1.3 17-Jun-2014  alnsn Resolve conflicts.
 1.2 18-Nov-2012  alnsn branches: 1.2.2; 1.2.12;
Apply adapted patch from the author of sljit to fix cdecl functions
generation on i386.
 1.1 06-Oct-2012  alnsn branches: 1.1.1;
Initial revision
 1.1.1.6 20-Jan-2019  alnsn Update sljit to version 0.93 (svn revision r333).

Changes since the last import:

r333 More x86 fixes and a new stack test.
r332 Improve stack allocation on x86.
r331 Make sljit_free_unused_memory_exec public, PPC flush takes priority.
r330 Reverse the stack utility to top-down.
r329 Add sljit_set_current_flags function.
r328 Add two more virtual registers to x86/32, ARM-32 refactor.
r327 Remove value caching on ARM-32.
r326 Remove value caching on ARM-Thumb2.
r325 Move with update rework.
r324 Arm32 store fixes.
r323 Update macros and remove copyright years.
r322 Reworking flags, removing keep flags.
r321 Quick fix for regexjit.
r320 Improve protected executable allocator. Patch insipred by Christian Persch.
r319 Fully support dynamic code modifications again.
r318 Support protected allocator on all architectures except TILEGX.
r317 Rework protected allocator, only x86 linux is supported now.
r316 Add protected executable allocator.
r315 Remove SLJIT_MEMMOVE.
r314 Fix unaligned accesses on x86. Patch by Marc Mutz.
 1.1.1.5 29-May-2016  alnsn Import sljit version r313.

Changes since the last import:

r313 Fix a racing condition reported by Mozilla.
r312 Support Android ARM64 cacheflush. Patch by Tavian Barnes.
r311 Update opcode dump.
r310 Better type specification for integer operations and conditional types.
r309 Better type specification for long mul and divide operators.
r308 Better type specification for floating point operations.
r307 Change d and s postfixes to f64 and f32.
r306 Change b,h,i postifxes to 8,16,32.
r305 Fix a wrong immediate number. Reported by Michael McConville.
r304 Make file patch by Michael McConville.
r303 Landed changes created by Michael McConville.
r302 Add support for cmov on x86.
r301 Tile-Gx fixes by Walter Lee
r300 Add WinCE support.
r299 Add a tutorial for SLJIT. Contributed by Wen Xichang.
r298 Improve integer division.
r297 Start reworking the integer division.
r296 Add an overview for SLJIT.
r295 Small optimizations for x86 and ARM64.
r294 Fix ARM64 SP alignment.
r293 Add a new sljit_set_compiler_memory_error function.
r292 Add missing argument on ARM32.
r291 Minor fixes and NOINLINE support.
r290 Support custom memory allocators.
r289 Add SLJIT_DOUBLE_ALIGNMENT support and emit_op_custom size check.
r288 Add suport for SLJIT_ARGUMENT_CHECKS on all architectures.
r287 Add SLJIT_ARGUMENT_CHECKS compiler option and lots of cleanups.
r286 Support the new naming on PPC and MIPS.
r285 Support the new naming on ARM and SPARC.
r284 Move the type letter to the beggining of the floating point opcodes.
r283 Add i_ s_ d_ froms to compare types.
r282 Fix an incorrect form of mul on x86-64.
r281 Refactoring sljitConfigInternal.h header.
r280 Remove variable locals offset.
r279 Test skips are not reported if verbose is disabled.
r278 Add options to sljit_emit_enter and sljit_set_context.
r277 Reindexing opX opcodes.
r276 Some comments are fixed and minor refactors were done.
r275 Minor optimizations.
r274 Extend the register set on ARM.
r273 Extend the register set on PPC, MIPS, SPARC.
r272 Allow remapping of any registers: not just scratch->saved, but saved->scratch as well.
r271 Renaming floating point registers to support more of them.
r270 Extend the register set on x86.
r269 Renaming integer registers for preparing the support of any all machine registers.
r268 Refactor a macro to work when debug is disabled.
r267 Introduce architecture macros without 32/64 bit postfix.
r266 The floating point conversion operators are finished on PPC, and they are supported on all architectures now.
r265 FPU operations support locals access now. CONW is supported on PPC now.
r264 Continue code refactoring, MOVS/MOVD are optimized on all architectures.
r263 SPARC implementation of floating point operators.
r262 Small refactorings.
r261 MIPS implementation of floating point conversion operators.
r260 ARM implementation of floating point operators.
r259 x86 implementation of floating point conversion operators.
r258 Refactoring sljit_emit_fop1 opcodes, inserting placeholders for new ones.
 1.1.1.4 17-Jun-2014  alnsn Import sljit 0.91 (svn r257).

The changes since the last import are:

r257: Add missing ADJUST_LOCAL_OFFSET for ARM64.
r256: Move incorrectly placed array definitions.
r255: More work on testing environment.
r254: Refactor test default output.
r253: Pass entry adress in r12 on PPC-LE.
r252: Optimize calls on MIPS-64.
r251: Several minor fixes.
r250: Add missing SLJIT_IS_FPU_AVAILABLE checks and reorder U and S flags.
r249: Optimize jumps on ARM-64.
r248: Optimize jumps on PowerPC.
r247: MIPS64 support is mostly finished.
r246: MIPS arithmetic.
r245: Start working on MIPS64.
r244: Uniform names for TILE-Gx.
r243: Uniform the names of ARM compilers.
r242: Change ll to l on x86 and rename some instructions on ARM-64.
r241: Improved memory access in PPC and reordering the parameter type flags.
r240: Prepare for more registers on ARM-Thumb2 and renaming TMP_REGISTER to TMP_REG1 on x86.
r239: Prepare for more registers on ARMv5.
r238: Prepare for more registers on TILE-Gx.
r237: Prepare for more registers on MIPS and SPARC.
r236: Prepare for more registers on PPC.
r235: Prepare for more registers on x86.
r234: Most tests are pass on ARM-64 now.
r233: Around 25 test cases are now pass on ARM-64.
r232: More progress on ARM-64 and Thumb2 refactoring.
r231: Some progress an ARM-64 and ARM-T2 refactoring.
r230: Thumb2 code refactoring.
r229: Start working on ARM-64.
r228: Little endian PowerPC systems are supported now by the JIT compiler.
r227: TileGX architecture is now supported. Patch made by Jiong Wang.
r226: Cache flush for android. Patch by Giuseppe D'Angelo.
r225: Add support for forcibly freeing unused executable memory. Inspired by Carsten Klein.
r224: Few typo fixes.
r223: Reorder madvise and posix_madvise.
r222: The missing sljit_get_float_register_index function is added.
r221: Remove an invalid shift on ARM.
r220: JIT compiler now supports 32 bit Macs thanks to Lawrence Velazquez.
r219: Better code size statistics.
r218: Improvements for x86 and LIR dump.
r217: ICC and SunPro C fixes
r216: A new file for tracking internal changes are added.
r215: Less GNU dependnet Makefile and Intel style assemby for x86-64 systems.
r214: Switch from stdcall to cdecl in x86-32.
r213: Upstreaming minor fixes. Thanks for Daniel Richard G.
r212: Documentation update and a fix for a locking issue.
r211: Renaming temporaries to scratches to match the new name of the register. Does not affect compatibility.
r210: Improving assertions.
r209: Port sljit to SunPro C compiler. Patch by Daniel Richard G.
r208: SLJIT_TEMPORARY_REGx registers are renamed to SLJIT_SCRATCH_REGx.
r207: Removing unused checks.
r206: Optimizations for arm.
r205: Some optimizations on powerpc, mips and sparc.
r204: Rename sljit_emit_cond_value to sljit_emit_op_flags.
r203: Small x86 optimization.
r202: Finish cond_value with AND and INT_OP.
r201: More x86 fixes and improvements.
r200: Rename buf and code to inst.
r199: Replacing constants with instruction names in x86. Greatly improves maintainability.
r198: Only xmm0-xmm5 is volatile on Win64, so xmm6 must be saved.
r197: PowerPC shift right always modifies the carry flag. We may need to restore it.
r196: Rename SLJIT_F* functions to SLJIT_*D
r195: SLJIT_INT_OP works in the same way as SLJIT_SINGLE_OP: the input register arguments must be generated by the output of another instruction with SLJIT_INT_OP flag
r194: Renaming sljit_w to sljit_sw, sljit_i to sljit_si, sljit_h to sljit_sh, and sljit_b to sljit_sb.
r193: ARM single precision support.
r192: Single precision support added for ppc, mips and sparc.
r191: Add single precision support. Only works on x86 now.
r190: Relace C types with sljit types. No functionality change.
r189: Change 0 to NULL for mmap.
r188: Support environments where MAP_ANON is not available.
r187: Adding type descriptors for pointers and doubles (preparing for x32 ABIs and single precision support).
 1.1.1.3 28-Oct-2012  alnsn branches: 1.1.1.3.2;
Import of sljit @ r186.

This version adds sparc architecture. Other changes:

r184: NAN to UNORDERED renaming and other fixes.
r180: Common caching in PPC and MIPS.
 1.1.1.2 21-Oct-2012  alnsn Import sljit @ r176.

r176: Add void to function definitions. Patch by Alexander Nasonov
 1.1.1.1 06-Oct-2012  alnsn Initial import of sljit @ r175.

svn co https://sljit.svn.sourceforge.net/svnroot/sljit@r175 dist
 1.1.1.3.2.3 16-Jan-2013  yamt sync with (a bit old) head
 1.1.1.3.2.2 30-Oct-2012  yamt sync with head
 1.1.1.3.2.1 28-Oct-2012  yamt file sljitLir.c was added on branch yamt-pagecache on 2012-10-30 17:22:21 +0000
 1.2.12.1 10-Aug-2014  tls Rebase.
 1.2.2.4 03-Dec-2017  jdolecek update from HEAD
 1.2.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.2.2 18-Nov-2012  alnsn Apply adapted patch from the author of sljit to fix cdecl functions
generation on i386.
 1.2.2.1 18-Nov-2012  alnsn file sljitLir.c was added on branch tls-maxphys on 2012-11-18 14:36:38 +0000
 1.4.4.1 09-Jul-2016  skrll Sync with HEAD
 1.5.18.1 10-Jun-2019  christos Sync with HEAD
 1.5.16.1 26-Jan-2019  pgoyette Sync with HEAD
 1.5 05-Dec-2021  msaitoh s/covert/convert/ in comment.
 1.4 20-Jan-2019  alnsn Resolve conflicts.
 1.3 29-May-2016  alnsn branches: 1.3.16; 1.3.18;
Resolve conflicts.
 1.2 17-Jun-2014  alnsn branches: 1.2.4;
Add $NetBSD$.
 1.1 06-Oct-2012  alnsn branches: 1.1.1;
Initial revision
 1.1.1.5 20-Jan-2019  alnsn Update sljit to version 0.93 (svn revision r333).

Changes since the last import:

r333 More x86 fixes and a new stack test.
r332 Improve stack allocation on x86.
r331 Make sljit_free_unused_memory_exec public, PPC flush takes priority.
r330 Reverse the stack utility to top-down.
r329 Add sljit_set_current_flags function.
r328 Add two more virtual registers to x86/32, ARM-32 refactor.
r327 Remove value caching on ARM-32.
r326 Remove value caching on ARM-Thumb2.
r325 Move with update rework.
r324 Arm32 store fixes.
r323 Update macros and remove copyright years.
r322 Reworking flags, removing keep flags.
r321 Quick fix for regexjit.
r320 Improve protected executable allocator. Patch insipred by Christian Persch.
r319 Fully support dynamic code modifications again.
r318 Support protected allocator on all architectures except TILEGX.
r317 Rework protected allocator, only x86 linux is supported now.
r316 Add protected executable allocator.
r315 Remove SLJIT_MEMMOVE.
r314 Fix unaligned accesses on x86. Patch by Marc Mutz.
 1.1.1.4 29-May-2016  alnsn Import sljit version r313.

Changes since the last import:

r313 Fix a racing condition reported by Mozilla.
r312 Support Android ARM64 cacheflush. Patch by Tavian Barnes.
r311 Update opcode dump.
r310 Better type specification for integer operations and conditional types.
r309 Better type specification for long mul and divide operators.
r308 Better type specification for floating point operations.
r307 Change d and s postfixes to f64 and f32.
r306 Change b,h,i postifxes to 8,16,32.
r305 Fix a wrong immediate number. Reported by Michael McConville.
r304 Make file patch by Michael McConville.
r303 Landed changes created by Michael McConville.
r302 Add support for cmov on x86.
r301 Tile-Gx fixes by Walter Lee
r300 Add WinCE support.
r299 Add a tutorial for SLJIT. Contributed by Wen Xichang.
r298 Improve integer division.
r297 Start reworking the integer division.
r296 Add an overview for SLJIT.
r295 Small optimizations for x86 and ARM64.
r294 Fix ARM64 SP alignment.
r293 Add a new sljit_set_compiler_memory_error function.
r292 Add missing argument on ARM32.
r291 Minor fixes and NOINLINE support.
r290 Support custom memory allocators.
r289 Add SLJIT_DOUBLE_ALIGNMENT support and emit_op_custom size check.
r288 Add suport for SLJIT_ARGUMENT_CHECKS on all architectures.
r287 Add SLJIT_ARGUMENT_CHECKS compiler option and lots of cleanups.
r286 Support the new naming on PPC and MIPS.
r285 Support the new naming on ARM and SPARC.
r284 Move the type letter to the beggining of the floating point opcodes.
r283 Add i_ s_ d_ froms to compare types.
r282 Fix an incorrect form of mul on x86-64.
r281 Refactoring sljitConfigInternal.h header.
r280 Remove variable locals offset.
r279 Test skips are not reported if verbose is disabled.
r278 Add options to sljit_emit_enter and sljit_set_context.
r277 Reindexing opX opcodes.
r276 Some comments are fixed and minor refactors were done.
r275 Minor optimizations.
r274 Extend the register set on ARM.
r273 Extend the register set on PPC, MIPS, SPARC.
r272 Allow remapping of any registers: not just scratch->saved, but saved->scratch as well.
r271 Renaming floating point registers to support more of them.
r270 Extend the register set on x86.
r269 Renaming integer registers for preparing the support of any all machine registers.
r268 Refactor a macro to work when debug is disabled.
r267 Introduce architecture macros without 32/64 bit postfix.
r266 The floating point conversion operators are finished on PPC, and they are supported on all architectures now.
r265 FPU operations support locals access now. CONW is supported on PPC now.
r264 Continue code refactoring, MOVS/MOVD are optimized on all architectures.
r263 SPARC implementation of floating point operators.
r262 Small refactorings.
r261 MIPS implementation of floating point conversion operators.
r260 ARM implementation of floating point operators.
r259 x86 implementation of floating point conversion operators.
r258 Refactoring sljit_emit_fop1 opcodes, inserting placeholders for new ones.
 1.1.1.3 17-Jun-2014  alnsn Import sljit 0.91 (svn r257).

The changes since the last import are:

r257: Add missing ADJUST_LOCAL_OFFSET for ARM64.
r256: Move incorrectly placed array definitions.
r255: More work on testing environment.
r254: Refactor test default output.
r253: Pass entry adress in r12 on PPC-LE.
r252: Optimize calls on MIPS-64.
r251: Several minor fixes.
r250: Add missing SLJIT_IS_FPU_AVAILABLE checks and reorder U and S flags.
r249: Optimize jumps on ARM-64.
r248: Optimize jumps on PowerPC.
r247: MIPS64 support is mostly finished.
r246: MIPS arithmetic.
r245: Start working on MIPS64.
r244: Uniform names for TILE-Gx.
r243: Uniform the names of ARM compilers.
r242: Change ll to l on x86 and rename some instructions on ARM-64.
r241: Improved memory access in PPC and reordering the parameter type flags.
r240: Prepare for more registers on ARM-Thumb2 and renaming TMP_REGISTER to TMP_REG1 on x86.
r239: Prepare for more registers on ARMv5.
r238: Prepare for more registers on TILE-Gx.
r237: Prepare for more registers on MIPS and SPARC.
r236: Prepare for more registers on PPC.
r235: Prepare for more registers on x86.
r234: Most tests are pass on ARM-64 now.
r233: Around 25 test cases are now pass on ARM-64.
r232: More progress on ARM-64 and Thumb2 refactoring.
r231: Some progress an ARM-64 and ARM-T2 refactoring.
r230: Thumb2 code refactoring.
r229: Start working on ARM-64.
r228: Little endian PowerPC systems are supported now by the JIT compiler.
r227: TileGX architecture is now supported. Patch made by Jiong Wang.
r226: Cache flush for android. Patch by Giuseppe D'Angelo.
r225: Add support for forcibly freeing unused executable memory. Inspired by Carsten Klein.
r224: Few typo fixes.
r223: Reorder madvise and posix_madvise.
r222: The missing sljit_get_float_register_index function is added.
r221: Remove an invalid shift on ARM.
r220: JIT compiler now supports 32 bit Macs thanks to Lawrence Velazquez.
r219: Better code size statistics.
r218: Improvements for x86 and LIR dump.
r217: ICC and SunPro C fixes
r216: A new file for tracking internal changes are added.
r215: Less GNU dependnet Makefile and Intel style assemby for x86-64 systems.
r214: Switch from stdcall to cdecl in x86-32.
r213: Upstreaming minor fixes. Thanks for Daniel Richard G.
r212: Documentation update and a fix for a locking issue.
r211: Renaming temporaries to scratches to match the new name of the register. Does not affect compatibility.
r210: Improving assertions.
r209: Port sljit to SunPro C compiler. Patch by Daniel Richard G.
r208: SLJIT_TEMPORARY_REGx registers are renamed to SLJIT_SCRATCH_REGx.
r207: Removing unused checks.
r206: Optimizations for arm.
r205: Some optimizations on powerpc, mips and sparc.
r204: Rename sljit_emit_cond_value to sljit_emit_op_flags.
r203: Small x86 optimization.
r202: Finish cond_value with AND and INT_OP.
r201: More x86 fixes and improvements.
r200: Rename buf and code to inst.
r199: Replacing constants with instruction names in x86. Greatly improves maintainability.
r198: Only xmm0-xmm5 is volatile on Win64, so xmm6 must be saved.
r197: PowerPC shift right always modifies the carry flag. We may need to restore it.
r196: Rename SLJIT_F* functions to SLJIT_*D
r195: SLJIT_INT_OP works in the same way as SLJIT_SINGLE_OP: the input register arguments must be generated by the output of another instruction with SLJIT_INT_OP flag
r194: Renaming sljit_w to sljit_sw, sljit_i to sljit_si, sljit_h to sljit_sh, and sljit_b to sljit_sb.
r193: ARM single precision support.
r192: Single precision support added for ppc, mips and sparc.
r191: Add single precision support. Only works on x86 now.
r190: Relace C types with sljit types. No functionality change.
r189: Change 0 to NULL for mmap.
r188: Support environments where MAP_ANON is not available.
r187: Adding type descriptors for pointers and doubles (preparing for x32 ABIs and single precision support).
 1.1.1.2 28-Oct-2012  alnsn branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.14;
Import of sljit @ r186.

This version adds sparc architecture. Other changes:

r184: NAN to UNORDERED renaming and other fixes.
r180: Common caching in PPC and MIPS.
 1.1.1.1 06-Oct-2012  alnsn Initial import of sljit @ r175.

svn co https://sljit.svn.sourceforge.net/svnroot/sljit@r175 dist
 1.1.1.2.14.1 10-Aug-2014  tls Rebase.
 1.1.1.2.4.4 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.4.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.4.2 28-Oct-2012  alnsn Import of sljit @ r186.

This version adds sparc architecture. Other changes:

r184: NAN to UNORDERED renaming and other fixes.
r180: Common caching in PPC and MIPS.
 1.1.1.2.4.1 28-Oct-2012  alnsn file sljitLir.h was added on branch tls-maxphys on 2012-10-28 09:36:22 +0000
 1.1.1.2.2.2 30-Oct-2012  yamt sync with head
 1.1.1.2.2.1 28-Oct-2012  yamt file sljitLir.h was added on branch yamt-pagecache on 2012-10-30 17:22:21 +0000
 1.2.4.1 09-Jul-2016  skrll Sync with HEAD
 1.3.18.1 10-Jun-2019  christos Sync with HEAD
 1.3.16.1 26-Jan-2019  pgoyette Sync with HEAD
 1.4 20-Jan-2019  alnsn Resolve conflicts.
 1.3 29-May-2016  alnsn branches: 1.3.16; 1.3.18;
Resolve conflicts.
 1.2 17-Jun-2014  alnsn branches: 1.2.2; 1.2.6; 1.2.8;
Add $NetBSD$.
 1.1 17-Jun-2014  alnsn branches: 1.1.1;
Initial revision
 1.1.1.3 20-Jan-2019  alnsn Update sljit to version 0.93 (svn revision r333).

Changes since the last import:

r333 More x86 fixes and a new stack test.
r332 Improve stack allocation on x86.
r331 Make sljit_free_unused_memory_exec public, PPC flush takes priority.
r330 Reverse the stack utility to top-down.
r329 Add sljit_set_current_flags function.
r328 Add two more virtual registers to x86/32, ARM-32 refactor.
r327 Remove value caching on ARM-32.
r326 Remove value caching on ARM-Thumb2.
r325 Move with update rework.
r324 Arm32 store fixes.
r323 Update macros and remove copyright years.
r322 Reworking flags, removing keep flags.
r321 Quick fix for regexjit.
r320 Improve protected executable allocator. Patch insipred by Christian Persch.
r319 Fully support dynamic code modifications again.
r318 Support protected allocator on all architectures except TILEGX.
r317 Rework protected allocator, only x86 linux is supported now.
r316 Add protected executable allocator.
r315 Remove SLJIT_MEMMOVE.
r314 Fix unaligned accesses on x86. Patch by Marc Mutz.
 1.1.1.2 29-May-2016  alnsn Import sljit version r313.

Changes since the last import:

r313 Fix a racing condition reported by Mozilla.
r312 Support Android ARM64 cacheflush. Patch by Tavian Barnes.
r311 Update opcode dump.
r310 Better type specification for integer operations and conditional types.
r309 Better type specification for long mul and divide operators.
r308 Better type specification for floating point operations.
r307 Change d and s postfixes to f64 and f32.
r306 Change b,h,i postifxes to 8,16,32.
r305 Fix a wrong immediate number. Reported by Michael McConville.
r304 Make file patch by Michael McConville.
r303 Landed changes created by Michael McConville.
r302 Add support for cmov on x86.
r301 Tile-Gx fixes by Walter Lee
r300 Add WinCE support.
r299 Add a tutorial for SLJIT. Contributed by Wen Xichang.
r298 Improve integer division.
r297 Start reworking the integer division.
r296 Add an overview for SLJIT.
r295 Small optimizations for x86 and ARM64.
r294 Fix ARM64 SP alignment.
r293 Add a new sljit_set_compiler_memory_error function.
r292 Add missing argument on ARM32.
r291 Minor fixes and NOINLINE support.
r290 Support custom memory allocators.
r289 Add SLJIT_DOUBLE_ALIGNMENT support and emit_op_custom size check.
r288 Add suport for SLJIT_ARGUMENT_CHECKS on all architectures.
r287 Add SLJIT_ARGUMENT_CHECKS compiler option and lots of cleanups.
r286 Support the new naming on PPC and MIPS.
r285 Support the new naming on ARM and SPARC.
r284 Move the type letter to the beggining of the floating point opcodes.
r283 Add i_ s_ d_ froms to compare types.
r282 Fix an incorrect form of mul on x86-64.
r281 Refactoring sljitConfigInternal.h header.
r280 Remove variable locals offset.
r279 Test skips are not reported if verbose is disabled.
r278 Add options to sljit_emit_enter and sljit_set_context.
r277 Reindexing opX opcodes.
r276 Some comments are fixed and minor refactors were done.
r275 Minor optimizations.
r274 Extend the register set on ARM.
r273 Extend the register set on PPC, MIPS, SPARC.
r272 Allow remapping of any registers: not just scratch->saved, but saved->scratch as well.
r271 Renaming floating point registers to support more of them.
r270 Extend the register set on x86.
r269 Renaming integer registers for preparing the support of any all machine registers.
r268 Refactor a macro to work when debug is disabled.
r267 Introduce architecture macros without 32/64 bit postfix.
r266 The floating point conversion operators are finished on PPC, and they are supported on all architectures now.
r265 FPU operations support locals access now. CONW is supported on PPC now.
r264 Continue code refactoring, MOVS/MOVD are optimized on all architectures.
r263 SPARC implementation of floating point operators.
r262 Small refactorings.
r261 MIPS implementation of floating point conversion operators.
r260 ARM implementation of floating point operators.
r259 x86 implementation of floating point conversion operators.
r258 Refactoring sljit_emit_fop1 opcodes, inserting placeholders for new ones.
 1.1.1.1 17-Jun-2014  alnsn Import sljit 0.91 (svn r257).

The changes since the last import are:

r257: Add missing ADJUST_LOCAL_OFFSET for ARM64.
r256: Move incorrectly placed array definitions.
r255: More work on testing environment.
r254: Refactor test default output.
r253: Pass entry adress in r12 on PPC-LE.
r252: Optimize calls on MIPS-64.
r251: Several minor fixes.
r250: Add missing SLJIT_IS_FPU_AVAILABLE checks and reorder U and S flags.
r249: Optimize jumps on ARM-64.
r248: Optimize jumps on PowerPC.
r247: MIPS64 support is mostly finished.
r246: MIPS arithmetic.
r245: Start working on MIPS64.
r244: Uniform names for TILE-Gx.
r243: Uniform the names of ARM compilers.
r242: Change ll to l on x86 and rename some instructions on ARM-64.
r241: Improved memory access in PPC and reordering the parameter type flags.
r240: Prepare for more registers on ARM-Thumb2 and renaming TMP_REGISTER to TMP_REG1 on x86.
r239: Prepare for more registers on ARMv5.
r238: Prepare for more registers on TILE-Gx.
r237: Prepare for more registers on MIPS and SPARC.
r236: Prepare for more registers on PPC.
r235: Prepare for more registers on x86.
r234: Most tests are pass on ARM-64 now.
r233: Around 25 test cases are now pass on ARM-64.
r232: More progress on ARM-64 and Thumb2 refactoring.
r231: Some progress an ARM-64 and ARM-T2 refactoring.
r230: Thumb2 code refactoring.
r229: Start working on ARM-64.
r228: Little endian PowerPC systems are supported now by the JIT compiler.
r227: TileGX architecture is now supported. Patch made by Jiong Wang.
r226: Cache flush for android. Patch by Giuseppe D'Angelo.
r225: Add support for forcibly freeing unused executable memory. Inspired by Carsten Klein.
r224: Few typo fixes.
r223: Reorder madvise and posix_madvise.
r222: The missing sljit_get_float_register_index function is added.
r221: Remove an invalid shift on ARM.
r220: JIT compiler now supports 32 bit Macs thanks to Lawrence Velazquez.
r219: Better code size statistics.
r218: Improvements for x86 and LIR dump.
r217: ICC and SunPro C fixes
r216: A new file for tracking internal changes are added.
r215: Less GNU dependnet Makefile and Intel style assemby for x86-64 systems.
r214: Switch from stdcall to cdecl in x86-32.
r213: Upstreaming minor fixes. Thanks for Daniel Richard G.
r212: Documentation update and a fix for a locking issue.
r211: Renaming temporaries to scratches to match the new name of the register. Does not affect compatibility.
r210: Improving assertions.
r209: Port sljit to SunPro C compiler. Patch by Daniel Richard G.
r208: SLJIT_TEMPORARY_REGx registers are renamed to SLJIT_SCRATCH_REGx.
r207: Removing unused checks.
r206: Optimizations for arm.
r205: Some optimizations on powerpc, mips and sparc.
r204: Rename sljit_emit_cond_value to sljit_emit_op_flags.
r203: Small x86 optimization.
r202: Finish cond_value with AND and INT_OP.
r201: More x86 fixes and improvements.
r200: Rename buf and code to inst.
r199: Replacing constants with instruction names in x86. Greatly improves maintainability.
r198: Only xmm0-xmm5 is volatile on Win64, so xmm6 must be saved.
r197: PowerPC shift right always modifies the carry flag. We may need to restore it.
r196: Rename SLJIT_F* functions to SLJIT_*D
r195: SLJIT_INT_OP works in the same way as SLJIT_SINGLE_OP: the input register arguments must be generated by the output of another instruction with SLJIT_INT_OP flag
r194: Renaming sljit_w to sljit_sw, sljit_i to sljit_si, sljit_h to sljit_sh, and sljit_b to sljit_sb.
r193: ARM single precision support.
r192: Single precision support added for ppc, mips and sparc.
r191: Add single precision support. Only works on x86 now.
r190: Relace C types with sljit types. No functionality change.
r189: Change 0 to NULL for mmap.
r188: Support environments where MAP_ANON is not available.
r187: Adding type descriptors for pointers and doubles (preparing for x32 ABIs and single precision support).
 1.2.8.1 09-Jul-2016  skrll Sync with HEAD
 1.2.6.3 03-Dec-2017  jdolecek update from HEAD
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 17-Jun-2014  tls file sljitNativeARM_32.c was added on branch tls-maxphys on 2014-08-20 00:04:25 +0000
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 17-Jun-2014  tls file sljitNativeARM_32.c was added on branch tls-earlyentropy on 2014-08-10 06:55:41 +0000
 1.3.18.1 10-Jun-2019  christos Sync with HEAD
 1.3.16.1 26-Jan-2019  pgoyette Sync with HEAD
 1.5 02-Apr-2024  riastradh sljit: Pacify -Wsign-compare.

If these sizes are negative, we're probably in trouble anyway, so
assert nonnegative here.

Needed to resolve PR 58103.
 1.4 20-Jan-2019  alnsn branches: 1.4.4; 1.4.30;
Resolve conflicts.
 1.3 29-May-2016  alnsn branches: 1.3.16; 1.3.18;
Resolve conflicts.
 1.2 17-Jun-2014  alnsn branches: 1.2.2; 1.2.6; 1.2.8;
Add $NetBSD$.
 1.1 17-Jun-2014  alnsn branches: 1.1.1;
Initial revision
 1.1.1.3 20-Jan-2019  alnsn Update sljit to version 0.93 (svn revision r333).

Changes since the last import:

r333 More x86 fixes and a new stack test.
r332 Improve stack allocation on x86.
r331 Make sljit_free_unused_memory_exec public, PPC flush takes priority.
r330 Reverse the stack utility to top-down.
r329 Add sljit_set_current_flags function.
r328 Add two more virtual registers to x86/32, ARM-32 refactor.
r327 Remove value caching on ARM-32.
r326 Remove value caching on ARM-Thumb2.
r325 Move with update rework.
r324 Arm32 store fixes.
r323 Update macros and remove copyright years.
r322 Reworking flags, removing keep flags.
r321 Quick fix for regexjit.
r320 Improve protected executable allocator. Patch insipred by Christian Persch.
r319 Fully support dynamic code modifications again.
r318 Support protected allocator on all architectures except TILEGX.
r317 Rework protected allocator, only x86 linux is supported now.
r316 Add protected executable allocator.
r315 Remove SLJIT_MEMMOVE.
r314 Fix unaligned accesses on x86. Patch by Marc Mutz.
 1.1.1.2 29-May-2016  alnsn Import sljit version r313.

Changes since the last import:

r313 Fix a racing condition reported by Mozilla.
r312 Support Android ARM64 cacheflush. Patch by Tavian Barnes.
r311 Update opcode dump.
r310 Better type specification for integer operations and conditional types.
r309 Better type specification for long mul and divide operators.
r308 Better type specification for floating point operations.
r307 Change d and s postfixes to f64 and f32.
r306 Change b,h,i postifxes to 8,16,32.
r305 Fix a wrong immediate number. Reported by Michael McConville.
r304 Make file patch by Michael McConville.
r303 Landed changes created by Michael McConville.
r302 Add support for cmov on x86.
r301 Tile-Gx fixes by Walter Lee
r300 Add WinCE support.
r299 Add a tutorial for SLJIT. Contributed by Wen Xichang.
r298 Improve integer division.
r297 Start reworking the integer division.
r296 Add an overview for SLJIT.
r295 Small optimizations for x86 and ARM64.
r294 Fix ARM64 SP alignment.
r293 Add a new sljit_set_compiler_memory_error function.
r292 Add missing argument on ARM32.
r291 Minor fixes and NOINLINE support.
r290 Support custom memory allocators.
r289 Add SLJIT_DOUBLE_ALIGNMENT support and emit_op_custom size check.
r288 Add suport for SLJIT_ARGUMENT_CHECKS on all architectures.
r287 Add SLJIT_ARGUMENT_CHECKS compiler option and lots of cleanups.
r286 Support the new naming on PPC and MIPS.
r285 Support the new naming on ARM and SPARC.
r284 Move the type letter to the beggining of the floating point opcodes.
r283 Add i_ s_ d_ froms to compare types.
r282 Fix an incorrect form of mul on x86-64.
r281 Refactoring sljitConfigInternal.h header.
r280 Remove variable locals offset.
r279 Test skips are not reported if verbose is disabled.
r278 Add options to sljit_emit_enter and sljit_set_context.
r277 Reindexing opX opcodes.
r276 Some comments are fixed and minor refactors were done.
r275 Minor optimizations.
r274 Extend the register set on ARM.
r273 Extend the register set on PPC, MIPS, SPARC.
r272 Allow remapping of any registers: not just scratch->saved, but saved->scratch as well.
r271 Renaming floating point registers to support more of them.
r270 Extend the register set on x86.
r269 Renaming integer registers for preparing the support of any all machine registers.
r268 Refactor a macro to work when debug is disabled.
r267 Introduce architecture macros without 32/64 bit postfix.
r266 The floating point conversion operators are finished on PPC, and they are supported on all architectures now.
r265 FPU operations support locals access now. CONW is supported on PPC now.
r264 Continue code refactoring, MOVS/MOVD are optimized on all architectures.
r263 SPARC implementation of floating point operators.
r262 Small refactorings.
r261 MIPS implementation of floating point conversion operators.
r260 ARM implementation of floating point operators.
r259 x86 implementation of floating point conversion operators.
r258 Refactoring sljit_emit_fop1 opcodes, inserting placeholders for new ones.
 1.1.1.1 17-Jun-2014  alnsn Import sljit 0.91 (svn r257).

The changes since the last import are:

r257: Add missing ADJUST_LOCAL_OFFSET for ARM64.
r256: Move incorrectly placed array definitions.
r255: More work on testing environment.
r254: Refactor test default output.
r253: Pass entry adress in r12 on PPC-LE.
r252: Optimize calls on MIPS-64.
r251: Several minor fixes.
r250: Add missing SLJIT_IS_FPU_AVAILABLE checks and reorder U and S flags.
r249: Optimize jumps on ARM-64.
r248: Optimize jumps on PowerPC.
r247: MIPS64 support is mostly finished.
r246: MIPS arithmetic.
r245: Start working on MIPS64.
r244: Uniform names for TILE-Gx.
r243: Uniform the names of ARM compilers.
r242: Change ll to l on x86 and rename some instructions on ARM-64.
r241: Improved memory access in PPC and reordering the parameter type flags.
r240: Prepare for more registers on ARM-Thumb2 and renaming TMP_REGISTER to TMP_REG1 on x86.
r239: Prepare for more registers on ARMv5.
r238: Prepare for more registers on TILE-Gx.
r237: Prepare for more registers on MIPS and SPARC.
r236: Prepare for more registers on PPC.
r235: Prepare for more registers on x86.
r234: Most tests are pass on ARM-64 now.
r233: Around 25 test cases are now pass on ARM-64.
r232: More progress on ARM-64 and Thumb2 refactoring.
r231: Some progress an ARM-64 and ARM-T2 refactoring.
r230: Thumb2 code refactoring.
r229: Start working on ARM-64.
r228: Little endian PowerPC systems are supported now by the JIT compiler.
r227: TileGX architecture is now supported. Patch made by Jiong Wang.
r226: Cache flush for android. Patch by Giuseppe D'Angelo.
r225: Add support for forcibly freeing unused executable memory. Inspired by Carsten Klein.
r224: Few typo fixes.
r223: Reorder madvise and posix_madvise.
r222: The missing sljit_get_float_register_index function is added.
r221: Remove an invalid shift on ARM.
r220: JIT compiler now supports 32 bit Macs thanks to Lawrence Velazquez.
r219: Better code size statistics.
r218: Improvements for x86 and LIR dump.
r217: ICC and SunPro C fixes
r216: A new file for tracking internal changes are added.
r215: Less GNU dependnet Makefile and Intel style assemby for x86-64 systems.
r214: Switch from stdcall to cdecl in x86-32.
r213: Upstreaming minor fixes. Thanks for Daniel Richard G.
r212: Documentation update and a fix for a locking issue.
r211: Renaming temporaries to scratches to match the new name of the register. Does not affect compatibility.
r210: Improving assertions.
r209: Port sljit to SunPro C compiler. Patch by Daniel Richard G.
r208: SLJIT_TEMPORARY_REGx registers are renamed to SLJIT_SCRATCH_REGx.
r207: Removing unused checks.
r206: Optimizations for arm.
r205: Some optimizations on powerpc, mips and sparc.
r204: Rename sljit_emit_cond_value to sljit_emit_op_flags.
r203: Small x86 optimization.
r202: Finish cond_value with AND and INT_OP.
r201: More x86 fixes and improvements.
r200: Rename buf and code to inst.
r199: Replacing constants with instruction names in x86. Greatly improves maintainability.
r198: Only xmm0-xmm5 is volatile on Win64, so xmm6 must be saved.
r197: PowerPC shift right always modifies the carry flag. We may need to restore it.
r196: Rename SLJIT_F* functions to SLJIT_*D
r195: SLJIT_INT_OP works in the same way as SLJIT_SINGLE_OP: the input register arguments must be generated by the output of another instruction with SLJIT_INT_OP flag
r194: Renaming sljit_w to sljit_sw, sljit_i to sljit_si, sljit_h to sljit_sh, and sljit_b to sljit_sb.
r193: ARM single precision support.
r192: Single precision support added for ppc, mips and sparc.
r191: Add single precision support. Only works on x86 now.
r190: Relace C types with sljit types. No functionality change.
r189: Change 0 to NULL for mmap.
r188: Support environments where MAP_ANON is not available.
r187: Adding type descriptors for pointers and doubles (preparing for x32 ABIs and single precision support).
 1.2.8.1 09-Jul-2016  skrll Sync with HEAD
 1.2.6.3 03-Dec-2017  jdolecek update from HEAD
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 17-Jun-2014  tls file sljitNativeARM_64.c was added on branch tls-maxphys on 2014-08-20 00:04:25 +0000
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 17-Jun-2014  tls file sljitNativeARM_64.c was added on branch tls-earlyentropy on 2014-08-10 06:55:41 +0000
 1.3.18.1 10-Jun-2019  christos Sync with HEAD
 1.3.16.1 26-Jan-2019  pgoyette Sync with HEAD
 1.4.30.1 18-Apr-2024  martin Pull up following revision(s) (requested by riastradh in ticket #655):

sys/modules/Makefile: revision 1.285
share/mk/bsd.own.mk: revision 1.1365
share/mk/bsd.own.mk: revision 1.1366
sys/arch/aarch64/include/sljit_machdep.h: revision 1.4
sys/external/bsd/sljit/dist/sljit_src/sljitNativeARM_64.c: revision 1.5

sljit: Pacify -Wsign-compare.

If these sizes are negative, we're probably in trouble anyway, so
assert nonnegative here.
Needed to resolve PR 58103.

bsd.own.mk: Enable MKLSJIT on aarch64.

Make sure there's only one copy of the conditional, in bsd.own.mk;
just make sys/modules/Makefile conditional on MKSLJIT so we don't
have to keep these in sync.

As a workaround for PR 58106, tweak the conditional definition of
SLJIT_CACHE_FLUSH to use cpu_icache_sync_range only in _HARDKERNEL,
and use __builtin___clear_cache in userland and in rump kernels.

PR 58103: bpfjit.kmod is not built on aarch64
bsd.own.mk: No need for MKSLJIT to be set differently from others.
- Use ?=, not =, so mk.conf setting wins.
- Write out per-architecture tabular settings, not a conditional.
- Add comments for the architectures that look like they should have
sljit but don't. (XXX Missing comments about powerpc and mips --
not sure why, is this because modules don't yet work on those
architectures, or what?)

Tidying for PR 58103: bpfjit.kmod is not built on aarch64.
 1.4.4.1 18-Apr-2024  martin Pull up following revision(s) (requested by riastradh in ticket #655):

sys/modules/Makefile: revision 1.285
share/mk/bsd.own.mk: revision 1.1365
share/mk/bsd.own.mk: revision 1.1366
sys/arch/aarch64/include/sljit_machdep.h: revision 1.4
sys/external/bsd/sljit/dist/sljit_src/sljitNativeARM_64.c: revision 1.5
(all via patch)

sljit: Pacify -Wsign-compare.

If these sizes are negative, we're probably in trouble anyway, so
assert nonnegative here.
Needed to resolve PR 58103.

bsd.own.mk: Enable MKLSJIT on aarch64.

Make sure there's only one copy of the conditional, in bsd.own.mk;
just make sys/modules/Makefile conditional on MKSLJIT so we don't
have to keep these in sync.

As a workaround for PR 58106, tweak the conditional definition of
SLJIT_CACHE_FLUSH to use cpu_icache_sync_range only in _HARDKERNEL,
and use __builtin___clear_cache in userland and in rump kernels.

PR 58103: bpfjit.kmod is not built on aarch64
bsd.own.mk: No need for MKSLJIT to be set differently from others.
- Use ?=, not =, so mk.conf setting wins.
- Write out per-architecture tabular settings, not a conditional.
- Add comments for the architectures that look like they should have
sljit but don't. (XXX Missing comments about powerpc and mips --
not sure why, is this because modules don't yet work on those
architectures, or what?)

Tidying for PR 58103: bpfjit.kmod is not built on aarch64.
 1.4 20-Jan-2019  alnsn Resolve conflicts.
 1.3 29-May-2016  alnsn branches: 1.3.16; 1.3.18;
Resolve conflicts.
 1.2 17-Jun-2014  alnsn branches: 1.2.2; 1.2.6; 1.2.8;
Add $NetBSD$.
 1.1 17-Jun-2014  alnsn branches: 1.1.1;
Initial revision
 1.1.1.3 20-Jan-2019  alnsn Update sljit to version 0.93 (svn revision r333).

Changes since the last import:

r333 More x86 fixes and a new stack test.
r332 Improve stack allocation on x86.
r331 Make sljit_free_unused_memory_exec public, PPC flush takes priority.
r330 Reverse the stack utility to top-down.
r329 Add sljit_set_current_flags function.
r328 Add two more virtual registers to x86/32, ARM-32 refactor.
r327 Remove value caching on ARM-32.
r326 Remove value caching on ARM-Thumb2.
r325 Move with update rework.
r324 Arm32 store fixes.
r323 Update macros and remove copyright years.
r322 Reworking flags, removing keep flags.
r321 Quick fix for regexjit.
r320 Improve protected executable allocator. Patch insipred by Christian Persch.
r319 Fully support dynamic code modifications again.
r318 Support protected allocator on all architectures except TILEGX.
r317 Rework protected allocator, only x86 linux is supported now.
r316 Add protected executable allocator.
r315 Remove SLJIT_MEMMOVE.
r314 Fix unaligned accesses on x86. Patch by Marc Mutz.
 1.1.1.2 29-May-2016  alnsn Import sljit version r313.

Changes since the last import:

r313 Fix a racing condition reported by Mozilla.
r312 Support Android ARM64 cacheflush. Patch by Tavian Barnes.
r311 Update opcode dump.
r310 Better type specification for integer operations and conditional types.
r309 Better type specification for long mul and divide operators.
r308 Better type specification for floating point operations.
r307 Change d and s postfixes to f64 and f32.
r306 Change b,h,i postifxes to 8,16,32.
r305 Fix a wrong immediate number. Reported by Michael McConville.
r304 Make file patch by Michael McConville.
r303 Landed changes created by Michael McConville.
r302 Add support for cmov on x86.
r301 Tile-Gx fixes by Walter Lee
r300 Add WinCE support.
r299 Add a tutorial for SLJIT. Contributed by Wen Xichang.
r298 Improve integer division.
r297 Start reworking the integer division.
r296 Add an overview for SLJIT.
r295 Small optimizations for x86 and ARM64.
r294 Fix ARM64 SP alignment.
r293 Add a new sljit_set_compiler_memory_error function.
r292 Add missing argument on ARM32.
r291 Minor fixes and NOINLINE support.
r290 Support custom memory allocators.
r289 Add SLJIT_DOUBLE_ALIGNMENT support and emit_op_custom size check.
r288 Add suport for SLJIT_ARGUMENT_CHECKS on all architectures.
r287 Add SLJIT_ARGUMENT_CHECKS compiler option and lots of cleanups.
r286 Support the new naming on PPC and MIPS.
r285 Support the new naming on ARM and SPARC.
r284 Move the type letter to the beggining of the floating point opcodes.
r283 Add i_ s_ d_ froms to compare types.
r282 Fix an incorrect form of mul on x86-64.
r281 Refactoring sljitConfigInternal.h header.
r280 Remove variable locals offset.
r279 Test skips are not reported if verbose is disabled.
r278 Add options to sljit_emit_enter and sljit_set_context.
r277 Reindexing opX opcodes.
r276 Some comments are fixed and minor refactors were done.
r275 Minor optimizations.
r274 Extend the register set on ARM.
r273 Extend the register set on PPC, MIPS, SPARC.
r272 Allow remapping of any registers: not just scratch->saved, but saved->scratch as well.
r271 Renaming floating point registers to support more of them.
r270 Extend the register set on x86.
r269 Renaming integer registers for preparing the support of any all machine registers.
r268 Refactor a macro to work when debug is disabled.
r267 Introduce architecture macros without 32/64 bit postfix.
r266 The floating point conversion operators are finished on PPC, and they are supported on all architectures now.
r265 FPU operations support locals access now. CONW is supported on PPC now.
r264 Continue code refactoring, MOVS/MOVD are optimized on all architectures.
r263 SPARC implementation of floating point operators.
r262 Small refactorings.
r261 MIPS implementation of floating point conversion operators.
r260 ARM implementation of floating point operators.
r259 x86 implementation of floating point conversion operators.
r258 Refactoring sljit_emit_fop1 opcodes, inserting placeholders for new ones.
 1.1.1.1 17-Jun-2014  alnsn Import sljit 0.91 (svn r257).

The changes since the last import are:

r257: Add missing ADJUST_LOCAL_OFFSET for ARM64.
r256: Move incorrectly placed array definitions.
r255: More work on testing environment.
r254: Refactor test default output.
r253: Pass entry adress in r12 on PPC-LE.
r252: Optimize calls on MIPS-64.
r251: Several minor fixes.
r250: Add missing SLJIT_IS_FPU_AVAILABLE checks and reorder U and S flags.
r249: Optimize jumps on ARM-64.
r248: Optimize jumps on PowerPC.
r247: MIPS64 support is mostly finished.
r246: MIPS arithmetic.
r245: Start working on MIPS64.
r244: Uniform names for TILE-Gx.
r243: Uniform the names of ARM compilers.
r242: Change ll to l on x86 and rename some instructions on ARM-64.
r241: Improved memory access in PPC and reordering the parameter type flags.
r240: Prepare for more registers on ARM-Thumb2 and renaming TMP_REGISTER to TMP_REG1 on x86.
r239: Prepare for more registers on ARMv5.
r238: Prepare for more registers on TILE-Gx.
r237: Prepare for more registers on MIPS and SPARC.
r236: Prepare for more registers on PPC.
r235: Prepare for more registers on x86.
r234: Most tests are pass on ARM-64 now.
r233: Around 25 test cases are now pass on ARM-64.
r232: More progress on ARM-64 and Thumb2 refactoring.
r231: Some progress an ARM-64 and ARM-T2 refactoring.
r230: Thumb2 code refactoring.
r229: Start working on ARM-64.
r228: Little endian PowerPC systems are supported now by the JIT compiler.
r227: TileGX architecture is now supported. Patch made by Jiong Wang.
r226: Cache flush for android. Patch by Giuseppe D'Angelo.
r225: Add support for forcibly freeing unused executable memory. Inspired by Carsten Klein.
r224: Few typo fixes.
r223: Reorder madvise and posix_madvise.
r222: The missing sljit_get_float_register_index function is added.
r221: Remove an invalid shift on ARM.
r220: JIT compiler now supports 32 bit Macs thanks to Lawrence Velazquez.
r219: Better code size statistics.
r218: Improvements for x86 and LIR dump.
r217: ICC and SunPro C fixes
r216: A new file for tracking internal changes are added.
r215: Less GNU dependnet Makefile and Intel style assemby for x86-64 systems.
r214: Switch from stdcall to cdecl in x86-32.
r213: Upstreaming minor fixes. Thanks for Daniel Richard G.
r212: Documentation update and a fix for a locking issue.
r211: Renaming temporaries to scratches to match the new name of the register. Does not affect compatibility.
r210: Improving assertions.
r209: Port sljit to SunPro C compiler. Patch by Daniel Richard G.
r208: SLJIT_TEMPORARY_REGx registers are renamed to SLJIT_SCRATCH_REGx.
r207: Removing unused checks.
r206: Optimizations for arm.
r205: Some optimizations on powerpc, mips and sparc.
r204: Rename sljit_emit_cond_value to sljit_emit_op_flags.
r203: Small x86 optimization.
r202: Finish cond_value with AND and INT_OP.
r201: More x86 fixes and improvements.
r200: Rename buf and code to inst.
r199: Replacing constants with instruction names in x86. Greatly improves maintainability.
r198: Only xmm0-xmm5 is volatile on Win64, so xmm6 must be saved.
r197: PowerPC shift right always modifies the carry flag. We may need to restore it.
r196: Rename SLJIT_F* functions to SLJIT_*D
r195: SLJIT_INT_OP works in the same way as SLJIT_SINGLE_OP: the input register arguments must be generated by the output of another instruction with SLJIT_INT_OP flag
r194: Renaming sljit_w to sljit_sw, sljit_i to sljit_si, sljit_h to sljit_sh, and sljit_b to sljit_sb.
r193: ARM single precision support.
r192: Single precision support added for ppc, mips and sparc.
r191: Add single precision support. Only works on x86 now.
r190: Relace C types with sljit types. No functionality change.
r189: Change 0 to NULL for mmap.
r188: Support environments where MAP_ANON is not available.
r187: Adding type descriptors for pointers and doubles (preparing for x32 ABIs and single precision support).
 1.2.8.1 09-Jul-2016  skrll Sync with HEAD
 1.2.6.3 03-Dec-2017  jdolecek update from HEAD
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 17-Jun-2014  tls file sljitNativeARM_T2_32.c was added on branch tls-maxphys on 2014-08-20 00:04:25 +0000
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 17-Jun-2014  tls file sljitNativeARM_T2_32.c was added on branch tls-earlyentropy on 2014-08-10 06:55:41 +0000
 1.3.18.1 10-Jun-2019  christos Sync with HEAD
 1.3.16.1 26-Jan-2019  pgoyette Sync with HEAD
 1.2 17-Jun-2014  alnsn Resolve conflicts.
 1.1 06-Oct-2012  alnsn branches: 1.1.1;
Initial revision
 1.1.1.3 28-Oct-2012  alnsn branches: 1.1.1.3.2; 1.1.1.3.4; 1.1.1.3.14;
Import of sljit @ r186.

This version adds sparc architecture. Other changes:

r184: NAN to UNORDERED renaming and other fixes.
r180: Common caching in PPC and MIPS.
 1.1.1.2 21-Oct-2012  alnsn Import sljit @ r176.

r176: Add void to function definitions. Patch by Alexander Nasonov
 1.1.1.1 06-Oct-2012  alnsn Initial import of sljit @ r175.

svn co https://sljit.svn.sourceforge.net/svnroot/sljit@r175 dist
 1.1.1.3.14.1 10-Aug-2014  tls Rebase.
 1.1.1.3.4.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.3.4.2 28-Oct-2012  alnsn Import of sljit @ r186.

This version adds sparc architecture. Other changes:

r184: NAN to UNORDERED renaming and other fixes.
r180: Common caching in PPC and MIPS.
 1.1.1.3.4.1 28-Oct-2012  alnsn file sljitNativeARM_Thumb2.c was added on branch tls-maxphys on 2012-10-28 09:36:25 +0000
 1.1.1.3.2.2 30-Oct-2012  yamt sync with head
 1.1.1.3.2.1 28-Oct-2012  yamt file sljitNativeARM_Thumb2.c was added on branch yamt-pagecache on 2012-10-30 17:22:21 +0000
 1.2 17-Jun-2014  alnsn Resolve conflicts.
 1.1 06-Oct-2012  alnsn branches: 1.1.1;
Initial revision
 1.1.1.3 28-Oct-2012  alnsn branches: 1.1.1.3.2; 1.1.1.3.4; 1.1.1.3.14;
Import of sljit @ r186.

This version adds sparc architecture. Other changes:

r184: NAN to UNORDERED renaming and other fixes.
r180: Common caching in PPC and MIPS.
 1.1.1.2 21-Oct-2012  alnsn Import sljit @ r176.

r176: Add void to function definitions. Patch by Alexander Nasonov
 1.1.1.1 06-Oct-2012  alnsn Initial import of sljit @ r175.

svn co https://sljit.svn.sourceforge.net/svnroot/sljit@r175 dist
 1.1.1.3.14.1 10-Aug-2014  tls Rebase.
 1.1.1.3.4.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.3.4.2 28-Oct-2012  alnsn Import of sljit @ r186.

This version adds sparc architecture. Other changes:

r184: NAN to UNORDERED renaming and other fixes.
r180: Common caching in PPC and MIPS.
 1.1.1.3.4.1 28-Oct-2012  alnsn file sljitNativeARM_v5.c was added on branch tls-maxphys on 2012-10-28 09:36:23 +0000
 1.1.1.3.2.2 30-Oct-2012  yamt sync with head
 1.1.1.3.2.1 28-Oct-2012  yamt file sljitNativeARM_v5.c was added on branch yamt-pagecache on 2012-10-30 17:22:21 +0000
 1.4 20-Jan-2019  alnsn Resolve conflicts.
 1.3 29-May-2016  alnsn branches: 1.3.16; 1.3.18;
Resolve conflicts.
 1.2 17-Jun-2014  alnsn branches: 1.2.4;
Add $NetBSD$.
 1.1 06-Oct-2012  alnsn branches: 1.1.1;
Initial revision
 1.1.1.5 20-Jan-2019  alnsn Update sljit to version 0.93 (svn revision r333).

Changes since the last import:

r333 More x86 fixes and a new stack test.
r332 Improve stack allocation on x86.
r331 Make sljit_free_unused_memory_exec public, PPC flush takes priority.
r330 Reverse the stack utility to top-down.
r329 Add sljit_set_current_flags function.
r328 Add two more virtual registers to x86/32, ARM-32 refactor.
r327 Remove value caching on ARM-32.
r326 Remove value caching on ARM-Thumb2.
r325 Move with update rework.
r324 Arm32 store fixes.
r323 Update macros and remove copyright years.
r322 Reworking flags, removing keep flags.
r321 Quick fix for regexjit.
r320 Improve protected executable allocator. Patch insipred by Christian Persch.
r319 Fully support dynamic code modifications again.
r318 Support protected allocator on all architectures except TILEGX.
r317 Rework protected allocator, only x86 linux is supported now.
r316 Add protected executable allocator.
r315 Remove SLJIT_MEMMOVE.
r314 Fix unaligned accesses on x86. Patch by Marc Mutz.
 1.1.1.4 29-May-2016  alnsn Import sljit version r313.

Changes since the last import:

r313 Fix a racing condition reported by Mozilla.
r312 Support Android ARM64 cacheflush. Patch by Tavian Barnes.
r311 Update opcode dump.
r310 Better type specification for integer operations and conditional types.
r309 Better type specification for long mul and divide operators.
r308 Better type specification for floating point operations.
r307 Change d and s postfixes to f64 and f32.
r306 Change b,h,i postifxes to 8,16,32.
r305 Fix a wrong immediate number. Reported by Michael McConville.
r304 Make file patch by Michael McConville.
r303 Landed changes created by Michael McConville.
r302 Add support for cmov on x86.
r301 Tile-Gx fixes by Walter Lee
r300 Add WinCE support.
r299 Add a tutorial for SLJIT. Contributed by Wen Xichang.
r298 Improve integer division.
r297 Start reworking the integer division.
r296 Add an overview for SLJIT.
r295 Small optimizations for x86 and ARM64.
r294 Fix ARM64 SP alignment.
r293 Add a new sljit_set_compiler_memory_error function.
r292 Add missing argument on ARM32.
r291 Minor fixes and NOINLINE support.
r290 Support custom memory allocators.
r289 Add SLJIT_DOUBLE_ALIGNMENT support and emit_op_custom size check.
r288 Add suport for SLJIT_ARGUMENT_CHECKS on all architectures.
r287 Add SLJIT_ARGUMENT_CHECKS compiler option and lots of cleanups.
r286 Support the new naming on PPC and MIPS.
r285 Support the new naming on ARM and SPARC.
r284 Move the type letter to the beggining of the floating point opcodes.
r283 Add i_ s_ d_ froms to compare types.
r282 Fix an incorrect form of mul on x86-64.
r281 Refactoring sljitConfigInternal.h header.
r280 Remove variable locals offset.
r279 Test skips are not reported if verbose is disabled.
r278 Add options to sljit_emit_enter and sljit_set_context.
r277 Reindexing opX opcodes.
r276 Some comments are fixed and minor refactors were done.
r275 Minor optimizations.
r274 Extend the register set on ARM.
r273 Extend the register set on PPC, MIPS, SPARC.
r272 Allow remapping of any registers: not just scratch->saved, but saved->scratch as well.
r271 Renaming floating point registers to support more of them.
r270 Extend the register set on x86.
r269 Renaming integer registers for preparing the support of any all machine registers.
r268 Refactor a macro to work when debug is disabled.
r267 Introduce architecture macros without 32/64 bit postfix.
r266 The floating point conversion operators are finished on PPC, and they are supported on all architectures now.
r265 FPU operations support locals access now. CONW is supported on PPC now.
r264 Continue code refactoring, MOVS/MOVD are optimized on all architectures.
r263 SPARC implementation of floating point operators.
r262 Small refactorings.
r261 MIPS implementation of floating point conversion operators.
r260 ARM implementation of floating point operators.
r259 x86 implementation of floating point conversion operators.
r258 Refactoring sljit_emit_fop1 opcodes, inserting placeholders for new ones.
 1.1.1.3 17-Jun-2014  alnsn Import sljit 0.91 (svn r257).

The changes since the last import are:

r257: Add missing ADJUST_LOCAL_OFFSET for ARM64.
r256: Move incorrectly placed array definitions.
r255: More work on testing environment.
r254: Refactor test default output.
r253: Pass entry adress in r12 on PPC-LE.
r252: Optimize calls on MIPS-64.
r251: Several minor fixes.
r250: Add missing SLJIT_IS_FPU_AVAILABLE checks and reorder U and S flags.
r249: Optimize jumps on ARM-64.
r248: Optimize jumps on PowerPC.
r247: MIPS64 support is mostly finished.
r246: MIPS arithmetic.
r245: Start working on MIPS64.
r244: Uniform names for TILE-Gx.
r243: Uniform the names of ARM compilers.
r242: Change ll to l on x86 and rename some instructions on ARM-64.
r241: Improved memory access in PPC and reordering the parameter type flags.
r240: Prepare for more registers on ARM-Thumb2 and renaming TMP_REGISTER to TMP_REG1 on x86.
r239: Prepare for more registers on ARMv5.
r238: Prepare for more registers on TILE-Gx.
r237: Prepare for more registers on MIPS and SPARC.
r236: Prepare for more registers on PPC.
r235: Prepare for more registers on x86.
r234: Most tests are pass on ARM-64 now.
r233: Around 25 test cases are now pass on ARM-64.
r232: More progress on ARM-64 and Thumb2 refactoring.
r231: Some progress an ARM-64 and ARM-T2 refactoring.
r230: Thumb2 code refactoring.
r229: Start working on ARM-64.
r228: Little endian PowerPC systems are supported now by the JIT compiler.
r227: TileGX architecture is now supported. Patch made by Jiong Wang.
r226: Cache flush for android. Patch by Giuseppe D'Angelo.
r225: Add support for forcibly freeing unused executable memory. Inspired by Carsten Klein.
r224: Few typo fixes.
r223: Reorder madvise and posix_madvise.
r222: The missing sljit_get_float_register_index function is added.
r221: Remove an invalid shift on ARM.
r220: JIT compiler now supports 32 bit Macs thanks to Lawrence Velazquez.
r219: Better code size statistics.
r218: Improvements for x86 and LIR dump.
r217: ICC and SunPro C fixes
r216: A new file for tracking internal changes are added.
r215: Less GNU dependnet Makefile and Intel style assemby for x86-64 systems.
r214: Switch from stdcall to cdecl in x86-32.
r213: Upstreaming minor fixes. Thanks for Daniel Richard G.
r212: Documentation update and a fix for a locking issue.
r211: Renaming temporaries to scratches to match the new name of the register. Does not affect compatibility.
r210: Improving assertions.
r209: Port sljit to SunPro C compiler. Patch by Daniel Richard G.
r208: SLJIT_TEMPORARY_REGx registers are renamed to SLJIT_SCRATCH_REGx.
r207: Removing unused checks.
r206: Optimizations for arm.
r205: Some optimizations on powerpc, mips and sparc.
r204: Rename sljit_emit_cond_value to sljit_emit_op_flags.
r203: Small x86 optimization.
r202: Finish cond_value with AND and INT_OP.
r201: More x86 fixes and improvements.
r200: Rename buf and code to inst.
r199: Replacing constants with instruction names in x86. Greatly improves maintainability.
r198: Only xmm0-xmm5 is volatile on Win64, so xmm6 must be saved.
r197: PowerPC shift right always modifies the carry flag. We may need to restore it.
r196: Rename SLJIT_F* functions to SLJIT_*D
r195: SLJIT_INT_OP works in the same way as SLJIT_SINGLE_OP: the input register arguments must be generated by the output of another instruction with SLJIT_INT_OP flag
r194: Renaming sljit_w to sljit_sw, sljit_i to sljit_si, sljit_h to sljit_sh, and sljit_b to sljit_sb.
r193: ARM single precision support.
r192: Single precision support added for ppc, mips and sparc.
r191: Add single precision support. Only works on x86 now.
r190: Relace C types with sljit types. No functionality change.
r189: Change 0 to NULL for mmap.
r188: Support environments where MAP_ANON is not available.
r187: Adding type descriptors for pointers and doubles (preparing for x32 ABIs and single precision support).
 1.1.1.2 28-Oct-2012  alnsn branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.14;
Import of sljit @ r186.

This version adds sparc architecture. Other changes:

r184: NAN to UNORDERED renaming and other fixes.
r180: Common caching in PPC and MIPS.
 1.1.1.1 06-Oct-2012  alnsn Initial import of sljit @ r175.

svn co https://sljit.svn.sourceforge.net/svnroot/sljit@r175 dist
 1.1.1.2.14.1 10-Aug-2014  tls Rebase.
 1.1.1.2.4.4 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.4.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.4.2 28-Oct-2012  alnsn Import of sljit @ r186.

This version adds sparc architecture. Other changes:

r184: NAN to UNORDERED renaming and other fixes.
r180: Common caching in PPC and MIPS.
 1.1.1.2.4.1 28-Oct-2012  alnsn file sljitNativeMIPS_32.c was added on branch tls-maxphys on 2012-10-28 09:36:25 +0000
 1.1.1.2.2.2 30-Oct-2012  yamt sync with head
 1.1.1.2.2.1 28-Oct-2012  yamt file sljitNativeMIPS_32.c was added on branch yamt-pagecache on 2012-10-30 17:22:21 +0000
 1.2.4.1 09-Jul-2016  skrll Sync with HEAD
 1.3.18.1 10-Jun-2019  christos Sync with HEAD
 1.3.16.1 26-Jan-2019  pgoyette Sync with HEAD
 1.4 20-Jan-2019  alnsn Resolve conflicts.
 1.3 29-May-2016  alnsn branches: 1.3.16; 1.3.18;
Resolve conflicts.
 1.2 17-Jun-2014  alnsn branches: 1.2.2; 1.2.6; 1.2.8;
Add $NetBSD$.
 1.1 17-Jun-2014  alnsn branches: 1.1.1;
Initial revision
 1.1.1.3 20-Jan-2019  alnsn Update sljit to version 0.93 (svn revision r333).

Changes since the last import:

r333 More x86 fixes and a new stack test.
r332 Improve stack allocation on x86.
r331 Make sljit_free_unused_memory_exec public, PPC flush takes priority.
r330 Reverse the stack utility to top-down.
r329 Add sljit_set_current_flags function.
r328 Add two more virtual registers to x86/32, ARM-32 refactor.
r327 Remove value caching on ARM-32.
r326 Remove value caching on ARM-Thumb2.
r325 Move with update rework.
r324 Arm32 store fixes.
r323 Update macros and remove copyright years.
r322 Reworking flags, removing keep flags.
r321 Quick fix for regexjit.
r320 Improve protected executable allocator. Patch insipred by Christian Persch.
r319 Fully support dynamic code modifications again.
r318 Support protected allocator on all architectures except TILEGX.
r317 Rework protected allocator, only x86 linux is supported now.
r316 Add protected executable allocator.
r315 Remove SLJIT_MEMMOVE.
r314 Fix unaligned accesses on x86. Patch by Marc Mutz.
 1.1.1.2 29-May-2016  alnsn Import sljit version r313.

Changes since the last import:

r313 Fix a racing condition reported by Mozilla.
r312 Support Android ARM64 cacheflush. Patch by Tavian Barnes.
r311 Update opcode dump.
r310 Better type specification for integer operations and conditional types.
r309 Better type specification for long mul and divide operators.
r308 Better type specification for floating point operations.
r307 Change d and s postfixes to f64 and f32.
r306 Change b,h,i postifxes to 8,16,32.
r305 Fix a wrong immediate number. Reported by Michael McConville.
r304 Make file patch by Michael McConville.
r303 Landed changes created by Michael McConville.
r302 Add support for cmov on x86.
r301 Tile-Gx fixes by Walter Lee
r300 Add WinCE support.
r299 Add a tutorial for SLJIT. Contributed by Wen Xichang.
r298 Improve integer division.
r297 Start reworking the integer division.
r296 Add an overview for SLJIT.
r295 Small optimizations for x86 and ARM64.
r294 Fix ARM64 SP alignment.
r293 Add a new sljit_set_compiler_memory_error function.
r292 Add missing argument on ARM32.
r291 Minor fixes and NOINLINE support.
r290 Support custom memory allocators.
r289 Add SLJIT_DOUBLE_ALIGNMENT support and emit_op_custom size check.
r288 Add suport for SLJIT_ARGUMENT_CHECKS on all architectures.
r287 Add SLJIT_ARGUMENT_CHECKS compiler option and lots of cleanups.
r286 Support the new naming on PPC and MIPS.
r285 Support the new naming on ARM and SPARC.
r284 Move the type letter to the beggining of the floating point opcodes.
r283 Add i_ s_ d_ froms to compare types.
r282 Fix an incorrect form of mul on x86-64.
r281 Refactoring sljitConfigInternal.h header.
r280 Remove variable locals offset.
r279 Test skips are not reported if verbose is disabled.
r278 Add options to sljit_emit_enter and sljit_set_context.
r277 Reindexing opX opcodes.
r276 Some comments are fixed and minor refactors were done.
r275 Minor optimizations.
r274 Extend the register set on ARM.
r273 Extend the register set on PPC, MIPS, SPARC.
r272 Allow remapping of any registers: not just scratch->saved, but saved->scratch as well.
r271 Renaming floating point registers to support more of them.
r270 Extend the register set on x86.
r269 Renaming integer registers for preparing the support of any all machine registers.
r268 Refactor a macro to work when debug is disabled.
r267 Introduce architecture macros without 32/64 bit postfix.
r266 The floating point conversion operators are finished on PPC, and they are supported on all architectures now.
r265 FPU operations support locals access now. CONW is supported on PPC now.
r264 Continue code refactoring, MOVS/MOVD are optimized on all architectures.
r263 SPARC implementation of floating point operators.
r262 Small refactorings.
r261 MIPS implementation of floating point conversion operators.
r260 ARM implementation of floating point operators.
r259 x86 implementation of floating point conversion operators.
r258 Refactoring sljit_emit_fop1 opcodes, inserting placeholders for new ones.
 1.1.1.1 17-Jun-2014  alnsn Import sljit 0.91 (svn r257).

The changes since the last import are:

r257: Add missing ADJUST_LOCAL_OFFSET for ARM64.
r256: Move incorrectly placed array definitions.
r255: More work on testing environment.
r254: Refactor test default output.
r253: Pass entry adress in r12 on PPC-LE.
r252: Optimize calls on MIPS-64.
r251: Several minor fixes.
r250: Add missing SLJIT_IS_FPU_AVAILABLE checks and reorder U and S flags.
r249: Optimize jumps on ARM-64.
r248: Optimize jumps on PowerPC.
r247: MIPS64 support is mostly finished.
r246: MIPS arithmetic.
r245: Start working on MIPS64.
r244: Uniform names for TILE-Gx.
r243: Uniform the names of ARM compilers.
r242: Change ll to l on x86 and rename some instructions on ARM-64.
r241: Improved memory access in PPC and reordering the parameter type flags.
r240: Prepare for more registers on ARM-Thumb2 and renaming TMP_REGISTER to TMP_REG1 on x86.
r239: Prepare for more registers on ARMv5.
r238: Prepare for more registers on TILE-Gx.
r237: Prepare for more registers on MIPS and SPARC.
r236: Prepare for more registers on PPC.
r235: Prepare for more registers on x86.
r234: Most tests are pass on ARM-64 now.
r233: Around 25 test cases are now pass on ARM-64.
r232: More progress on ARM-64 and Thumb2 refactoring.
r231: Some progress an ARM-64 and ARM-T2 refactoring.
r230: Thumb2 code refactoring.
r229: Start working on ARM-64.
r228: Little endian PowerPC systems are supported now by the JIT compiler.
r227: TileGX architecture is now supported. Patch made by Jiong Wang.
r226: Cache flush for android. Patch by Giuseppe D'Angelo.
r225: Add support for forcibly freeing unused executable memory. Inspired by Carsten Klein.
r224: Few typo fixes.
r223: Reorder madvise and posix_madvise.
r222: The missing sljit_get_float_register_index function is added.
r221: Remove an invalid shift on ARM.
r220: JIT compiler now supports 32 bit Macs thanks to Lawrence Velazquez.
r219: Better code size statistics.
r218: Improvements for x86 and LIR dump.
r217: ICC and SunPro C fixes
r216: A new file for tracking internal changes are added.
r215: Less GNU dependnet Makefile and Intel style assemby for x86-64 systems.
r214: Switch from stdcall to cdecl in x86-32.
r213: Upstreaming minor fixes. Thanks for Daniel Richard G.
r212: Documentation update and a fix for a locking issue.
r211: Renaming temporaries to scratches to match the new name of the register. Does not affect compatibility.
r210: Improving assertions.
r209: Port sljit to SunPro C compiler. Patch by Daniel Richard G.
r208: SLJIT_TEMPORARY_REGx registers are renamed to SLJIT_SCRATCH_REGx.
r207: Removing unused checks.
r206: Optimizations for arm.
r205: Some optimizations on powerpc, mips and sparc.
r204: Rename sljit_emit_cond_value to sljit_emit_op_flags.
r203: Small x86 optimization.
r202: Finish cond_value with AND and INT_OP.
r201: More x86 fixes and improvements.
r200: Rename buf and code to inst.
r199: Replacing constants with instruction names in x86. Greatly improves maintainability.
r198: Only xmm0-xmm5 is volatile on Win64, so xmm6 must be saved.
r197: PowerPC shift right always modifies the carry flag. We may need to restore it.
r196: Rename SLJIT_F* functions to SLJIT_*D
r195: SLJIT_INT_OP works in the same way as SLJIT_SINGLE_OP: the input register arguments must be generated by the output of another instruction with SLJIT_INT_OP flag
r194: Renaming sljit_w to sljit_sw, sljit_i to sljit_si, sljit_h to sljit_sh, and sljit_b to sljit_sb.
r193: ARM single precision support.
r192: Single precision support added for ppc, mips and sparc.
r191: Add single precision support. Only works on x86 now.
r190: Relace C types with sljit types. No functionality change.
r189: Change 0 to NULL for mmap.
r188: Support environments where MAP_ANON is not available.
r187: Adding type descriptors for pointers and doubles (preparing for x32 ABIs and single precision support).
 1.2.8.1 09-Jul-2016  skrll Sync with HEAD
 1.2.6.3 03-Dec-2017  jdolecek update from HEAD
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 17-Jun-2014  tls file sljitNativeMIPS_64.c was added on branch tls-maxphys on 2014-08-20 00:04:25 +0000
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 17-Jun-2014  tls file sljitNativeMIPS_64.c was added on branch tls-earlyentropy on 2014-08-10 06:55:41 +0000
 1.3.18.1 10-Jun-2019  christos Sync with HEAD
 1.3.16.1 26-Jan-2019  pgoyette Sync with HEAD
 1.5 30-Apr-2025  nia sljit: avoid compiler warning due to switch fallthru on mips

Unsure why, but this is only a problem when building sljit in
userspace via rump, which we don't do by default on mips,
although it's included in the OCTEON kernel.

Not enough to allow setting MKSLJIT=yes on mips but gets us
closer.
 1.4 20-Jan-2019  alnsn branches: 1.4.36;
Resolve conflicts.
 1.3 29-May-2016  alnsn branches: 1.3.16; 1.3.18;
Resolve conflicts.
 1.2 17-Jun-2014  alnsn branches: 1.2.4;
Add $NetBSD$.
 1.1 06-Oct-2012  alnsn branches: 1.1.1;
Initial revision
 1.1.1.6 20-Jan-2019  alnsn Update sljit to version 0.93 (svn revision r333).

Changes since the last import:

r333 More x86 fixes and a new stack test.
r332 Improve stack allocation on x86.
r331 Make sljit_free_unused_memory_exec public, PPC flush takes priority.
r330 Reverse the stack utility to top-down.
r329 Add sljit_set_current_flags function.
r328 Add two more virtual registers to x86/32, ARM-32 refactor.
r327 Remove value caching on ARM-32.
r326 Remove value caching on ARM-Thumb2.
r325 Move with update rework.
r324 Arm32 store fixes.
r323 Update macros and remove copyright years.
r322 Reworking flags, removing keep flags.
r321 Quick fix for regexjit.
r320 Improve protected executable allocator. Patch insipred by Christian Persch.
r319 Fully support dynamic code modifications again.
r318 Support protected allocator on all architectures except TILEGX.
r317 Rework protected allocator, only x86 linux is supported now.
r316 Add protected executable allocator.
r315 Remove SLJIT_MEMMOVE.
r314 Fix unaligned accesses on x86. Patch by Marc Mutz.
 1.1.1.5 29-May-2016  alnsn Import sljit version r313.

Changes since the last import:

r313 Fix a racing condition reported by Mozilla.
r312 Support Android ARM64 cacheflush. Patch by Tavian Barnes.
r311 Update opcode dump.
r310 Better type specification for integer operations and conditional types.
r309 Better type specification for long mul and divide operators.
r308 Better type specification for floating point operations.
r307 Change d and s postfixes to f64 and f32.
r306 Change b,h,i postifxes to 8,16,32.
r305 Fix a wrong immediate number. Reported by Michael McConville.
r304 Make file patch by Michael McConville.
r303 Landed changes created by Michael McConville.
r302 Add support for cmov on x86.
r301 Tile-Gx fixes by Walter Lee
r300 Add WinCE support.
r299 Add a tutorial for SLJIT. Contributed by Wen Xichang.
r298 Improve integer division.
r297 Start reworking the integer division.
r296 Add an overview for SLJIT.
r295 Small optimizations for x86 and ARM64.
r294 Fix ARM64 SP alignment.
r293 Add a new sljit_set_compiler_memory_error function.
r292 Add missing argument on ARM32.
r291 Minor fixes and NOINLINE support.
r290 Support custom memory allocators.
r289 Add SLJIT_DOUBLE_ALIGNMENT support and emit_op_custom size check.
r288 Add suport for SLJIT_ARGUMENT_CHECKS on all architectures.
r287 Add SLJIT_ARGUMENT_CHECKS compiler option and lots of cleanups.
r286 Support the new naming on PPC and MIPS.
r285 Support the new naming on ARM and SPARC.
r284 Move the type letter to the beggining of the floating point opcodes.
r283 Add i_ s_ d_ froms to compare types.
r282 Fix an incorrect form of mul on x86-64.
r281 Refactoring sljitConfigInternal.h header.
r280 Remove variable locals offset.
r279 Test skips are not reported if verbose is disabled.
r278 Add options to sljit_emit_enter and sljit_set_context.
r277 Reindexing opX opcodes.
r276 Some comments are fixed and minor refactors were done.
r275 Minor optimizations.
r274 Extend the register set on ARM.
r273 Extend the register set on PPC, MIPS, SPARC.
r272 Allow remapping of any registers: not just scratch->saved, but saved->scratch as well.
r271 Renaming floating point registers to support more of them.
r270 Extend the register set on x86.
r269 Renaming integer registers for preparing the support of any all machine registers.
r268 Refactor a macro to work when debug is disabled.
r267 Introduce architecture macros without 32/64 bit postfix.
r266 The floating point conversion operators are finished on PPC, and they are supported on all architectures now.
r265 FPU operations support locals access now. CONW is supported on PPC now.
r264 Continue code refactoring, MOVS/MOVD are optimized on all architectures.
r263 SPARC implementation of floating point operators.
r262 Small refactorings.
r261 MIPS implementation of floating point conversion operators.
r260 ARM implementation of floating point operators.
r259 x86 implementation of floating point conversion operators.
r258 Refactoring sljit_emit_fop1 opcodes, inserting placeholders for new ones.
 1.1.1.4 17-Jun-2014  alnsn Import sljit 0.91 (svn r257).

The changes since the last import are:

r257: Add missing ADJUST_LOCAL_OFFSET for ARM64.
r256: Move incorrectly placed array definitions.
r255: More work on testing environment.
r254: Refactor test default output.
r253: Pass entry adress in r12 on PPC-LE.
r252: Optimize calls on MIPS-64.
r251: Several minor fixes.
r250: Add missing SLJIT_IS_FPU_AVAILABLE checks and reorder U and S flags.
r249: Optimize jumps on ARM-64.
r248: Optimize jumps on PowerPC.
r247: MIPS64 support is mostly finished.
r246: MIPS arithmetic.
r245: Start working on MIPS64.
r244: Uniform names for TILE-Gx.
r243: Uniform the names of ARM compilers.
r242: Change ll to l on x86 and rename some instructions on ARM-64.
r241: Improved memory access in PPC and reordering the parameter type flags.
r240: Prepare for more registers on ARM-Thumb2 and renaming TMP_REGISTER to TMP_REG1 on x86.
r239: Prepare for more registers on ARMv5.
r238: Prepare for more registers on TILE-Gx.
r237: Prepare for more registers on MIPS and SPARC.
r236: Prepare for more registers on PPC.
r235: Prepare for more registers on x86.
r234: Most tests are pass on ARM-64 now.
r233: Around 25 test cases are now pass on ARM-64.
r232: More progress on ARM-64 and Thumb2 refactoring.
r231: Some progress an ARM-64 and ARM-T2 refactoring.
r230: Thumb2 code refactoring.
r229: Start working on ARM-64.
r228: Little endian PowerPC systems are supported now by the JIT compiler.
r227: TileGX architecture is now supported. Patch made by Jiong Wang.
r226: Cache flush for android. Patch by Giuseppe D'Angelo.
r225: Add support for forcibly freeing unused executable memory. Inspired by Carsten Klein.
r224: Few typo fixes.
r223: Reorder madvise and posix_madvise.
r222: The missing sljit_get_float_register_index function is added.
r221: Remove an invalid shift on ARM.
r220: JIT compiler now supports 32 bit Macs thanks to Lawrence Velazquez.
r219: Better code size statistics.
r218: Improvements for x86 and LIR dump.
r217: ICC and SunPro C fixes
r216: A new file for tracking internal changes are added.
r215: Less GNU dependnet Makefile and Intel style assemby for x86-64 systems.
r214: Switch from stdcall to cdecl in x86-32.
r213: Upstreaming minor fixes. Thanks for Daniel Richard G.
r212: Documentation update and a fix for a locking issue.
r211: Renaming temporaries to scratches to match the new name of the register. Does not affect compatibility.
r210: Improving assertions.
r209: Port sljit to SunPro C compiler. Patch by Daniel Richard G.
r208: SLJIT_TEMPORARY_REGx registers are renamed to SLJIT_SCRATCH_REGx.
r207: Removing unused checks.
r206: Optimizations for arm.
r205: Some optimizations on powerpc, mips and sparc.
r204: Rename sljit_emit_cond_value to sljit_emit_op_flags.
r203: Small x86 optimization.
r202: Finish cond_value with AND and INT_OP.
r201: More x86 fixes and improvements.
r200: Rename buf and code to inst.
r199: Replacing constants with instruction names in x86. Greatly improves maintainability.
r198: Only xmm0-xmm5 is volatile on Win64, so xmm6 must be saved.
r197: PowerPC shift right always modifies the carry flag. We may need to restore it.
r196: Rename SLJIT_F* functions to SLJIT_*D
r195: SLJIT_INT_OP works in the same way as SLJIT_SINGLE_OP: the input register arguments must be generated by the output of another instruction with SLJIT_INT_OP flag
r194: Renaming sljit_w to sljit_sw, sljit_i to sljit_si, sljit_h to sljit_sh, and sljit_b to sljit_sb.
r193: ARM single precision support.
r192: Single precision support added for ppc, mips and sparc.
r191: Add single precision support. Only works on x86 now.
r190: Relace C types with sljit types. No functionality change.
r189: Change 0 to NULL for mmap.
r188: Support environments where MAP_ANON is not available.
r187: Adding type descriptors for pointers and doubles (preparing for x32 ABIs and single precision support).
 1.1.1.3 28-Oct-2012  alnsn branches: 1.1.1.3.2; 1.1.1.3.4; 1.1.1.3.14;
Import of sljit @ r186.

This version adds sparc architecture. Other changes:

r184: NAN to UNORDERED renaming and other fixes.
r180: Common caching in PPC and MIPS.
 1.1.1.2 21-Oct-2012  alnsn Import sljit @ r176.

r176: Add void to function definitions. Patch by Alexander Nasonov
 1.1.1.1 06-Oct-2012  alnsn Initial import of sljit @ r175.

svn co https://sljit.svn.sourceforge.net/svnroot/sljit@r175 dist
 1.1.1.3.14.1 10-Aug-2014  tls Rebase.
 1.1.1.3.4.4 03-Dec-2017  jdolecek update from HEAD
 1.1.1.3.4.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.3.4.2 28-Oct-2012  alnsn Import of sljit @ r186.

This version adds sparc architecture. Other changes:

r184: NAN to UNORDERED renaming and other fixes.
r180: Common caching in PPC and MIPS.
 1.1.1.3.4.1 28-Oct-2012  alnsn file sljitNativeMIPS_common.c was added on branch tls-maxphys on 2012-10-28 09:36:27 +0000
 1.1.1.3.2.2 30-Oct-2012  yamt sync with head
 1.1.1.3.2.1 28-Oct-2012  yamt file sljitNativeMIPS_common.c was added on branch yamt-pagecache on 2012-10-30 17:22:21 +0000
 1.2.4.1 09-Jul-2016  skrll Sync with HEAD
 1.3.18.1 10-Jun-2019  christos Sync with HEAD
 1.3.16.1 26-Jan-2019  pgoyette Sync with HEAD
 1.4.36.1 02-Aug-2025  perseant Sync with HEAD
 1.4 20-Jan-2019  alnsn Resolve conflicts.
 1.3 29-May-2016  alnsn branches: 1.3.16; 1.3.18;
Resolve conflicts.
 1.2 17-Jun-2014  alnsn branches: 1.2.4;
Add $NetBSD$.
 1.1 06-Oct-2012  alnsn branches: 1.1.1;
Initial revision
 1.1.1.5 20-Jan-2019  alnsn Update sljit to version 0.93 (svn revision r333).

Changes since the last import:

r333 More x86 fixes and a new stack test.
r332 Improve stack allocation on x86.
r331 Make sljit_free_unused_memory_exec public, PPC flush takes priority.
r330 Reverse the stack utility to top-down.
r329 Add sljit_set_current_flags function.
r328 Add two more virtual registers to x86/32, ARM-32 refactor.
r327 Remove value caching on ARM-32.
r326 Remove value caching on ARM-Thumb2.
r325 Move with update rework.
r324 Arm32 store fixes.
r323 Update macros and remove copyright years.
r322 Reworking flags, removing keep flags.
r321 Quick fix for regexjit.
r320 Improve protected executable allocator. Patch insipred by Christian Persch.
r319 Fully support dynamic code modifications again.
r318 Support protected allocator on all architectures except TILEGX.
r317 Rework protected allocator, only x86 linux is supported now.
r316 Add protected executable allocator.
r315 Remove SLJIT_MEMMOVE.
r314 Fix unaligned accesses on x86. Patch by Marc Mutz.
 1.1.1.4 29-May-2016  alnsn Import sljit version r313.

Changes since the last import:

r313 Fix a racing condition reported by Mozilla.
r312 Support Android ARM64 cacheflush. Patch by Tavian Barnes.
r311 Update opcode dump.
r310 Better type specification for integer operations and conditional types.
r309 Better type specification for long mul and divide operators.
r308 Better type specification for floating point operations.
r307 Change d and s postfixes to f64 and f32.
r306 Change b,h,i postifxes to 8,16,32.
r305 Fix a wrong immediate number. Reported by Michael McConville.
r304 Make file patch by Michael McConville.
r303 Landed changes created by Michael McConville.
r302 Add support for cmov on x86.
r301 Tile-Gx fixes by Walter Lee
r300 Add WinCE support.
r299 Add a tutorial for SLJIT. Contributed by Wen Xichang.
r298 Improve integer division.
r297 Start reworking the integer division.
r296 Add an overview for SLJIT.
r295 Small optimizations for x86 and ARM64.
r294 Fix ARM64 SP alignment.
r293 Add a new sljit_set_compiler_memory_error function.
r292 Add missing argument on ARM32.
r291 Minor fixes and NOINLINE support.
r290 Support custom memory allocators.
r289 Add SLJIT_DOUBLE_ALIGNMENT support and emit_op_custom size check.
r288 Add suport for SLJIT_ARGUMENT_CHECKS on all architectures.
r287 Add SLJIT_ARGUMENT_CHECKS compiler option and lots of cleanups.
r286 Support the new naming on PPC and MIPS.
r285 Support the new naming on ARM and SPARC.
r284 Move the type letter to the beggining of the floating point opcodes.
r283 Add i_ s_ d_ froms to compare types.
r282 Fix an incorrect form of mul on x86-64.
r281 Refactoring sljitConfigInternal.h header.
r280 Remove variable locals offset.
r279 Test skips are not reported if verbose is disabled.
r278 Add options to sljit_emit_enter and sljit_set_context.
r277 Reindexing opX opcodes.
r276 Some comments are fixed and minor refactors were done.
r275 Minor optimizations.
r274 Extend the register set on ARM.
r273 Extend the register set on PPC, MIPS, SPARC.
r272 Allow remapping of any registers: not just scratch->saved, but saved->scratch as well.
r271 Renaming floating point registers to support more of them.
r270 Extend the register set on x86.
r269 Renaming integer registers for preparing the support of any all machine registers.
r268 Refactor a macro to work when debug is disabled.
r267 Introduce architecture macros without 32/64 bit postfix.
r266 The floating point conversion operators are finished on PPC, and they are supported on all architectures now.
r265 FPU operations support locals access now. CONW is supported on PPC now.
r264 Continue code refactoring, MOVS/MOVD are optimized on all architectures.
r263 SPARC implementation of floating point operators.
r262 Small refactorings.
r261 MIPS implementation of floating point conversion operators.
r260 ARM implementation of floating point operators.
r259 x86 implementation of floating point conversion operators.
r258 Refactoring sljit_emit_fop1 opcodes, inserting placeholders for new ones.
 1.1.1.3 17-Jun-2014  alnsn Import sljit 0.91 (svn r257).

The changes since the last import are:

r257: Add missing ADJUST_LOCAL_OFFSET for ARM64.
r256: Move incorrectly placed array definitions.
r255: More work on testing environment.
r254: Refactor test default output.
r253: Pass entry adress in r12 on PPC-LE.
r252: Optimize calls on MIPS-64.
r251: Several minor fixes.
r250: Add missing SLJIT_IS_FPU_AVAILABLE checks and reorder U and S flags.
r249: Optimize jumps on ARM-64.
r248: Optimize jumps on PowerPC.
r247: MIPS64 support is mostly finished.
r246: MIPS arithmetic.
r245: Start working on MIPS64.
r244: Uniform names for TILE-Gx.
r243: Uniform the names of ARM compilers.
r242: Change ll to l on x86 and rename some instructions on ARM-64.
r241: Improved memory access in PPC and reordering the parameter type flags.
r240: Prepare for more registers on ARM-Thumb2 and renaming TMP_REGISTER to TMP_REG1 on x86.
r239: Prepare for more registers on ARMv5.
r238: Prepare for more registers on TILE-Gx.
r237: Prepare for more registers on MIPS and SPARC.
r236: Prepare for more registers on PPC.
r235: Prepare for more registers on x86.
r234: Most tests are pass on ARM-64 now.
r233: Around 25 test cases are now pass on ARM-64.
r232: More progress on ARM-64 and Thumb2 refactoring.
r231: Some progress an ARM-64 and ARM-T2 refactoring.
r230: Thumb2 code refactoring.
r229: Start working on ARM-64.
r228: Little endian PowerPC systems are supported now by the JIT compiler.
r227: TileGX architecture is now supported. Patch made by Jiong Wang.
r226: Cache flush for android. Patch by Giuseppe D'Angelo.
r225: Add support for forcibly freeing unused executable memory. Inspired by Carsten Klein.
r224: Few typo fixes.
r223: Reorder madvise and posix_madvise.
r222: The missing sljit_get_float_register_index function is added.
r221: Remove an invalid shift on ARM.
r220: JIT compiler now supports 32 bit Macs thanks to Lawrence Velazquez.
r219: Better code size statistics.
r218: Improvements for x86 and LIR dump.
r217: ICC and SunPro C fixes
r216: A new file for tracking internal changes are added.
r215: Less GNU dependnet Makefile and Intel style assemby for x86-64 systems.
r214: Switch from stdcall to cdecl in x86-32.
r213: Upstreaming minor fixes. Thanks for Daniel Richard G.
r212: Documentation update and a fix for a locking issue.
r211: Renaming temporaries to scratches to match the new name of the register. Does not affect compatibility.
r210: Improving assertions.
r209: Port sljit to SunPro C compiler. Patch by Daniel Richard G.
r208: SLJIT_TEMPORARY_REGx registers are renamed to SLJIT_SCRATCH_REGx.
r207: Removing unused checks.
r206: Optimizations for arm.
r205: Some optimizations on powerpc, mips and sparc.
r204: Rename sljit_emit_cond_value to sljit_emit_op_flags.
r203: Small x86 optimization.
r202: Finish cond_value with AND and INT_OP.
r201: More x86 fixes and improvements.
r200: Rename buf and code to inst.
r199: Replacing constants with instruction names in x86. Greatly improves maintainability.
r198: Only xmm0-xmm5 is volatile on Win64, so xmm6 must be saved.
r197: PowerPC shift right always modifies the carry flag. We may need to restore it.
r196: Rename SLJIT_F* functions to SLJIT_*D
r195: SLJIT_INT_OP works in the same way as SLJIT_SINGLE_OP: the input register arguments must be generated by the output of another instruction with SLJIT_INT_OP flag
r194: Renaming sljit_w to sljit_sw, sljit_i to sljit_si, sljit_h to sljit_sh, and sljit_b to sljit_sb.
r193: ARM single precision support.
r192: Single precision support added for ppc, mips and sparc.
r191: Add single precision support. Only works on x86 now.
r190: Relace C types with sljit types. No functionality change.
r189: Change 0 to NULL for mmap.
r188: Support environments where MAP_ANON is not available.
r187: Adding type descriptors for pointers and doubles (preparing for x32 ABIs and single precision support).
 1.1.1.2 28-Oct-2012  alnsn branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.14;
Import of sljit @ r186.

This version adds sparc architecture. Other changes:

r184: NAN to UNORDERED renaming and other fixes.
r180: Common caching in PPC and MIPS.
 1.1.1.1 06-Oct-2012  alnsn Initial import of sljit @ r175.

svn co https://sljit.svn.sourceforge.net/svnroot/sljit@r175 dist
 1.1.1.2.14.1 10-Aug-2014  tls Rebase.
 1.1.1.2.4.4 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.4.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.4.2 28-Oct-2012  alnsn Import of sljit @ r186.

This version adds sparc architecture. Other changes:

r184: NAN to UNORDERED renaming and other fixes.
r180: Common caching in PPC and MIPS.
 1.1.1.2.4.1 28-Oct-2012  alnsn file sljitNativePPC_32.c was added on branch tls-maxphys on 2012-10-28 09:36:22 +0000
 1.1.1.2.2.2 30-Oct-2012  yamt sync with head
 1.1.1.2.2.1 28-Oct-2012  yamt file sljitNativePPC_32.c was added on branch yamt-pagecache on 2012-10-30 17:22:21 +0000
 1.2.4.1 09-Jul-2016  skrll Sync with HEAD
 1.3.18.1 10-Jun-2019  christos Sync with HEAD
 1.3.16.1 26-Jan-2019  pgoyette Sync with HEAD
 1.4 20-Jan-2019  alnsn Resolve conflicts.
 1.3 29-May-2016  alnsn branches: 1.3.16; 1.3.18;
Resolve conflicts.
 1.2 17-Jun-2014  alnsn branches: 1.2.4;
Add $NetBSD$.
 1.1 06-Oct-2012  alnsn branches: 1.1.1;
Initial revision
 1.1.1.5 20-Jan-2019  alnsn Update sljit to version 0.93 (svn revision r333).

Changes since the last import:

r333 More x86 fixes and a new stack test.
r332 Improve stack allocation on x86.
r331 Make sljit_free_unused_memory_exec public, PPC flush takes priority.
r330 Reverse the stack utility to top-down.
r329 Add sljit_set_current_flags function.
r328 Add two more virtual registers to x86/32, ARM-32 refactor.
r327 Remove value caching on ARM-32.
r326 Remove value caching on ARM-Thumb2.
r325 Move with update rework.
r324 Arm32 store fixes.
r323 Update macros and remove copyright years.
r322 Reworking flags, removing keep flags.
r321 Quick fix for regexjit.
r320 Improve protected executable allocator. Patch insipred by Christian Persch.
r319 Fully support dynamic code modifications again.
r318 Support protected allocator on all architectures except TILEGX.
r317 Rework protected allocator, only x86 linux is supported now.
r316 Add protected executable allocator.
r315 Remove SLJIT_MEMMOVE.
r314 Fix unaligned accesses on x86. Patch by Marc Mutz.
 1.1.1.4 29-May-2016  alnsn Import sljit version r313.

Changes since the last import:

r313 Fix a racing condition reported by Mozilla.
r312 Support Android ARM64 cacheflush. Patch by Tavian Barnes.
r311 Update opcode dump.
r310 Better type specification for integer operations and conditional types.
r309 Better type specification for long mul and divide operators.
r308 Better type specification for floating point operations.
r307 Change d and s postfixes to f64 and f32.
r306 Change b,h,i postifxes to 8,16,32.
r305 Fix a wrong immediate number. Reported by Michael McConville.
r304 Make file patch by Michael McConville.
r303 Landed changes created by Michael McConville.
r302 Add support for cmov on x86.
r301 Tile-Gx fixes by Walter Lee
r300 Add WinCE support.
r299 Add a tutorial for SLJIT. Contributed by Wen Xichang.
r298 Improve integer division.
r297 Start reworking the integer division.
r296 Add an overview for SLJIT.
r295 Small optimizations for x86 and ARM64.
r294 Fix ARM64 SP alignment.
r293 Add a new sljit_set_compiler_memory_error function.
r292 Add missing argument on ARM32.
r291 Minor fixes and NOINLINE support.
r290 Support custom memory allocators.
r289 Add SLJIT_DOUBLE_ALIGNMENT support and emit_op_custom size check.
r288 Add suport for SLJIT_ARGUMENT_CHECKS on all architectures.
r287 Add SLJIT_ARGUMENT_CHECKS compiler option and lots of cleanups.
r286 Support the new naming on PPC and MIPS.
r285 Support the new naming on ARM and SPARC.
r284 Move the type letter to the beggining of the floating point opcodes.
r283 Add i_ s_ d_ froms to compare types.
r282 Fix an incorrect form of mul on x86-64.
r281 Refactoring sljitConfigInternal.h header.
r280 Remove variable locals offset.
r279 Test skips are not reported if verbose is disabled.
r278 Add options to sljit_emit_enter and sljit_set_context.
r277 Reindexing opX opcodes.
r276 Some comments are fixed and minor refactors were done.
r275 Minor optimizations.
r274 Extend the register set on ARM.
r273 Extend the register set on PPC, MIPS, SPARC.
r272 Allow remapping of any registers: not just scratch->saved, but saved->scratch as well.
r271 Renaming floating point registers to support more of them.
r270 Extend the register set on x86.
r269 Renaming integer registers for preparing the support of any all machine registers.
r268 Refactor a macro to work when debug is disabled.
r267 Introduce architecture macros without 32/64 bit postfix.
r266 The floating point conversion operators are finished on PPC, and they are supported on all architectures now.
r265 FPU operations support locals access now. CONW is supported on PPC now.
r264 Continue code refactoring, MOVS/MOVD are optimized on all architectures.
r263 SPARC implementation of floating point operators.
r262 Small refactorings.
r261 MIPS implementation of floating point conversion operators.
r260 ARM implementation of floating point operators.
r259 x86 implementation of floating point conversion operators.
r258 Refactoring sljit_emit_fop1 opcodes, inserting placeholders for new ones.
 1.1.1.3 17-Jun-2014  alnsn Import sljit 0.91 (svn r257).

The changes since the last import are:

r257: Add missing ADJUST_LOCAL_OFFSET for ARM64.
r256: Move incorrectly placed array definitions.
r255: More work on testing environment.
r254: Refactor test default output.
r253: Pass entry adress in r12 on PPC-LE.
r252: Optimize calls on MIPS-64.
r251: Several minor fixes.
r250: Add missing SLJIT_IS_FPU_AVAILABLE checks and reorder U and S flags.
r249: Optimize jumps on ARM-64.
r248: Optimize jumps on PowerPC.
r247: MIPS64 support is mostly finished.
r246: MIPS arithmetic.
r245: Start working on MIPS64.
r244: Uniform names for TILE-Gx.
r243: Uniform the names of ARM compilers.
r242: Change ll to l on x86 and rename some instructions on ARM-64.
r241: Improved memory access in PPC and reordering the parameter type flags.
r240: Prepare for more registers on ARM-Thumb2 and renaming TMP_REGISTER to TMP_REG1 on x86.
r239: Prepare for more registers on ARMv5.
r238: Prepare for more registers on TILE-Gx.
r237: Prepare for more registers on MIPS and SPARC.
r236: Prepare for more registers on PPC.
r235: Prepare for more registers on x86.
r234: Most tests are pass on ARM-64 now.
r233: Around 25 test cases are now pass on ARM-64.
r232: More progress on ARM-64 and Thumb2 refactoring.
r231: Some progress an ARM-64 and ARM-T2 refactoring.
r230: Thumb2 code refactoring.
r229: Start working on ARM-64.
r228: Little endian PowerPC systems are supported now by the JIT compiler.
r227: TileGX architecture is now supported. Patch made by Jiong Wang.
r226: Cache flush for android. Patch by Giuseppe D'Angelo.
r225: Add support for forcibly freeing unused executable memory. Inspired by Carsten Klein.
r224: Few typo fixes.
r223: Reorder madvise and posix_madvise.
r222: The missing sljit_get_float_register_index function is added.
r221: Remove an invalid shift on ARM.
r220: JIT compiler now supports 32 bit Macs thanks to Lawrence Velazquez.
r219: Better code size statistics.
r218: Improvements for x86 and LIR dump.
r217: ICC and SunPro C fixes
r216: A new file for tracking internal changes are added.
r215: Less GNU dependnet Makefile and Intel style assemby for x86-64 systems.
r214: Switch from stdcall to cdecl in x86-32.
r213: Upstreaming minor fixes. Thanks for Daniel Richard G.
r212: Documentation update and a fix for a locking issue.
r211: Renaming temporaries to scratches to match the new name of the register. Does not affect compatibility.
r210: Improving assertions.
r209: Port sljit to SunPro C compiler. Patch by Daniel Richard G.
r208: SLJIT_TEMPORARY_REGx registers are renamed to SLJIT_SCRATCH_REGx.
r207: Removing unused checks.
r206: Optimizations for arm.
r205: Some optimizations on powerpc, mips and sparc.
r204: Rename sljit_emit_cond_value to sljit_emit_op_flags.
r203: Small x86 optimization.
r202: Finish cond_value with AND and INT_OP.
r201: More x86 fixes and improvements.
r200: Rename buf and code to inst.
r199: Replacing constants with instruction names in x86. Greatly improves maintainability.
r198: Only xmm0-xmm5 is volatile on Win64, so xmm6 must be saved.
r197: PowerPC shift right always modifies the carry flag. We may need to restore it.
r196: Rename SLJIT_F* functions to SLJIT_*D
r195: SLJIT_INT_OP works in the same way as SLJIT_SINGLE_OP: the input register arguments must be generated by the output of another instruction with SLJIT_INT_OP flag
r194: Renaming sljit_w to sljit_sw, sljit_i to sljit_si, sljit_h to sljit_sh, and sljit_b to sljit_sb.
r193: ARM single precision support.
r192: Single precision support added for ppc, mips and sparc.
r191: Add single precision support. Only works on x86 now.
r190: Relace C types with sljit types. No functionality change.
r189: Change 0 to NULL for mmap.
r188: Support environments where MAP_ANON is not available.
r187: Adding type descriptors for pointers and doubles (preparing for x32 ABIs and single precision support).
 1.1.1.2 28-Oct-2012  alnsn branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.14;
Import of sljit @ r186.

This version adds sparc architecture. Other changes:

r184: NAN to UNORDERED renaming and other fixes.
r180: Common caching in PPC and MIPS.
 1.1.1.1 06-Oct-2012  alnsn Initial import of sljit @ r175.

svn co https://sljit.svn.sourceforge.net/svnroot/sljit@r175 dist
 1.1.1.2.14.1 10-Aug-2014  tls Rebase.
 1.1.1.2.4.4 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.4.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.4.2 28-Oct-2012  alnsn Import of sljit @ r186.

This version adds sparc architecture. Other changes:

r184: NAN to UNORDERED renaming and other fixes.
r180: Common caching in PPC and MIPS.
 1.1.1.2.4.1 28-Oct-2012  alnsn file sljitNativePPC_64.c was added on branch tls-maxphys on 2012-10-28 09:36:24 +0000
 1.1.1.2.2.2 30-Oct-2012  yamt sync with head
 1.1.1.2.2.1 28-Oct-2012  yamt file sljitNativePPC_64.c was added on branch yamt-pagecache on 2012-10-30 17:22:21 +0000
 1.2.4.1 09-Jul-2016  skrll Sync with HEAD
 1.3.18.1 10-Jun-2019  christos Sync with HEAD
 1.3.16.1 26-Jan-2019  pgoyette Sync with HEAD
 1.8 20-Jan-2019  alnsn Resolve conflicts.
 1.7 30-May-2016  alnsn branches: 1.7.16; 1.7.18;
Reduce diff with mainstream.

In the new sljt version, ppc_cache_flush() is guarded by
SLJIT_CACHE_FLUSH_OWN_IMPL. We can keep is as long as we
don't define SLJIT_CACHE_FLUSH_OWN_IMPL.
 1.6 29-May-2016  alnsn Fix a pilot error in the manual conflict handling..
 1.5 29-May-2016  alnsn Resolve conflicts.
 1.4 17-Jun-2014  alnsn branches: 1.4.4;
Add $NetBSD$.
 1.3 17-Jun-2014  alnsn Resolve conflicts.
 1.2 25-Nov-2013  alnsn branches: 1.2.2;
Use __syncicache() in sljit on powerpc.
 1.1 06-Oct-2012  alnsn branches: 1.1.1;
Initial revision
 1.1.1.6 20-Jan-2019  alnsn Update sljit to version 0.93 (svn revision r333).

Changes since the last import:

r333 More x86 fixes and a new stack test.
r332 Improve stack allocation on x86.
r331 Make sljit_free_unused_memory_exec public, PPC flush takes priority.
r330 Reverse the stack utility to top-down.
r329 Add sljit_set_current_flags function.
r328 Add two more virtual registers to x86/32, ARM-32 refactor.
r327 Remove value caching on ARM-32.
r326 Remove value caching on ARM-Thumb2.
r325 Move with update rework.
r324 Arm32 store fixes.
r323 Update macros and remove copyright years.
r322 Reworking flags, removing keep flags.
r321 Quick fix for regexjit.
r320 Improve protected executable allocator. Patch insipred by Christian Persch.
r319 Fully support dynamic code modifications again.
r318 Support protected allocator on all architectures except TILEGX.
r317 Rework protected allocator, only x86 linux is supported now.
r316 Add protected executable allocator.
r315 Remove SLJIT_MEMMOVE.
r314 Fix unaligned accesses on x86. Patch by Marc Mutz.
 1.1.1.5 29-May-2016  alnsn Import sljit version r313.

Changes since the last import:

r313 Fix a racing condition reported by Mozilla.
r312 Support Android ARM64 cacheflush. Patch by Tavian Barnes.
r311 Update opcode dump.
r310 Better type specification for integer operations and conditional types.
r309 Better type specification for long mul and divide operators.
r308 Better type specification for floating point operations.
r307 Change d and s postfixes to f64 and f32.
r306 Change b,h,i postifxes to 8,16,32.
r305 Fix a wrong immediate number. Reported by Michael McConville.
r304 Make file patch by Michael McConville.
r303 Landed changes created by Michael McConville.
r302 Add support for cmov on x86.
r301 Tile-Gx fixes by Walter Lee
r300 Add WinCE support.
r299 Add a tutorial for SLJIT. Contributed by Wen Xichang.
r298 Improve integer division.
r297 Start reworking the integer division.
r296 Add an overview for SLJIT.
r295 Small optimizations for x86 and ARM64.
r294 Fix ARM64 SP alignment.
r293 Add a new sljit_set_compiler_memory_error function.
r292 Add missing argument on ARM32.
r291 Minor fixes and NOINLINE support.
r290 Support custom memory allocators.
r289 Add SLJIT_DOUBLE_ALIGNMENT support and emit_op_custom size check.
r288 Add suport for SLJIT_ARGUMENT_CHECKS on all architectures.
r287 Add SLJIT_ARGUMENT_CHECKS compiler option and lots of cleanups.
r286 Support the new naming on PPC and MIPS.
r285 Support the new naming on ARM and SPARC.
r284 Move the type letter to the beggining of the floating point opcodes.
r283 Add i_ s_ d_ froms to compare types.
r282 Fix an incorrect form of mul on x86-64.
r281 Refactoring sljitConfigInternal.h header.
r280 Remove variable locals offset.
r279 Test skips are not reported if verbose is disabled.
r278 Add options to sljit_emit_enter and sljit_set_context.
r277 Reindexing opX opcodes.
r276 Some comments are fixed and minor refactors were done.
r275 Minor optimizations.
r274 Extend the register set on ARM.
r273 Extend the register set on PPC, MIPS, SPARC.
r272 Allow remapping of any registers: not just scratch->saved, but saved->scratch as well.
r271 Renaming floating point registers to support more of them.
r270 Extend the register set on x86.
r269 Renaming integer registers for preparing the support of any all machine registers.
r268 Refactor a macro to work when debug is disabled.
r267 Introduce architecture macros without 32/64 bit postfix.
r266 The floating point conversion operators are finished on PPC, and they are supported on all architectures now.
r265 FPU operations support locals access now. CONW is supported on PPC now.
r264 Continue code refactoring, MOVS/MOVD are optimized on all architectures.
r263 SPARC implementation of floating point operators.
r262 Small refactorings.
r261 MIPS implementation of floating point conversion operators.
r260 ARM implementation of floating point operators.
r259 x86 implementation of floating point conversion operators.
r258 Refactoring sljit_emit_fop1 opcodes, inserting placeholders for new ones.
 1.1.1.4 17-Jun-2014  alnsn Import sljit 0.91 (svn r257).

The changes since the last import are:

r257: Add missing ADJUST_LOCAL_OFFSET for ARM64.
r256: Move incorrectly placed array definitions.
r255: More work on testing environment.
r254: Refactor test default output.
r253: Pass entry adress in r12 on PPC-LE.
r252: Optimize calls on MIPS-64.
r251: Several minor fixes.
r250: Add missing SLJIT_IS_FPU_AVAILABLE checks and reorder U and S flags.
r249: Optimize jumps on ARM-64.
r248: Optimize jumps on PowerPC.
r247: MIPS64 support is mostly finished.
r246: MIPS arithmetic.
r245: Start working on MIPS64.
r244: Uniform names for TILE-Gx.
r243: Uniform the names of ARM compilers.
r242: Change ll to l on x86 and rename some instructions on ARM-64.
r241: Improved memory access in PPC and reordering the parameter type flags.
r240: Prepare for more registers on ARM-Thumb2 and renaming TMP_REGISTER to TMP_REG1 on x86.
r239: Prepare for more registers on ARMv5.
r238: Prepare for more registers on TILE-Gx.
r237: Prepare for more registers on MIPS and SPARC.
r236: Prepare for more registers on PPC.
r235: Prepare for more registers on x86.
r234: Most tests are pass on ARM-64 now.
r233: Around 25 test cases are now pass on ARM-64.
r232: More progress on ARM-64 and Thumb2 refactoring.
r231: Some progress an ARM-64 and ARM-T2 refactoring.
r230: Thumb2 code refactoring.
r229: Start working on ARM-64.
r228: Little endian PowerPC systems are supported now by the JIT compiler.
r227: TileGX architecture is now supported. Patch made by Jiong Wang.
r226: Cache flush for android. Patch by Giuseppe D'Angelo.
r225: Add support for forcibly freeing unused executable memory. Inspired by Carsten Klein.
r224: Few typo fixes.
r223: Reorder madvise and posix_madvise.
r222: The missing sljit_get_float_register_index function is added.
r221: Remove an invalid shift on ARM.
r220: JIT compiler now supports 32 bit Macs thanks to Lawrence Velazquez.
r219: Better code size statistics.
r218: Improvements for x86 and LIR dump.
r217: ICC and SunPro C fixes
r216: A new file for tracking internal changes are added.
r215: Less GNU dependnet Makefile and Intel style assemby for x86-64 systems.
r214: Switch from stdcall to cdecl in x86-32.
r213: Upstreaming minor fixes. Thanks for Daniel Richard G.
r212: Documentation update and a fix for a locking issue.
r211: Renaming temporaries to scratches to match the new name of the register. Does not affect compatibility.
r210: Improving assertions.
r209: Port sljit to SunPro C compiler. Patch by Daniel Richard G.
r208: SLJIT_TEMPORARY_REGx registers are renamed to SLJIT_SCRATCH_REGx.
r207: Removing unused checks.
r206: Optimizations for arm.
r205: Some optimizations on powerpc, mips and sparc.
r204: Rename sljit_emit_cond_value to sljit_emit_op_flags.
r203: Small x86 optimization.
r202: Finish cond_value with AND and INT_OP.
r201: More x86 fixes and improvements.
r200: Rename buf and code to inst.
r199: Replacing constants with instruction names in x86. Greatly improves maintainability.
r198: Only xmm0-xmm5 is volatile on Win64, so xmm6 must be saved.
r197: PowerPC shift right always modifies the carry flag. We may need to restore it.
r196: Rename SLJIT_F* functions to SLJIT_*D
r195: SLJIT_INT_OP works in the same way as SLJIT_SINGLE_OP: the input register arguments must be generated by the output of another instruction with SLJIT_INT_OP flag
r194: Renaming sljit_w to sljit_sw, sljit_i to sljit_si, sljit_h to sljit_sh, and sljit_b to sljit_sb.
r193: ARM single precision support.
r192: Single precision support added for ppc, mips and sparc.
r191: Add single precision support. Only works on x86 now.
r190: Relace C types with sljit types. No functionality change.
r189: Change 0 to NULL for mmap.
r188: Support environments where MAP_ANON is not available.
r187: Adding type descriptors for pointers and doubles (preparing for x32 ABIs and single precision support).
 1.1.1.3 28-Oct-2012  alnsn branches: 1.1.1.3.2; 1.1.1.3.4; 1.1.1.3.6;
Import of sljit @ r186.

This version adds sparc architecture. Other changes:

r184: NAN to UNORDERED renaming and other fixes.
r180: Common caching in PPC and MIPS.
 1.1.1.2 21-Oct-2012  alnsn Import sljit @ r176.

r176: Add void to function definitions. Patch by Alexander Nasonov
 1.1.1.1 06-Oct-2012  alnsn Initial import of sljit @ r175.

svn co https://sljit.svn.sourceforge.net/svnroot/sljit@r175 dist
 1.1.1.3.6.1 18-May-2014  rmind sync with head
 1.1.1.3.4.4 03-Dec-2017  jdolecek update from HEAD
 1.1.1.3.4.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.3.4.2 28-Oct-2012  alnsn Import of sljit @ r186.

This version adds sparc architecture. Other changes:

r184: NAN to UNORDERED renaming and other fixes.
r180: Common caching in PPC and MIPS.
 1.1.1.3.4.1 28-Oct-2012  alnsn file sljitNativePPC_common.c was added on branch tls-maxphys on 2012-10-28 09:36:23 +0000
 1.1.1.3.2.3 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.3.2.2 30-Oct-2012  yamt sync with head
 1.1.1.3.2.1 28-Oct-2012  yamt file sljitNativePPC_common.c was added on branch yamt-pagecache on 2012-10-30 17:22:21 +0000
 1.2.2.1 10-Aug-2014  tls Rebase.
 1.4.4.1 09-Jul-2016  skrll Sync with HEAD
 1.7.18.1 10-Jun-2019  christos Sync with HEAD
 1.7.16.1 26-Jan-2019  pgoyette Sync with HEAD
 1.4 20-Jan-2019  alnsn Resolve conflicts.
 1.3 29-May-2016  alnsn branches: 1.3.16; 1.3.18;
Resolve conflicts.
 1.2 17-Jun-2014  alnsn branches: 1.2.4;
Add $NetBSD$.
 1.1 28-Oct-2012  alnsn branches: 1.1.1;
Initial revision
 1.1.1.4 20-Jan-2019  alnsn Update sljit to version 0.93 (svn revision r333).

Changes since the last import:

r333 More x86 fixes and a new stack test.
r332 Improve stack allocation on x86.
r331 Make sljit_free_unused_memory_exec public, PPC flush takes priority.
r330 Reverse the stack utility to top-down.
r329 Add sljit_set_current_flags function.
r328 Add two more virtual registers to x86/32, ARM-32 refactor.
r327 Remove value caching on ARM-32.
r326 Remove value caching on ARM-Thumb2.
r325 Move with update rework.
r324 Arm32 store fixes.
r323 Update macros and remove copyright years.
r322 Reworking flags, removing keep flags.
r321 Quick fix for regexjit.
r320 Improve protected executable allocator. Patch insipred by Christian Persch.
r319 Fully support dynamic code modifications again.
r318 Support protected allocator on all architectures except TILEGX.
r317 Rework protected allocator, only x86 linux is supported now.
r316 Add protected executable allocator.
r315 Remove SLJIT_MEMMOVE.
r314 Fix unaligned accesses on x86. Patch by Marc Mutz.
 1.1.1.3 29-May-2016  alnsn Import sljit version r313.

Changes since the last import:

r313 Fix a racing condition reported by Mozilla.
r312 Support Android ARM64 cacheflush. Patch by Tavian Barnes.
r311 Update opcode dump.
r310 Better type specification for integer operations and conditional types.
r309 Better type specification for long mul and divide operators.
r308 Better type specification for floating point operations.
r307 Change d and s postfixes to f64 and f32.
r306 Change b,h,i postifxes to 8,16,32.
r305 Fix a wrong immediate number. Reported by Michael McConville.
r304 Make file patch by Michael McConville.
r303 Landed changes created by Michael McConville.
r302 Add support for cmov on x86.
r301 Tile-Gx fixes by Walter Lee
r300 Add WinCE support.
r299 Add a tutorial for SLJIT. Contributed by Wen Xichang.
r298 Improve integer division.
r297 Start reworking the integer division.
r296 Add an overview for SLJIT.
r295 Small optimizations for x86 and ARM64.
r294 Fix ARM64 SP alignment.
r293 Add a new sljit_set_compiler_memory_error function.
r292 Add missing argument on ARM32.
r291 Minor fixes and NOINLINE support.
r290 Support custom memory allocators.
r289 Add SLJIT_DOUBLE_ALIGNMENT support and emit_op_custom size check.
r288 Add suport for SLJIT_ARGUMENT_CHECKS on all architectures.
r287 Add SLJIT_ARGUMENT_CHECKS compiler option and lots of cleanups.
r286 Support the new naming on PPC and MIPS.
r285 Support the new naming on ARM and SPARC.
r284 Move the type letter to the beggining of the floating point opcodes.
r283 Add i_ s_ d_ froms to compare types.
r282 Fix an incorrect form of mul on x86-64.
r281 Refactoring sljitConfigInternal.h header.
r280 Remove variable locals offset.
r279 Test skips are not reported if verbose is disabled.
r278 Add options to sljit_emit_enter and sljit_set_context.
r277 Reindexing opX opcodes.
r276 Some comments are fixed and minor refactors were done.
r275 Minor optimizations.
r274 Extend the register set on ARM.
r273 Extend the register set on PPC, MIPS, SPARC.
r272 Allow remapping of any registers: not just scratch->saved, but saved->scratch as well.
r271 Renaming floating point registers to support more of them.
r270 Extend the register set on x86.
r269 Renaming integer registers for preparing the support of any all machine registers.
r268 Refactor a macro to work when debug is disabled.
r267 Introduce architecture macros without 32/64 bit postfix.
r266 The floating point conversion operators are finished on PPC, and they are supported on all architectures now.
r265 FPU operations support locals access now. CONW is supported on PPC now.
r264 Continue code refactoring, MOVS/MOVD are optimized on all architectures.
r263 SPARC implementation of floating point operators.
r262 Small refactorings.
r261 MIPS implementation of floating point conversion operators.
r260 ARM implementation of floating point operators.
r259 x86 implementation of floating point conversion operators.
r258 Refactoring sljit_emit_fop1 opcodes, inserting placeholders for new ones.
 1.1.1.2 17-Jun-2014  alnsn Import sljit 0.91 (svn r257).

The changes since the last import are:

r257: Add missing ADJUST_LOCAL_OFFSET for ARM64.
r256: Move incorrectly placed array definitions.
r255: More work on testing environment.
r254: Refactor test default output.
r253: Pass entry adress in r12 on PPC-LE.
r252: Optimize calls on MIPS-64.
r251: Several minor fixes.
r250: Add missing SLJIT_IS_FPU_AVAILABLE checks and reorder U and S flags.
r249: Optimize jumps on ARM-64.
r248: Optimize jumps on PowerPC.
r247: MIPS64 support is mostly finished.
r246: MIPS arithmetic.
r245: Start working on MIPS64.
r244: Uniform names for TILE-Gx.
r243: Uniform the names of ARM compilers.
r242: Change ll to l on x86 and rename some instructions on ARM-64.
r241: Improved memory access in PPC and reordering the parameter type flags.
r240: Prepare for more registers on ARM-Thumb2 and renaming TMP_REGISTER to TMP_REG1 on x86.
r239: Prepare for more registers on ARMv5.
r238: Prepare for more registers on TILE-Gx.
r237: Prepare for more registers on MIPS and SPARC.
r236: Prepare for more registers on PPC.
r235: Prepare for more registers on x86.
r234: Most tests are pass on ARM-64 now.
r233: Around 25 test cases are now pass on ARM-64.
r232: More progress on ARM-64 and Thumb2 refactoring.
r231: Some progress an ARM-64 and ARM-T2 refactoring.
r230: Thumb2 code refactoring.
r229: Start working on ARM-64.
r228: Little endian PowerPC systems are supported now by the JIT compiler.
r227: TileGX architecture is now supported. Patch made by Jiong Wang.
r226: Cache flush for android. Patch by Giuseppe D'Angelo.
r225: Add support for forcibly freeing unused executable memory. Inspired by Carsten Klein.
r224: Few typo fixes.
r223: Reorder madvise and posix_madvise.
r222: The missing sljit_get_float_register_index function is added.
r221: Remove an invalid shift on ARM.
r220: JIT compiler now supports 32 bit Macs thanks to Lawrence Velazquez.
r219: Better code size statistics.
r218: Improvements for x86 and LIR dump.
r217: ICC and SunPro C fixes
r216: A new file for tracking internal changes are added.
r215: Less GNU dependnet Makefile and Intel style assemby for x86-64 systems.
r214: Switch from stdcall to cdecl in x86-32.
r213: Upstreaming minor fixes. Thanks for Daniel Richard G.
r212: Documentation update and a fix for a locking issue.
r211: Renaming temporaries to scratches to match the new name of the register. Does not affect compatibility.
r210: Improving assertions.
r209: Port sljit to SunPro C compiler. Patch by Daniel Richard G.
r208: SLJIT_TEMPORARY_REGx registers are renamed to SLJIT_SCRATCH_REGx.
r207: Removing unused checks.
r206: Optimizations for arm.
r205: Some optimizations on powerpc, mips and sparc.
r204: Rename sljit_emit_cond_value to sljit_emit_op_flags.
r203: Small x86 optimization.
r202: Finish cond_value with AND and INT_OP.
r201: More x86 fixes and improvements.
r200: Rename buf and code to inst.
r199: Replacing constants with instruction names in x86. Greatly improves maintainability.
r198: Only xmm0-xmm5 is volatile on Win64, so xmm6 must be saved.
r197: PowerPC shift right always modifies the carry flag. We may need to restore it.
r196: Rename SLJIT_F* functions to SLJIT_*D
r195: SLJIT_INT_OP works in the same way as SLJIT_SINGLE_OP: the input register arguments must be generated by the output of another instruction with SLJIT_INT_OP flag
r194: Renaming sljit_w to sljit_sw, sljit_i to sljit_si, sljit_h to sljit_sh, and sljit_b to sljit_sb.
r193: ARM single precision support.
r192: Single precision support added for ppc, mips and sparc.
r191: Add single precision support. Only works on x86 now.
r190: Relace C types with sljit types. No functionality change.
r189: Change 0 to NULL for mmap.
r188: Support environments where MAP_ANON is not available.
r187: Adding type descriptors for pointers and doubles (preparing for x32 ABIs and single precision support).
 1.1.1.1 28-Oct-2012  alnsn branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.14;
Import of sljit @ r186.

This version adds sparc architecture. Other changes:

r184: NAN to UNORDERED renaming and other fixes.
r180: Common caching in PPC and MIPS.
 1.1.1.1.14.1 10-Aug-2014  tls Rebase.
 1.1.1.1.4.4 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.4.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.4.2 28-Oct-2012  alnsn Import of sljit @ r186.

This version adds sparc architecture. Other changes:

r184: NAN to UNORDERED renaming and other fixes.
r180: Common caching in PPC and MIPS.
 1.1.1.1.4.1 28-Oct-2012  alnsn file sljitNativeSPARC_32.c was added on branch tls-maxphys on 2012-10-28 09:36:26 +0000
 1.1.1.1.2.2 30-Oct-2012  yamt sync with head
 1.1.1.1.2.1 28-Oct-2012  yamt file sljitNativeSPARC_32.c was added on branch yamt-pagecache on 2012-10-30 17:22:21 +0000
 1.2.4.1 09-Jul-2016  skrll Sync with HEAD
 1.3.18.1 10-Jun-2019  christos Sync with HEAD
 1.3.16.1 26-Jan-2019  pgoyette Sync with HEAD
 1.4 20-Jan-2019  alnsn Resolve conflicts.
 1.3 29-May-2016  alnsn branches: 1.3.16; 1.3.18;
Resolve conflicts.
 1.2 17-Jun-2014  alnsn branches: 1.2.4;
Add $NetBSD$.
 1.1 28-Oct-2012  alnsn branches: 1.1.1;
Initial revision
 1.1.1.4 20-Jan-2019  alnsn Update sljit to version 0.93 (svn revision r333).

Changes since the last import:

r333 More x86 fixes and a new stack test.
r332 Improve stack allocation on x86.
r331 Make sljit_free_unused_memory_exec public, PPC flush takes priority.
r330 Reverse the stack utility to top-down.
r329 Add sljit_set_current_flags function.
r328 Add two more virtual registers to x86/32, ARM-32 refactor.
r327 Remove value caching on ARM-32.
r326 Remove value caching on ARM-Thumb2.
r325 Move with update rework.
r324 Arm32 store fixes.
r323 Update macros and remove copyright years.
r322 Reworking flags, removing keep flags.
r321 Quick fix for regexjit.
r320 Improve protected executable allocator. Patch insipred by Christian Persch.
r319 Fully support dynamic code modifications again.
r318 Support protected allocator on all architectures except TILEGX.
r317 Rework protected allocator, only x86 linux is supported now.
r316 Add protected executable allocator.
r315 Remove SLJIT_MEMMOVE.
r314 Fix unaligned accesses on x86. Patch by Marc Mutz.
 1.1.1.3 29-May-2016  alnsn Import sljit version r313.

Changes since the last import:

r313 Fix a racing condition reported by Mozilla.
r312 Support Android ARM64 cacheflush. Patch by Tavian Barnes.
r311 Update opcode dump.
r310 Better type specification for integer operations and conditional types.
r309 Better type specification for long mul and divide operators.
r308 Better type specification for floating point operations.
r307 Change d and s postfixes to f64 and f32.
r306 Change b,h,i postifxes to 8,16,32.
r305 Fix a wrong immediate number. Reported by Michael McConville.
r304 Make file patch by Michael McConville.
r303 Landed changes created by Michael McConville.
r302 Add support for cmov on x86.
r301 Tile-Gx fixes by Walter Lee
r300 Add WinCE support.
r299 Add a tutorial for SLJIT. Contributed by Wen Xichang.
r298 Improve integer division.
r297 Start reworking the integer division.
r296 Add an overview for SLJIT.
r295 Small optimizations for x86 and ARM64.
r294 Fix ARM64 SP alignment.
r293 Add a new sljit_set_compiler_memory_error function.
r292 Add missing argument on ARM32.
r291 Minor fixes and NOINLINE support.
r290 Support custom memory allocators.
r289 Add SLJIT_DOUBLE_ALIGNMENT support and emit_op_custom size check.
r288 Add suport for SLJIT_ARGUMENT_CHECKS on all architectures.
r287 Add SLJIT_ARGUMENT_CHECKS compiler option and lots of cleanups.
r286 Support the new naming on PPC and MIPS.
r285 Support the new naming on ARM and SPARC.
r284 Move the type letter to the beggining of the floating point opcodes.
r283 Add i_ s_ d_ froms to compare types.
r282 Fix an incorrect form of mul on x86-64.
r281 Refactoring sljitConfigInternal.h header.
r280 Remove variable locals offset.
r279 Test skips are not reported if verbose is disabled.
r278 Add options to sljit_emit_enter and sljit_set_context.
r277 Reindexing opX opcodes.
r276 Some comments are fixed and minor refactors were done.
r275 Minor optimizations.
r274 Extend the register set on ARM.
r273 Extend the register set on PPC, MIPS, SPARC.
r272 Allow remapping of any registers: not just scratch->saved, but saved->scratch as well.
r271 Renaming floating point registers to support more of them.
r270 Extend the register set on x86.
r269 Renaming integer registers for preparing the support of any all machine registers.
r268 Refactor a macro to work when debug is disabled.
r267 Introduce architecture macros without 32/64 bit postfix.
r266 The floating point conversion operators are finished on PPC, and they are supported on all architectures now.
r265 FPU operations support locals access now. CONW is supported on PPC now.
r264 Continue code refactoring, MOVS/MOVD are optimized on all architectures.
r263 SPARC implementation of floating point operators.
r262 Small refactorings.
r261 MIPS implementation of floating point conversion operators.
r260 ARM implementation of floating point operators.
r259 x86 implementation of floating point conversion operators.
r258 Refactoring sljit_emit_fop1 opcodes, inserting placeholders for new ones.
 1.1.1.2 17-Jun-2014  alnsn Import sljit 0.91 (svn r257).

The changes since the last import are:

r257: Add missing ADJUST_LOCAL_OFFSET for ARM64.
r256: Move incorrectly placed array definitions.
r255: More work on testing environment.
r254: Refactor test default output.
r253: Pass entry adress in r12 on PPC-LE.
r252: Optimize calls on MIPS-64.
r251: Several minor fixes.
r250: Add missing SLJIT_IS_FPU_AVAILABLE checks and reorder U and S flags.
r249: Optimize jumps on ARM-64.
r248: Optimize jumps on PowerPC.
r247: MIPS64 support is mostly finished.
r246: MIPS arithmetic.
r245: Start working on MIPS64.
r244: Uniform names for TILE-Gx.
r243: Uniform the names of ARM compilers.
r242: Change ll to l on x86 and rename some instructions on ARM-64.
r241: Improved memory access in PPC and reordering the parameter type flags.
r240: Prepare for more registers on ARM-Thumb2 and renaming TMP_REGISTER to TMP_REG1 on x86.
r239: Prepare for more registers on ARMv5.
r238: Prepare for more registers on TILE-Gx.
r237: Prepare for more registers on MIPS and SPARC.
r236: Prepare for more registers on PPC.
r235: Prepare for more registers on x86.
r234: Most tests are pass on ARM-64 now.
r233: Around 25 test cases are now pass on ARM-64.
r232: More progress on ARM-64 and Thumb2 refactoring.
r231: Some progress an ARM-64 and ARM-T2 refactoring.
r230: Thumb2 code refactoring.
r229: Start working on ARM-64.
r228: Little endian PowerPC systems are supported now by the JIT compiler.
r227: TileGX architecture is now supported. Patch made by Jiong Wang.
r226: Cache flush for android. Patch by Giuseppe D'Angelo.
r225: Add support for forcibly freeing unused executable memory. Inspired by Carsten Klein.
r224: Few typo fixes.
r223: Reorder madvise and posix_madvise.
r222: The missing sljit_get_float_register_index function is added.
r221: Remove an invalid shift on ARM.
r220: JIT compiler now supports 32 bit Macs thanks to Lawrence Velazquez.
r219: Better code size statistics.
r218: Improvements for x86 and LIR dump.
r217: ICC and SunPro C fixes
r216: A new file for tracking internal changes are added.
r215: Less GNU dependnet Makefile and Intel style assemby for x86-64 systems.
r214: Switch from stdcall to cdecl in x86-32.
r213: Upstreaming minor fixes. Thanks for Daniel Richard G.
r212: Documentation update and a fix for a locking issue.
r211: Renaming temporaries to scratches to match the new name of the register. Does not affect compatibility.
r210: Improving assertions.
r209: Port sljit to SunPro C compiler. Patch by Daniel Richard G.
r208: SLJIT_TEMPORARY_REGx registers are renamed to SLJIT_SCRATCH_REGx.
r207: Removing unused checks.
r206: Optimizations for arm.
r205: Some optimizations on powerpc, mips and sparc.
r204: Rename sljit_emit_cond_value to sljit_emit_op_flags.
r203: Small x86 optimization.
r202: Finish cond_value with AND and INT_OP.
r201: More x86 fixes and improvements.
r200: Rename buf and code to inst.
r199: Replacing constants with instruction names in x86. Greatly improves maintainability.
r198: Only xmm0-xmm5 is volatile on Win64, so xmm6 must be saved.
r197: PowerPC shift right always modifies the carry flag. We may need to restore it.
r196: Rename SLJIT_F* functions to SLJIT_*D
r195: SLJIT_INT_OP works in the same way as SLJIT_SINGLE_OP: the input register arguments must be generated by the output of another instruction with SLJIT_INT_OP flag
r194: Renaming sljit_w to sljit_sw, sljit_i to sljit_si, sljit_h to sljit_sh, and sljit_b to sljit_sb.
r193: ARM single precision support.
r192: Single precision support added for ppc, mips and sparc.
r191: Add single precision support. Only works on x86 now.
r190: Relace C types with sljit types. No functionality change.
r189: Change 0 to NULL for mmap.
r188: Support environments where MAP_ANON is not available.
r187: Adding type descriptors for pointers and doubles (preparing for x32 ABIs and single precision support).
 1.1.1.1 28-Oct-2012  alnsn branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.14;
Import of sljit @ r186.

This version adds sparc architecture. Other changes:

r184: NAN to UNORDERED renaming and other fixes.
r180: Common caching in PPC and MIPS.
 1.1.1.1.14.1 10-Aug-2014  tls Rebase.
 1.1.1.1.4.4 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.4.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.4.2 28-Oct-2012  alnsn Import of sljit @ r186.

This version adds sparc architecture. Other changes:

r184: NAN to UNORDERED renaming and other fixes.
r180: Common caching in PPC and MIPS.
 1.1.1.1.4.1 28-Oct-2012  alnsn file sljitNativeSPARC_common.c was added on branch tls-maxphys on 2012-10-28 09:36:27 +0000
 1.1.1.1.2.2 30-Oct-2012  yamt sync with head
 1.1.1.1.2.1 28-Oct-2012  yamt file sljitNativeSPARC_common.c was added on branch yamt-pagecache on 2012-10-30 17:22:21 +0000
 1.2.4.1 09-Jul-2016  skrll Sync with HEAD
 1.3.18.1 10-Jun-2019  christos Sync with HEAD
 1.3.16.1 26-Jan-2019  pgoyette Sync with HEAD
 1.3 20-Jan-2019  alnsn Resolve conflicts.
 1.2 17-Jun-2014  alnsn branches: 1.2.2; 1.2.6; 1.2.30; 1.2.32;
Add $NetBSD$.
 1.1 17-Jun-2014  alnsn branches: 1.1.1;
Initial revision
 1.1.1.2 20-Jan-2019  alnsn Update sljit to version 0.93 (svn revision r333).

Changes since the last import:

r333 More x86 fixes and a new stack test.
r332 Improve stack allocation on x86.
r331 Make sljit_free_unused_memory_exec public, PPC flush takes priority.
r330 Reverse the stack utility to top-down.
r329 Add sljit_set_current_flags function.
r328 Add two more virtual registers to x86/32, ARM-32 refactor.
r327 Remove value caching on ARM-32.
r326 Remove value caching on ARM-Thumb2.
r325 Move with update rework.
r324 Arm32 store fixes.
r323 Update macros and remove copyright years.
r322 Reworking flags, removing keep flags.
r321 Quick fix for regexjit.
r320 Improve protected executable allocator. Patch insipred by Christian Persch.
r319 Fully support dynamic code modifications again.
r318 Support protected allocator on all architectures except TILEGX.
r317 Rework protected allocator, only x86 linux is supported now.
r316 Add protected executable allocator.
r315 Remove SLJIT_MEMMOVE.
r314 Fix unaligned accesses on x86. Patch by Marc Mutz.
 1.1.1.1 17-Jun-2014  alnsn Import sljit 0.91 (svn r257).

The changes since the last import are:

r257: Add missing ADJUST_LOCAL_OFFSET for ARM64.
r256: Move incorrectly placed array definitions.
r255: More work on testing environment.
r254: Refactor test default output.
r253: Pass entry adress in r12 on PPC-LE.
r252: Optimize calls on MIPS-64.
r251: Several minor fixes.
r250: Add missing SLJIT_IS_FPU_AVAILABLE checks and reorder U and S flags.
r249: Optimize jumps on ARM-64.
r248: Optimize jumps on PowerPC.
r247: MIPS64 support is mostly finished.
r246: MIPS arithmetic.
r245: Start working on MIPS64.
r244: Uniform names for TILE-Gx.
r243: Uniform the names of ARM compilers.
r242: Change ll to l on x86 and rename some instructions on ARM-64.
r241: Improved memory access in PPC and reordering the parameter type flags.
r240: Prepare for more registers on ARM-Thumb2 and renaming TMP_REGISTER to TMP_REG1 on x86.
r239: Prepare for more registers on ARMv5.
r238: Prepare for more registers on TILE-Gx.
r237: Prepare for more registers on MIPS and SPARC.
r236: Prepare for more registers on PPC.
r235: Prepare for more registers on x86.
r234: Most tests are pass on ARM-64 now.
r233: Around 25 test cases are now pass on ARM-64.
r232: More progress on ARM-64 and Thumb2 refactoring.
r231: Some progress an ARM-64 and ARM-T2 refactoring.
r230: Thumb2 code refactoring.
r229: Start working on ARM-64.
r228: Little endian PowerPC systems are supported now by the JIT compiler.
r227: TileGX architecture is now supported. Patch made by Jiong Wang.
r226: Cache flush for android. Patch by Giuseppe D'Angelo.
r225: Add support for forcibly freeing unused executable memory. Inspired by Carsten Klein.
r224: Few typo fixes.
r223: Reorder madvise and posix_madvise.
r222: The missing sljit_get_float_register_index function is added.
r221: Remove an invalid shift on ARM.
r220: JIT compiler now supports 32 bit Macs thanks to Lawrence Velazquez.
r219: Better code size statistics.
r218: Improvements for x86 and LIR dump.
r217: ICC and SunPro C fixes
r216: A new file for tracking internal changes are added.
r215: Less GNU dependnet Makefile and Intel style assemby for x86-64 systems.
r214: Switch from stdcall to cdecl in x86-32.
r213: Upstreaming minor fixes. Thanks for Daniel Richard G.
r212: Documentation update and a fix for a locking issue.
r211: Renaming temporaries to scratches to match the new name of the register. Does not affect compatibility.
r210: Improving assertions.
r209: Port sljit to SunPro C compiler. Patch by Daniel Richard G.
r208: SLJIT_TEMPORARY_REGx registers are renamed to SLJIT_SCRATCH_REGx.
r207: Removing unused checks.
r206: Optimizations for arm.
r205: Some optimizations on powerpc, mips and sparc.
r204: Rename sljit_emit_cond_value to sljit_emit_op_flags.
r203: Small x86 optimization.
r202: Finish cond_value with AND and INT_OP.
r201: More x86 fixes and improvements.
r200: Rename buf and code to inst.
r199: Replacing constants with instruction names in x86. Greatly improves maintainability.
r198: Only xmm0-xmm5 is volatile on Win64, so xmm6 must be saved.
r197: PowerPC shift right always modifies the carry flag. We may need to restore it.
r196: Rename SLJIT_F* functions to SLJIT_*D
r195: SLJIT_INT_OP works in the same way as SLJIT_SINGLE_OP: the input register arguments must be generated by the output of another instruction with SLJIT_INT_OP flag
r194: Renaming sljit_w to sljit_sw, sljit_i to sljit_si, sljit_h to sljit_sh, and sljit_b to sljit_sb.
r193: ARM single precision support.
r192: Single precision support added for ppc, mips and sparc.
r191: Add single precision support. Only works on x86 now.
r190: Relace C types with sljit types. No functionality change.
r189: Change 0 to NULL for mmap.
r188: Support environments where MAP_ANON is not available.
r187: Adding type descriptors for pointers and doubles (preparing for x32 ABIs and single precision support).
 1.2.32.1 10-Jun-2019  christos Sync with HEAD
 1.2.30.1 26-Jan-2019  pgoyette Sync with HEAD
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 17-Jun-2014  tls file sljitNativeTILEGX-encoder.c was added on branch tls-maxphys on 2014-08-20 00:04:25 +0000
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 17-Jun-2014  tls file sljitNativeTILEGX-encoder.c was added on branch tls-earlyentropy on 2014-08-10 06:55:41 +0000
 1.4 20-Jan-2019  alnsn Resolve conflicts.
 1.3 29-May-2016  alnsn branches: 1.3.16; 1.3.18;
Resolve conflicts.
 1.2 17-Jun-2014  alnsn branches: 1.2.2; 1.2.6; 1.2.8;
Add $NetBSD$.
 1.1 17-Jun-2014  alnsn branches: 1.1.1;
Initial revision
 1.1.1.3 20-Jan-2019  alnsn Update sljit to version 0.93 (svn revision r333).

Changes since the last import:

r333 More x86 fixes and a new stack test.
r332 Improve stack allocation on x86.
r331 Make sljit_free_unused_memory_exec public, PPC flush takes priority.
r330 Reverse the stack utility to top-down.
r329 Add sljit_set_current_flags function.
r328 Add two more virtual registers to x86/32, ARM-32 refactor.
r327 Remove value caching on ARM-32.
r326 Remove value caching on ARM-Thumb2.
r325 Move with update rework.
r324 Arm32 store fixes.
r323 Update macros and remove copyright years.
r322 Reworking flags, removing keep flags.
r321 Quick fix for regexjit.
r320 Improve protected executable allocator. Patch insipred by Christian Persch.
r319 Fully support dynamic code modifications again.
r318 Support protected allocator on all architectures except TILEGX.
r317 Rework protected allocator, only x86 linux is supported now.
r316 Add protected executable allocator.
r315 Remove SLJIT_MEMMOVE.
r314 Fix unaligned accesses on x86. Patch by Marc Mutz.
 1.1.1.2 29-May-2016  alnsn Import sljit version r313.

Changes since the last import:

r313 Fix a racing condition reported by Mozilla.
r312 Support Android ARM64 cacheflush. Patch by Tavian Barnes.
r311 Update opcode dump.
r310 Better type specification for integer operations and conditional types.
r309 Better type specification for long mul and divide operators.
r308 Better type specification for floating point operations.
r307 Change d and s postfixes to f64 and f32.
r306 Change b,h,i postifxes to 8,16,32.
r305 Fix a wrong immediate number. Reported by Michael McConville.
r304 Make file patch by Michael McConville.
r303 Landed changes created by Michael McConville.
r302 Add support for cmov on x86.
r301 Tile-Gx fixes by Walter Lee
r300 Add WinCE support.
r299 Add a tutorial for SLJIT. Contributed by Wen Xichang.
r298 Improve integer division.
r297 Start reworking the integer division.
r296 Add an overview for SLJIT.
r295 Small optimizations for x86 and ARM64.
r294 Fix ARM64 SP alignment.
r293 Add a new sljit_set_compiler_memory_error function.
r292 Add missing argument on ARM32.
r291 Minor fixes and NOINLINE support.
r290 Support custom memory allocators.
r289 Add SLJIT_DOUBLE_ALIGNMENT support and emit_op_custom size check.
r288 Add suport for SLJIT_ARGUMENT_CHECKS on all architectures.
r287 Add SLJIT_ARGUMENT_CHECKS compiler option and lots of cleanups.
r286 Support the new naming on PPC and MIPS.
r285 Support the new naming on ARM and SPARC.
r284 Move the type letter to the beggining of the floating point opcodes.
r283 Add i_ s_ d_ froms to compare types.
r282 Fix an incorrect form of mul on x86-64.
r281 Refactoring sljitConfigInternal.h header.
r280 Remove variable locals offset.
r279 Test skips are not reported if verbose is disabled.
r278 Add options to sljit_emit_enter and sljit_set_context.
r277 Reindexing opX opcodes.
r276 Some comments are fixed and minor refactors were done.
r275 Minor optimizations.
r274 Extend the register set on ARM.
r273 Extend the register set on PPC, MIPS, SPARC.
r272 Allow remapping of any registers: not just scratch->saved, but saved->scratch as well.
r271 Renaming floating point registers to support more of them.
r270 Extend the register set on x86.
r269 Renaming integer registers for preparing the support of any all machine registers.
r268 Refactor a macro to work when debug is disabled.
r267 Introduce architecture macros without 32/64 bit postfix.
r266 The floating point conversion operators are finished on PPC, and they are supported on all architectures now.
r265 FPU operations support locals access now. CONW is supported on PPC now.
r264 Continue code refactoring, MOVS/MOVD are optimized on all architectures.
r263 SPARC implementation of floating point operators.
r262 Small refactorings.
r261 MIPS implementation of floating point conversion operators.
r260 ARM implementation of floating point operators.
r259 x86 implementation of floating point conversion operators.
r258 Refactoring sljit_emit_fop1 opcodes, inserting placeholders for new ones.
 1.1.1.1 17-Jun-2014  alnsn Import sljit 0.91 (svn r257).

The changes since the last import are:

r257: Add missing ADJUST_LOCAL_OFFSET for ARM64.
r256: Move incorrectly placed array definitions.
r255: More work on testing environment.
r254: Refactor test default output.
r253: Pass entry adress in r12 on PPC-LE.
r252: Optimize calls on MIPS-64.
r251: Several minor fixes.
r250: Add missing SLJIT_IS_FPU_AVAILABLE checks and reorder U and S flags.
r249: Optimize jumps on ARM-64.
r248: Optimize jumps on PowerPC.
r247: MIPS64 support is mostly finished.
r246: MIPS arithmetic.
r245: Start working on MIPS64.
r244: Uniform names for TILE-Gx.
r243: Uniform the names of ARM compilers.
r242: Change ll to l on x86 and rename some instructions on ARM-64.
r241: Improved memory access in PPC and reordering the parameter type flags.
r240: Prepare for more registers on ARM-Thumb2 and renaming TMP_REGISTER to TMP_REG1 on x86.
r239: Prepare for more registers on ARMv5.
r238: Prepare for more registers on TILE-Gx.
r237: Prepare for more registers on MIPS and SPARC.
r236: Prepare for more registers on PPC.
r235: Prepare for more registers on x86.
r234: Most tests are pass on ARM-64 now.
r233: Around 25 test cases are now pass on ARM-64.
r232: More progress on ARM-64 and Thumb2 refactoring.
r231: Some progress an ARM-64 and ARM-T2 refactoring.
r230: Thumb2 code refactoring.
r229: Start working on ARM-64.
r228: Little endian PowerPC systems are supported now by the JIT compiler.
r227: TileGX architecture is now supported. Patch made by Jiong Wang.
r226: Cache flush for android. Patch by Giuseppe D'Angelo.
r225: Add support for forcibly freeing unused executable memory. Inspired by Carsten Klein.
r224: Few typo fixes.
r223: Reorder madvise and posix_madvise.
r222: The missing sljit_get_float_register_index function is added.
r221: Remove an invalid shift on ARM.
r220: JIT compiler now supports 32 bit Macs thanks to Lawrence Velazquez.
r219: Better code size statistics.
r218: Improvements for x86 and LIR dump.
r217: ICC and SunPro C fixes
r216: A new file for tracking internal changes are added.
r215: Less GNU dependnet Makefile and Intel style assemby for x86-64 systems.
r214: Switch from stdcall to cdecl in x86-32.
r213: Upstreaming minor fixes. Thanks for Daniel Richard G.
r212: Documentation update and a fix for a locking issue.
r211: Renaming temporaries to scratches to match the new name of the register. Does not affect compatibility.
r210: Improving assertions.
r209: Port sljit to SunPro C compiler. Patch by Daniel Richard G.
r208: SLJIT_TEMPORARY_REGx registers are renamed to SLJIT_SCRATCH_REGx.
r207: Removing unused checks.
r206: Optimizations for arm.
r205: Some optimizations on powerpc, mips and sparc.
r204: Rename sljit_emit_cond_value to sljit_emit_op_flags.
r203: Small x86 optimization.
r202: Finish cond_value with AND and INT_OP.
r201: More x86 fixes and improvements.
r200: Rename buf and code to inst.
r199: Replacing constants with instruction names in x86. Greatly improves maintainability.
r198: Only xmm0-xmm5 is volatile on Win64, so xmm6 must be saved.
r197: PowerPC shift right always modifies the carry flag. We may need to restore it.
r196: Rename SLJIT_F* functions to SLJIT_*D
r195: SLJIT_INT_OP works in the same way as SLJIT_SINGLE_OP: the input register arguments must be generated by the output of another instruction with SLJIT_INT_OP flag
r194: Renaming sljit_w to sljit_sw, sljit_i to sljit_si, sljit_h to sljit_sh, and sljit_b to sljit_sb.
r193: ARM single precision support.
r192: Single precision support added for ppc, mips and sparc.
r191: Add single precision support. Only works on x86 now.
r190: Relace C types with sljit types. No functionality change.
r189: Change 0 to NULL for mmap.
r188: Support environments where MAP_ANON is not available.
r187: Adding type descriptors for pointers and doubles (preparing for x32 ABIs and single precision support).
 1.2.8.1 09-Jul-2016  skrll Sync with HEAD
 1.2.6.3 03-Dec-2017  jdolecek update from HEAD
 1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.6.1 17-Jun-2014  tls file sljitNativeTILEGX_64.c was added on branch tls-maxphys on 2014-08-20 00:04:25 +0000
 1.2.2.2 10-Aug-2014  tls Rebase.
 1.2.2.1 17-Jun-2014  tls file sljitNativeTILEGX_64.c was added on branch tls-earlyentropy on 2014-08-10 06:55:41 +0000
 1.3.18.1 10-Jun-2019  christos Sync with HEAD
 1.3.16.1 26-Jan-2019  pgoyette Sync with HEAD
 1.6 20-Jan-2019  alnsn Resolve conflicts.
 1.5 29-May-2016  alnsn branches: 1.5.16; 1.5.18;
Resolve conflicts.
 1.4 17-Jun-2014  alnsn branches: 1.4.4;
Add $NetBSD$.
 1.3 17-Jun-2014  alnsn Resolve conflicts.
 1.2 18-Nov-2012  alnsn branches: 1.2.2; 1.2.12;
Apply adapted patch from the author of sljit to fix cdecl functions
generation on i386.
 1.1 06-Oct-2012  alnsn branches: 1.1.1;
Initial revision
 1.1.1.5 20-Jan-2019  alnsn Update sljit to version 0.93 (svn revision r333).

Changes since the last import:

r333 More x86 fixes and a new stack test.
r332 Improve stack allocation on x86.
r331 Make sljit_free_unused_memory_exec public, PPC flush takes priority.
r330 Reverse the stack utility to top-down.
r329 Add sljit_set_current_flags function.
r328 Add two more virtual registers to x86/32, ARM-32 refactor.
r327 Remove value caching on ARM-32.
r326 Remove value caching on ARM-Thumb2.
r325 Move with update rework.
r324 Arm32 store fixes.
r323 Update macros and remove copyright years.
r322 Reworking flags, removing keep flags.
r321 Quick fix for regexjit.
r320 Improve protected executable allocator. Patch insipred by Christian Persch.
r319 Fully support dynamic code modifications again.
r318 Support protected allocator on all architectures except TILEGX.
r317 Rework protected allocator, only x86 linux is supported now.
r316 Add protected executable allocator.
r315 Remove SLJIT_MEMMOVE.
r314 Fix unaligned accesses on x86. Patch by Marc Mutz.
 1.1.1.4 29-May-2016  alnsn Import sljit version r313.

Changes since the last import:

r313 Fix a racing condition reported by Mozilla.
r312 Support Android ARM64 cacheflush. Patch by Tavian Barnes.
r311 Update opcode dump.
r310 Better type specification for integer operations and conditional types.
r309 Better type specification for long mul and divide operators.
r308 Better type specification for floating point operations.
r307 Change d and s postfixes to f64 and f32.
r306 Change b,h,i postifxes to 8,16,32.
r305 Fix a wrong immediate number. Reported by Michael McConville.
r304 Make file patch by Michael McConville.
r303 Landed changes created by Michael McConville.
r302 Add support for cmov on x86.
r301 Tile-Gx fixes by Walter Lee
r300 Add WinCE support.
r299 Add a tutorial for SLJIT. Contributed by Wen Xichang.
r298 Improve integer division.
r297 Start reworking the integer division.
r296 Add an overview for SLJIT.
r295 Small optimizations for x86 and ARM64.
r294 Fix ARM64 SP alignment.
r293 Add a new sljit_set_compiler_memory_error function.
r292 Add missing argument on ARM32.
r291 Minor fixes and NOINLINE support.
r290 Support custom memory allocators.
r289 Add SLJIT_DOUBLE_ALIGNMENT support and emit_op_custom size check.
r288 Add suport for SLJIT_ARGUMENT_CHECKS on all architectures.
r287 Add SLJIT_ARGUMENT_CHECKS compiler option and lots of cleanups.
r286 Support the new naming on PPC and MIPS.
r285 Support the new naming on ARM and SPARC.
r284 Move the type letter to the beggining of the floating point opcodes.
r283 Add i_ s_ d_ froms to compare types.
r282 Fix an incorrect form of mul on x86-64.
r281 Refactoring sljitConfigInternal.h header.
r280 Remove variable locals offset.
r279 Test skips are not reported if verbose is disabled.
r278 Add options to sljit_emit_enter and sljit_set_context.
r277 Reindexing opX opcodes.
r276 Some comments are fixed and minor refactors were done.
r275 Minor optimizations.
r274 Extend the register set on ARM.
r273 Extend the register set on PPC, MIPS, SPARC.
r272 Allow remapping of any registers: not just scratch->saved, but saved->scratch as well.
r271 Renaming floating point registers to support more of them.
r270 Extend the register set on x86.
r269 Renaming integer registers for preparing the support of any all machine registers.
r268 Refactor a macro to work when debug is disabled.
r267 Introduce architecture macros without 32/64 bit postfix.
r266 The floating point conversion operators are finished on PPC, and they are supported on all architectures now.
r265 FPU operations support locals access now. CONW is supported on PPC now.
r264 Continue code refactoring, MOVS/MOVD are optimized on all architectures.
r263 SPARC implementation of floating point operators.
r262 Small refactorings.
r261 MIPS implementation of floating point conversion operators.
r260 ARM implementation of floating point operators.
r259 x86 implementation of floating point conversion operators.
r258 Refactoring sljit_emit_fop1 opcodes, inserting placeholders for new ones.
 1.1.1.3 17-Jun-2014  alnsn Import sljit 0.91 (svn r257).

The changes since the last import are:

r257: Add missing ADJUST_LOCAL_OFFSET for ARM64.
r256: Move incorrectly placed array definitions.
r255: More work on testing environment.
r254: Refactor test default output.
r253: Pass entry adress in r12 on PPC-LE.
r252: Optimize calls on MIPS-64.
r251: Several minor fixes.
r250: Add missing SLJIT_IS_FPU_AVAILABLE checks and reorder U and S flags.
r249: Optimize jumps on ARM-64.
r248: Optimize jumps on PowerPC.
r247: MIPS64 support is mostly finished.
r246: MIPS arithmetic.
r245: Start working on MIPS64.
r244: Uniform names for TILE-Gx.
r243: Uniform the names of ARM compilers.
r242: Change ll to l on x86 and rename some instructions on ARM-64.
r241: Improved memory access in PPC and reordering the parameter type flags.
r240: Prepare for more registers on ARM-Thumb2 and renaming TMP_REGISTER to TMP_REG1 on x86.
r239: Prepare for more registers on ARMv5.
r238: Prepare for more registers on TILE-Gx.
r237: Prepare for more registers on MIPS and SPARC.
r236: Prepare for more registers on PPC.
r235: Prepare for more registers on x86.
r234: Most tests are pass on ARM-64 now.
r233: Around 25 test cases are now pass on ARM-64.
r232: More progress on ARM-64 and Thumb2 refactoring.
r231: Some progress an ARM-64 and ARM-T2 refactoring.
r230: Thumb2 code refactoring.
r229: Start working on ARM-64.
r228: Little endian PowerPC systems are supported now by the JIT compiler.
r227: TileGX architecture is now supported. Patch made by Jiong Wang.
r226: Cache flush for android. Patch by Giuseppe D'Angelo.
r225: Add support for forcibly freeing unused executable memory. Inspired by Carsten Klein.
r224: Few typo fixes.
r223: Reorder madvise and posix_madvise.
r222: The missing sljit_get_float_register_index function is added.
r221: Remove an invalid shift on ARM.
r220: JIT compiler now supports 32 bit Macs thanks to Lawrence Velazquez.
r219: Better code size statistics.
r218: Improvements for x86 and LIR dump.
r217: ICC and SunPro C fixes
r216: A new file for tracking internal changes are added.
r215: Less GNU dependnet Makefile and Intel style assemby for x86-64 systems.
r214: Switch from stdcall to cdecl in x86-32.
r213: Upstreaming minor fixes. Thanks for Daniel Richard G.
r212: Documentation update and a fix for a locking issue.
r211: Renaming temporaries to scratches to match the new name of the register. Does not affect compatibility.
r210: Improving assertions.
r209: Port sljit to SunPro C compiler. Patch by Daniel Richard G.
r208: SLJIT_TEMPORARY_REGx registers are renamed to SLJIT_SCRATCH_REGx.
r207: Removing unused checks.
r206: Optimizations for arm.
r205: Some optimizations on powerpc, mips and sparc.
r204: Rename sljit_emit_cond_value to sljit_emit_op_flags.
r203: Small x86 optimization.
r202: Finish cond_value with AND and INT_OP.
r201: More x86 fixes and improvements.
r200: Rename buf and code to inst.
r199: Replacing constants with instruction names in x86. Greatly improves maintainability.
r198: Only xmm0-xmm5 is volatile on Win64, so xmm6 must be saved.
r197: PowerPC shift right always modifies the carry flag. We may need to restore it.
r196: Rename SLJIT_F* functions to SLJIT_*D
r195: SLJIT_INT_OP works in the same way as SLJIT_SINGLE_OP: the input register arguments must be generated by the output of another instruction with SLJIT_INT_OP flag
r194: Renaming sljit_w to sljit_sw, sljit_i to sljit_si, sljit_h to sljit_sh, and sljit_b to sljit_sb.
r193: ARM single precision support.
r192: Single precision support added for ppc, mips and sparc.
r191: Add single precision support. Only works on x86 now.
r190: Relace C types with sljit types. No functionality change.
r189: Change 0 to NULL for mmap.
r188: Support environments where MAP_ANON is not available.
r187: Adding type descriptors for pointers and doubles (preparing for x32 ABIs and single precision support).
 1.1.1.2 28-Oct-2012  alnsn branches: 1.1.1.2.2;
Import of sljit @ r186.

This version adds sparc architecture. Other changes:

r184: NAN to UNORDERED renaming and other fixes.
r180: Common caching in PPC and MIPS.
 1.1.1.1 06-Oct-2012  alnsn Initial import of sljit @ r175.

svn co https://sljit.svn.sourceforge.net/svnroot/sljit@r175 dist
 1.1.1.2.2.3 16-Jan-2013  yamt sync with (a bit old) head
 1.1.1.2.2.2 30-Oct-2012  yamt sync with head
 1.1.1.2.2.1 28-Oct-2012  yamt file sljitNativeX86_32.c was added on branch yamt-pagecache on 2012-10-30 17:22:22 +0000
 1.2.12.1 10-Aug-2014  tls Rebase.
 1.2.2.4 03-Dec-2017  jdolecek update from HEAD
 1.2.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.2.2 18-Nov-2012  alnsn Apply adapted patch from the author of sljit to fix cdecl functions
generation on i386.
 1.2.2.1 18-Nov-2012  alnsn file sljitNativeX86_32.c was added on branch tls-maxphys on 2012-11-18 14:36:39 +0000
 1.4.4.1 09-Jul-2016  skrll Sync with HEAD
 1.5.18.1 10-Jun-2019  christos Sync with HEAD
 1.5.16.1 26-Jan-2019  pgoyette Sync with HEAD
 1.4 20-Jan-2019  alnsn Resolve conflicts.
 1.3 29-May-2016  alnsn branches: 1.3.16; 1.3.18;
Resolve conflicts.
 1.2 17-Jun-2014  alnsn branches: 1.2.4;
Add $NetBSD$.
 1.1 06-Oct-2012  alnsn branches: 1.1.1;
Initial revision
 1.1.1.5 20-Jan-2019  alnsn Update sljit to version 0.93 (svn revision r333).

Changes since the last import:

r333 More x86 fixes and a new stack test.
r332 Improve stack allocation on x86.
r331 Make sljit_free_unused_memory_exec public, PPC flush takes priority.
r330 Reverse the stack utility to top-down.
r329 Add sljit_set_current_flags function.
r328 Add two more virtual registers to x86/32, ARM-32 refactor.
r327 Remove value caching on ARM-32.
r326 Remove value caching on ARM-Thumb2.
r325 Move with update rework.
r324 Arm32 store fixes.
r323 Update macros and remove copyright years.
r322 Reworking flags, removing keep flags.
r321 Quick fix for regexjit.
r320 Improve protected executable allocator. Patch insipred by Christian Persch.
r319 Fully support dynamic code modifications again.
r318 Support protected allocator on all architectures except TILEGX.
r317 Rework protected allocator, only x86 linux is supported now.
r316 Add protected executable allocator.
r315 Remove SLJIT_MEMMOVE.
r314 Fix unaligned accesses on x86. Patch by Marc Mutz.
 1.1.1.4 29-May-2016  alnsn Import sljit version r313.

Changes since the last import:

r313 Fix a racing condition reported by Mozilla.
r312 Support Android ARM64 cacheflush. Patch by Tavian Barnes.
r311 Update opcode dump.
r310 Better type specification for integer operations and conditional types.
r309 Better type specification for long mul and divide operators.
r308 Better type specification for floating point operations.
r307 Change d and s postfixes to f64 and f32.
r306 Change b,h,i postifxes to 8,16,32.
r305 Fix a wrong immediate number. Reported by Michael McConville.
r304 Make file patch by Michael McConville.
r303 Landed changes created by Michael McConville.
r302 Add support for cmov on x86.
r301 Tile-Gx fixes by Walter Lee
r300 Add WinCE support.
r299 Add a tutorial for SLJIT. Contributed by Wen Xichang.
r298 Improve integer division.
r297 Start reworking the integer division.
r296 Add an overview for SLJIT.
r295 Small optimizations for x86 and ARM64.
r294 Fix ARM64 SP alignment.
r293 Add a new sljit_set_compiler_memory_error function.
r292 Add missing argument on ARM32.
r291 Minor fixes and NOINLINE support.
r290 Support custom memory allocators.
r289 Add SLJIT_DOUBLE_ALIGNMENT support and emit_op_custom size check.
r288 Add suport for SLJIT_ARGUMENT_CHECKS on all architectures.
r287 Add SLJIT_ARGUMENT_CHECKS compiler option and lots of cleanups.
r286 Support the new naming on PPC and MIPS.
r285 Support the new naming on ARM and SPARC.
r284 Move the type letter to the beggining of the floating point opcodes.
r283 Add i_ s_ d_ froms to compare types.
r282 Fix an incorrect form of mul on x86-64.
r281 Refactoring sljitConfigInternal.h header.
r280 Remove variable locals offset.
r279 Test skips are not reported if verbose is disabled.
r278 Add options to sljit_emit_enter and sljit_set_context.
r277 Reindexing opX opcodes.
r276 Some comments are fixed and minor refactors were done.
r275 Minor optimizations.
r274 Extend the register set on ARM.
r273 Extend the register set on PPC, MIPS, SPARC.
r272 Allow remapping of any registers: not just scratch->saved, but saved->scratch as well.
r271 Renaming floating point registers to support more of them.
r270 Extend the register set on x86.
r269 Renaming integer registers for preparing the support of any all machine registers.
r268 Refactor a macro to work when debug is disabled.
r267 Introduce architecture macros without 32/64 bit postfix.
r266 The floating point conversion operators are finished on PPC, and they are supported on all architectures now.
r265 FPU operations support locals access now. CONW is supported on PPC now.
r264 Continue code refactoring, MOVS/MOVD are optimized on all architectures.
r263 SPARC implementation of floating point operators.
r262 Small refactorings.
r261 MIPS implementation of floating point conversion operators.
r260 ARM implementation of floating point operators.
r259 x86 implementation of floating point conversion operators.
r258 Refactoring sljit_emit_fop1 opcodes, inserting placeholders for new ones.
 1.1.1.3 17-Jun-2014  alnsn Import sljit 0.91 (svn r257).

The changes since the last import are:

r257: Add missing ADJUST_LOCAL_OFFSET for ARM64.
r256: Move incorrectly placed array definitions.
r255: More work on testing environment.
r254: Refactor test default output.
r253: Pass entry adress in r12 on PPC-LE.
r252: Optimize calls on MIPS-64.
r251: Several minor fixes.
r250: Add missing SLJIT_IS_FPU_AVAILABLE checks and reorder U and S flags.
r249: Optimize jumps on ARM-64.
r248: Optimize jumps on PowerPC.
r247: MIPS64 support is mostly finished.
r246: MIPS arithmetic.
r245: Start working on MIPS64.
r244: Uniform names for TILE-Gx.
r243: Uniform the names of ARM compilers.
r242: Change ll to l on x86 and rename some instructions on ARM-64.
r241: Improved memory access in PPC and reordering the parameter type flags.
r240: Prepare for more registers on ARM-Thumb2 and renaming TMP_REGISTER to TMP_REG1 on x86.
r239: Prepare for more registers on ARMv5.
r238: Prepare for more registers on TILE-Gx.
r237: Prepare for more registers on MIPS and SPARC.
r236: Prepare for more registers on PPC.
r235: Prepare for more registers on x86.
r234: Most tests are pass on ARM-64 now.
r233: Around 25 test cases are now pass on ARM-64.
r232: More progress on ARM-64 and Thumb2 refactoring.
r231: Some progress an ARM-64 and ARM-T2 refactoring.
r230: Thumb2 code refactoring.
r229: Start working on ARM-64.
r228: Little endian PowerPC systems are supported now by the JIT compiler.
r227: TileGX architecture is now supported. Patch made by Jiong Wang.
r226: Cache flush for android. Patch by Giuseppe D'Angelo.
r225: Add support for forcibly freeing unused executable memory. Inspired by Carsten Klein.
r224: Few typo fixes.
r223: Reorder madvise and posix_madvise.
r222: The missing sljit_get_float_register_index function is added.
r221: Remove an invalid shift on ARM.
r220: JIT compiler now supports 32 bit Macs thanks to Lawrence Velazquez.
r219: Better code size statistics.
r218: Improvements for x86 and LIR dump.
r217: ICC and SunPro C fixes
r216: A new file for tracking internal changes are added.
r215: Less GNU dependnet Makefile and Intel style assemby for x86-64 systems.
r214: Switch from stdcall to cdecl in x86-32.
r213: Upstreaming minor fixes. Thanks for Daniel Richard G.
r212: Documentation update and a fix for a locking issue.
r211: Renaming temporaries to scratches to match the new name of the register. Does not affect compatibility.
r210: Improving assertions.
r209: Port sljit to SunPro C compiler. Patch by Daniel Richard G.
r208: SLJIT_TEMPORARY_REGx registers are renamed to SLJIT_SCRATCH_REGx.
r207: Removing unused checks.
r206: Optimizations for arm.
r205: Some optimizations on powerpc, mips and sparc.
r204: Rename sljit_emit_cond_value to sljit_emit_op_flags.
r203: Small x86 optimization.
r202: Finish cond_value with AND and INT_OP.
r201: More x86 fixes and improvements.
r200: Rename buf and code to inst.
r199: Replacing constants with instruction names in x86. Greatly improves maintainability.
r198: Only xmm0-xmm5 is volatile on Win64, so xmm6 must be saved.
r197: PowerPC shift right always modifies the carry flag. We may need to restore it.
r196: Rename SLJIT_F* functions to SLJIT_*D
r195: SLJIT_INT_OP works in the same way as SLJIT_SINGLE_OP: the input register arguments must be generated by the output of another instruction with SLJIT_INT_OP flag
r194: Renaming sljit_w to sljit_sw, sljit_i to sljit_si, sljit_h to sljit_sh, and sljit_b to sljit_sb.
r193: ARM single precision support.
r192: Single precision support added for ppc, mips and sparc.
r191: Add single precision support. Only works on x86 now.
r190: Relace C types with sljit types. No functionality change.
r189: Change 0 to NULL for mmap.
r188: Support environments where MAP_ANON is not available.
r187: Adding type descriptors for pointers and doubles (preparing for x32 ABIs and single precision support).
 1.1.1.2 28-Oct-2012  alnsn branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.14;
Import of sljit @ r186.

This version adds sparc architecture. Other changes:

r184: NAN to UNORDERED renaming and other fixes.
r180: Common caching in PPC and MIPS.
 1.1.1.1 06-Oct-2012  alnsn Initial import of sljit @ r175.

svn co https://sljit.svn.sourceforge.net/svnroot/sljit@r175 dist
 1.1.1.2.14.1 10-Aug-2014  tls Rebase.
 1.1.1.2.4.4 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.4.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.4.2 28-Oct-2012  alnsn Import of sljit @ r186.

This version adds sparc architecture. Other changes:

r184: NAN to UNORDERED renaming and other fixes.
r180: Common caching in PPC and MIPS.
 1.1.1.2.4.1 28-Oct-2012  alnsn file sljitNativeX86_64.c was added on branch tls-maxphys on 2012-10-28 09:36:25 +0000
 1.1.1.2.2.2 30-Oct-2012  yamt sync with head
 1.1.1.2.2.1 28-Oct-2012  yamt file sljitNativeX86_64.c was added on branch yamt-pagecache on 2012-10-30 17:22:22 +0000
 1.2.4.1 09-Jul-2016  skrll Sync with HEAD
 1.3.18.1 10-Jun-2019  christos Sync with HEAD
 1.3.16.1 26-Jan-2019  pgoyette Sync with HEAD
 1.10 30-Nov-2021  christos lint uses the gcc assembly syntax
 1.9 20-Jan-2019  alnsn Resolve conflicts.
 1.8 29-May-2016  alnsn branches: 1.8.16; 1.8.18;
Resolve conflicts.
 1.7 16-Feb-2015  alnsn Apply a bugfix from r282 http://sourceforge.net/p/sljit/code/282/.

The bug was originally reported by me in a newer upstream version.
American fuzzy lop rediscovered it for the version of sljit in the
NetBSD tree.
 1.6 17-Jun-2014  alnsn branches: 1.6.2; 1.6.4;
Add $NetBSD$.
 1.5 17-Jun-2014  alnsn Resolve conflicts.
 1.4 18-Nov-2012  alnsn branches: 1.4.2; 1.4.12;
Apply adapted patch from the author of sljit to fix cdecl functions
generation on i386.
 1.3 28-Oct-2012  alnsn branches: 1.3.2;
Resolve conflicts.
 1.2 13-Oct-2012  alnsn Fix compilation.
 1.1 06-Oct-2012  alnsn branches: 1.1.1;
Initial revision
 1.1.1.6 20-Jan-2019  alnsn Update sljit to version 0.93 (svn revision r333).

Changes since the last import:

r333 More x86 fixes and a new stack test.
r332 Improve stack allocation on x86.
r331 Make sljit_free_unused_memory_exec public, PPC flush takes priority.
r330 Reverse the stack utility to top-down.
r329 Add sljit_set_current_flags function.
r328 Add two more virtual registers to x86/32, ARM-32 refactor.
r327 Remove value caching on ARM-32.
r326 Remove value caching on ARM-Thumb2.
r325 Move with update rework.
r324 Arm32 store fixes.
r323 Update macros and remove copyright years.
r322 Reworking flags, removing keep flags.
r321 Quick fix for regexjit.
r320 Improve protected executable allocator. Patch insipred by Christian Persch.
r319 Fully support dynamic code modifications again.
r318 Support protected allocator on all architectures except TILEGX.
r317 Rework protected allocator, only x86 linux is supported now.
r316 Add protected executable allocator.
r315 Remove SLJIT_MEMMOVE.
r314 Fix unaligned accesses on x86. Patch by Marc Mutz.
 1.1.1.5 29-May-2016  alnsn Import sljit version r313.

Changes since the last import:

r313 Fix a racing condition reported by Mozilla.
r312 Support Android ARM64 cacheflush. Patch by Tavian Barnes.
r311 Update opcode dump.
r310 Better type specification for integer operations and conditional types.
r309 Better type specification for long mul and divide operators.
r308 Better type specification for floating point operations.
r307 Change d and s postfixes to f64 and f32.
r306 Change b,h,i postifxes to 8,16,32.
r305 Fix a wrong immediate number. Reported by Michael McConville.
r304 Make file patch by Michael McConville.
r303 Landed changes created by Michael McConville.
r302 Add support for cmov on x86.
r301 Tile-Gx fixes by Walter Lee
r300 Add WinCE support.
r299 Add a tutorial for SLJIT. Contributed by Wen Xichang.
r298 Improve integer division.
r297 Start reworking the integer division.
r296 Add an overview for SLJIT.
r295 Small optimizations for x86 and ARM64.
r294 Fix ARM64 SP alignment.
r293 Add a new sljit_set_compiler_memory_error function.
r292 Add missing argument on ARM32.
r291 Minor fixes and NOINLINE support.
r290 Support custom memory allocators.
r289 Add SLJIT_DOUBLE_ALIGNMENT support and emit_op_custom size check.
r288 Add suport for SLJIT_ARGUMENT_CHECKS on all architectures.
r287 Add SLJIT_ARGUMENT_CHECKS compiler option and lots of cleanups.
r286 Support the new naming on PPC and MIPS.
r285 Support the new naming on ARM and SPARC.
r284 Move the type letter to the beggining of the floating point opcodes.
r283 Add i_ s_ d_ froms to compare types.
r282 Fix an incorrect form of mul on x86-64.
r281 Refactoring sljitConfigInternal.h header.
r280 Remove variable locals offset.
r279 Test skips are not reported if verbose is disabled.
r278 Add options to sljit_emit_enter and sljit_set_context.
r277 Reindexing opX opcodes.
r276 Some comments are fixed and minor refactors were done.
r275 Minor optimizations.
r274 Extend the register set on ARM.
r273 Extend the register set on PPC, MIPS, SPARC.
r272 Allow remapping of any registers: not just scratch->saved, but saved->scratch as well.
r271 Renaming floating point registers to support more of them.
r270 Extend the register set on x86.
r269 Renaming integer registers for preparing the support of any all machine registers.
r268 Refactor a macro to work when debug is disabled.
r267 Introduce architecture macros without 32/64 bit postfix.
r266 The floating point conversion operators are finished on PPC, and they are supported on all architectures now.
r265 FPU operations support locals access now. CONW is supported on PPC now.
r264 Continue code refactoring, MOVS/MOVD are optimized on all architectures.
r263 SPARC implementation of floating point operators.
r262 Small refactorings.
r261 MIPS implementation of floating point conversion operators.
r260 ARM implementation of floating point operators.
r259 x86 implementation of floating point conversion operators.
r258 Refactoring sljit_emit_fop1 opcodes, inserting placeholders for new ones.
 1.1.1.4 17-Jun-2014  alnsn Import sljit 0.91 (svn r257).

The changes since the last import are:

r257: Add missing ADJUST_LOCAL_OFFSET for ARM64.
r256: Move incorrectly placed array definitions.
r255: More work on testing environment.
r254: Refactor test default output.
r253: Pass entry adress in r12 on PPC-LE.
r252: Optimize calls on MIPS-64.
r251: Several minor fixes.
r250: Add missing SLJIT_IS_FPU_AVAILABLE checks and reorder U and S flags.
r249: Optimize jumps on ARM-64.
r248: Optimize jumps on PowerPC.
r247: MIPS64 support is mostly finished.
r246: MIPS arithmetic.
r245: Start working on MIPS64.
r244: Uniform names for TILE-Gx.
r243: Uniform the names of ARM compilers.
r242: Change ll to l on x86 and rename some instructions on ARM-64.
r241: Improved memory access in PPC and reordering the parameter type flags.
r240: Prepare for more registers on ARM-Thumb2 and renaming TMP_REGISTER to TMP_REG1 on x86.
r239: Prepare for more registers on ARMv5.
r238: Prepare for more registers on TILE-Gx.
r237: Prepare for more registers on MIPS and SPARC.
r236: Prepare for more registers on PPC.
r235: Prepare for more registers on x86.
r234: Most tests are pass on ARM-64 now.
r233: Around 25 test cases are now pass on ARM-64.
r232: More progress on ARM-64 and Thumb2 refactoring.
r231: Some progress an ARM-64 and ARM-T2 refactoring.
r230: Thumb2 code refactoring.
r229: Start working on ARM-64.
r228: Little endian PowerPC systems are supported now by the JIT compiler.
r227: TileGX architecture is now supported. Patch made by Jiong Wang.
r226: Cache flush for android. Patch by Giuseppe D'Angelo.
r225: Add support for forcibly freeing unused executable memory. Inspired by Carsten Klein.
r224: Few typo fixes.
r223: Reorder madvise and posix_madvise.
r222: The missing sljit_get_float_register_index function is added.
r221: Remove an invalid shift on ARM.
r220: JIT compiler now supports 32 bit Macs thanks to Lawrence Velazquez.
r219: Better code size statistics.
r218: Improvements for x86 and LIR dump.
r217: ICC and SunPro C fixes
r216: A new file for tracking internal changes are added.
r215: Less GNU dependnet Makefile and Intel style assemby for x86-64 systems.
r214: Switch from stdcall to cdecl in x86-32.
r213: Upstreaming minor fixes. Thanks for Daniel Richard G.
r212: Documentation update and a fix for a locking issue.
r211: Renaming temporaries to scratches to match the new name of the register. Does not affect compatibility.
r210: Improving assertions.
r209: Port sljit to SunPro C compiler. Patch by Daniel Richard G.
r208: SLJIT_TEMPORARY_REGx registers are renamed to SLJIT_SCRATCH_REGx.
r207: Removing unused checks.
r206: Optimizations for arm.
r205: Some optimizations on powerpc, mips and sparc.
r204: Rename sljit_emit_cond_value to sljit_emit_op_flags.
r203: Small x86 optimization.
r202: Finish cond_value with AND and INT_OP.
r201: More x86 fixes and improvements.
r200: Rename buf and code to inst.
r199: Replacing constants with instruction names in x86. Greatly improves maintainability.
r198: Only xmm0-xmm5 is volatile on Win64, so xmm6 must be saved.
r197: PowerPC shift right always modifies the carry flag. We may need to restore it.
r196: Rename SLJIT_F* functions to SLJIT_*D
r195: SLJIT_INT_OP works in the same way as SLJIT_SINGLE_OP: the input register arguments must be generated by the output of another instruction with SLJIT_INT_OP flag
r194: Renaming sljit_w to sljit_sw, sljit_i to sljit_si, sljit_h to sljit_sh, and sljit_b to sljit_sb.
r193: ARM single precision support.
r192: Single precision support added for ppc, mips and sparc.
r191: Add single precision support. Only works on x86 now.
r190: Relace C types with sljit types. No functionality change.
r189: Change 0 to NULL for mmap.
r188: Support environments where MAP_ANON is not available.
r187: Adding type descriptors for pointers and doubles (preparing for x32 ABIs and single precision support).
 1.1.1.3 28-Oct-2012  alnsn Import of sljit @ r186.

This version adds sparc architecture. Other changes:

r184: NAN to UNORDERED renaming and other fixes.
r180: Common caching in PPC and MIPS.
 1.1.1.2 21-Oct-2012  alnsn Import sljit @ r176.

r176: Add void to function definitions. Patch by Alexander Nasonov
 1.1.1.1 06-Oct-2012  alnsn Initial import of sljit @ r175.

svn co https://sljit.svn.sourceforge.net/svnroot/sljit@r175 dist
 1.3.2.3 16-Jan-2013  yamt sync with (a bit old) head
 1.3.2.2 30-Oct-2012  yamt sync with head
 1.3.2.1 28-Oct-2012  yamt file sljitNativeX86_common.c was added on branch yamt-pagecache on 2012-10-30 17:22:22 +0000
 1.4.12.1 10-Aug-2014  tls Rebase.
 1.4.2.4 03-Dec-2017  jdolecek update from HEAD
 1.4.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.2.2 18-Nov-2012  alnsn Apply adapted patch from the author of sljit to fix cdecl functions
generation on i386.
 1.4.2.1 18-Nov-2012  alnsn file sljitNativeX86_common.c was added on branch tls-maxphys on 2012-11-18 14:36:39 +0000
 1.6.4.2 09-Jul-2016  skrll Sync with HEAD
 1.6.4.1 06-Apr-2015  skrll Sync with HEAD
 1.6.2.1 17-Feb-2015  martin Pull up following revision(s) (requested by alnsn in ticket #531):
sys/external/bsd/sljit/dist/sljit_src/sljitNativeX86_common.c: revision 1.7
Apply a bugfix from r282 http://sourceforge.net/p/sljit/code/282/.
The bug was originally reported by me in a newer upstream version.
American fuzzy lop rediscovered it for the version of sljit in the
NetBSD tree.
 1.8.18.1 10-Jun-2019  christos Sync with HEAD
 1.8.16.1 26-Jan-2019  pgoyette Sync with HEAD
 1.1 20-Jan-2019  alnsn branches: 1.1.1;
Initial revision
 1.1.1.1 20-Jan-2019  alnsn branches: 1.1.1.1.2; 1.1.1.1.6;
Update sljit to version 0.93 (svn revision r333).

Changes since the last import:

r333 More x86 fixes and a new stack test.
r332 Improve stack allocation on x86.
r331 Make sljit_free_unused_memory_exec public, PPC flush takes priority.
r330 Reverse the stack utility to top-down.
r329 Add sljit_set_current_flags function.
r328 Add two more virtual registers to x86/32, ARM-32 refactor.
r327 Remove value caching on ARM-32.
r326 Remove value caching on ARM-Thumb2.
r325 Move with update rework.
r324 Arm32 store fixes.
r323 Update macros and remove copyright years.
r322 Reworking flags, removing keep flags.
r321 Quick fix for regexjit.
r320 Improve protected executable allocator. Patch insipred by Christian Persch.
r319 Fully support dynamic code modifications again.
r318 Support protected allocator on all architectures except TILEGX.
r317 Rework protected allocator, only x86 linux is supported now.
r316 Add protected executable allocator.
r315 Remove SLJIT_MEMMOVE.
r314 Fix unaligned accesses on x86. Patch by Marc Mutz.
 1.1.1.1.6.2 10-Jun-2019  christos Sync with HEAD
 1.1.1.1.6.1 20-Jan-2019  christos file sljitProtExecAllocator.c was added on branch phil-wifi on 2019-06-10 22:08:38 +0000
 1.1.1.1.2.2 26-Jan-2019  pgoyette Sync with HEAD
 1.1.1.1.2.1 20-Jan-2019  pgoyette file sljitProtExecAllocator.c was added on branch pgoyette-compat on 2019-01-26 22:00:25 +0000
 1.11 05-Sep-2020  riastradh Round of uvm.h cleanup.

The poorly named uvm.h is generally supposed to be for uvm-internal
users only.

- Narrow it to files that actually need it -- mostly files that need
to query whether curlwp is the pagedaemon, which should maybe be
exposed by an external header.

- Use uvm_extern.h where feasible and uvm_*.h for things not exposed
by it. We should split up uvm_extern.h but this will serve for now
to reduce the uvm.h dependencies.

- Use uvm_stat.h and #ifdef UVMHIST uvm.h for files that use
UVMHIST(ubchist), since ubchist is declared in uvm.h but the
reference evaporates if UVMHIST is not defined, so we reduce header
file dependencies.

- Make uvm_device.h and uvm_swap.h independently includable while
here.

ok chs@
 1.10 20-Jan-2019  alnsn Resolve conflicts.
 1.9 29-May-2016  alnsn branches: 1.9.16; 1.9.18;
Alloc/free macros in the new sljit version take two arguments.
 1.8 29-May-2016  alnsn Resolve conflicts.
 1.7 17-Jun-2014  alnsn branches: 1.7.4;
Add $NetBSD$.
 1.6 17-Jun-2014  alnsn Resolve conflicts.
 1.5 29-Dec-2013  christos branches: 1.5.2;
Simplify previous, don't even set the variables if they are not going to
be used.
 1.4 29-Dec-2013  christos ifdef unused variables
 1.3 17-Dec-2013  alnsn Turn on executable allocator an use module_map with UVM_KMF_EXEC flag.

This should fix execution of code generated by librumpkern_sljit.
Also enable global lock.
 1.2 06-Oct-2012  alnsn branches: 1.2.2; 1.2.4; 1.2.6;
Adapt code to compile with -D_KERNEL.
 1.1 06-Oct-2012  alnsn branches: 1.1.1;
Initial revision
 1.1.1.5 20-Jan-2019  alnsn Update sljit to version 0.93 (svn revision r333).

Changes since the last import:

r333 More x86 fixes and a new stack test.
r332 Improve stack allocation on x86.
r331 Make sljit_free_unused_memory_exec public, PPC flush takes priority.
r330 Reverse the stack utility to top-down.
r329 Add sljit_set_current_flags function.
r328 Add two more virtual registers to x86/32, ARM-32 refactor.
r327 Remove value caching on ARM-32.
r326 Remove value caching on ARM-Thumb2.
r325 Move with update rework.
r324 Arm32 store fixes.
r323 Update macros and remove copyright years.
r322 Reworking flags, removing keep flags.
r321 Quick fix for regexjit.
r320 Improve protected executable allocator. Patch insipred by Christian Persch.
r319 Fully support dynamic code modifications again.
r318 Support protected allocator on all architectures except TILEGX.
r317 Rework protected allocator, only x86 linux is supported now.
r316 Add protected executable allocator.
r315 Remove SLJIT_MEMMOVE.
r314 Fix unaligned accesses on x86. Patch by Marc Mutz.
 1.1.1.4 29-May-2016  alnsn Import sljit version r313.

Changes since the last import:

r313 Fix a racing condition reported by Mozilla.
r312 Support Android ARM64 cacheflush. Patch by Tavian Barnes.
r311 Update opcode dump.
r310 Better type specification for integer operations and conditional types.
r309 Better type specification for long mul and divide operators.
r308 Better type specification for floating point operations.
r307 Change d and s postfixes to f64 and f32.
r306 Change b,h,i postifxes to 8,16,32.
r305 Fix a wrong immediate number. Reported by Michael McConville.
r304 Make file patch by Michael McConville.
r303 Landed changes created by Michael McConville.
r302 Add support for cmov on x86.
r301 Tile-Gx fixes by Walter Lee
r300 Add WinCE support.
r299 Add a tutorial for SLJIT. Contributed by Wen Xichang.
r298 Improve integer division.
r297 Start reworking the integer division.
r296 Add an overview for SLJIT.
r295 Small optimizations for x86 and ARM64.
r294 Fix ARM64 SP alignment.
r293 Add a new sljit_set_compiler_memory_error function.
r292 Add missing argument on ARM32.
r291 Minor fixes and NOINLINE support.
r290 Support custom memory allocators.
r289 Add SLJIT_DOUBLE_ALIGNMENT support and emit_op_custom size check.
r288 Add suport for SLJIT_ARGUMENT_CHECKS on all architectures.
r287 Add SLJIT_ARGUMENT_CHECKS compiler option and lots of cleanups.
r286 Support the new naming on PPC and MIPS.
r285 Support the new naming on ARM and SPARC.
r284 Move the type letter to the beggining of the floating point opcodes.
r283 Add i_ s_ d_ froms to compare types.
r282 Fix an incorrect form of mul on x86-64.
r281 Refactoring sljitConfigInternal.h header.
r280 Remove variable locals offset.
r279 Test skips are not reported if verbose is disabled.
r278 Add options to sljit_emit_enter and sljit_set_context.
r277 Reindexing opX opcodes.
r276 Some comments are fixed and minor refactors were done.
r275 Minor optimizations.
r274 Extend the register set on ARM.
r273 Extend the register set on PPC, MIPS, SPARC.
r272 Allow remapping of any registers: not just scratch->saved, but saved->scratch as well.
r271 Renaming floating point registers to support more of them.
r270 Extend the register set on x86.
r269 Renaming integer registers for preparing the support of any all machine registers.
r268 Refactor a macro to work when debug is disabled.
r267 Introduce architecture macros without 32/64 bit postfix.
r266 The floating point conversion operators are finished on PPC, and they are supported on all architectures now.
r265 FPU operations support locals access now. CONW is supported on PPC now.
r264 Continue code refactoring, MOVS/MOVD are optimized on all architectures.
r263 SPARC implementation of floating point operators.
r262 Small refactorings.
r261 MIPS implementation of floating point conversion operators.
r260 ARM implementation of floating point operators.
r259 x86 implementation of floating point conversion operators.
r258 Refactoring sljit_emit_fop1 opcodes, inserting placeholders for new ones.
 1.1.1.3 17-Jun-2014  alnsn Import sljit 0.91 (svn r257).

The changes since the last import are:

r257: Add missing ADJUST_LOCAL_OFFSET for ARM64.
r256: Move incorrectly placed array definitions.
r255: More work on testing environment.
r254: Refactor test default output.
r253: Pass entry adress in r12 on PPC-LE.
r252: Optimize calls on MIPS-64.
r251: Several minor fixes.
r250: Add missing SLJIT_IS_FPU_AVAILABLE checks and reorder U and S flags.
r249: Optimize jumps on ARM-64.
r248: Optimize jumps on PowerPC.
r247: MIPS64 support is mostly finished.
r246: MIPS arithmetic.
r245: Start working on MIPS64.
r244: Uniform names for TILE-Gx.
r243: Uniform the names of ARM compilers.
r242: Change ll to l on x86 and rename some instructions on ARM-64.
r241: Improved memory access in PPC and reordering the parameter type flags.
r240: Prepare for more registers on ARM-Thumb2 and renaming TMP_REGISTER to TMP_REG1 on x86.
r239: Prepare for more registers on ARMv5.
r238: Prepare for more registers on TILE-Gx.
r237: Prepare for more registers on MIPS and SPARC.
r236: Prepare for more registers on PPC.
r235: Prepare for more registers on x86.
r234: Most tests are pass on ARM-64 now.
r233: Around 25 test cases are now pass on ARM-64.
r232: More progress on ARM-64 and Thumb2 refactoring.
r231: Some progress an ARM-64 and ARM-T2 refactoring.
r230: Thumb2 code refactoring.
r229: Start working on ARM-64.
r228: Little endian PowerPC systems are supported now by the JIT compiler.
r227: TileGX architecture is now supported. Patch made by Jiong Wang.
r226: Cache flush for android. Patch by Giuseppe D'Angelo.
r225: Add support for forcibly freeing unused executable memory. Inspired by Carsten Klein.
r224: Few typo fixes.
r223: Reorder madvise and posix_madvise.
r222: The missing sljit_get_float_register_index function is added.
r221: Remove an invalid shift on ARM.
r220: JIT compiler now supports 32 bit Macs thanks to Lawrence Velazquez.
r219: Better code size statistics.
r218: Improvements for x86 and LIR dump.
r217: ICC and SunPro C fixes
r216: A new file for tracking internal changes are added.
r215: Less GNU dependnet Makefile and Intel style assemby for x86-64 systems.
r214: Switch from stdcall to cdecl in x86-32.
r213: Upstreaming minor fixes. Thanks for Daniel Richard G.
r212: Documentation update and a fix for a locking issue.
r211: Renaming temporaries to scratches to match the new name of the register. Does not affect compatibility.
r210: Improving assertions.
r209: Port sljit to SunPro C compiler. Patch by Daniel Richard G.
r208: SLJIT_TEMPORARY_REGx registers are renamed to SLJIT_SCRATCH_REGx.
r207: Removing unused checks.
r206: Optimizations for arm.
r205: Some optimizations on powerpc, mips and sparc.
r204: Rename sljit_emit_cond_value to sljit_emit_op_flags.
r203: Small x86 optimization.
r202: Finish cond_value with AND and INT_OP.
r201: More x86 fixes and improvements.
r200: Rename buf and code to inst.
r199: Replacing constants with instruction names in x86. Greatly improves maintainability.
r198: Only xmm0-xmm5 is volatile on Win64, so xmm6 must be saved.
r197: PowerPC shift right always modifies the carry flag. We may need to restore it.
r196: Rename SLJIT_F* functions to SLJIT_*D
r195: SLJIT_INT_OP works in the same way as SLJIT_SINGLE_OP: the input register arguments must be generated by the output of another instruction with SLJIT_INT_OP flag
r194: Renaming sljit_w to sljit_sw, sljit_i to sljit_si, sljit_h to sljit_sh, and sljit_b to sljit_sb.
r193: ARM single precision support.
r192: Single precision support added for ppc, mips and sparc.
r191: Add single precision support. Only works on x86 now.
r190: Relace C types with sljit types. No functionality change.
r189: Change 0 to NULL for mmap.
r188: Support environments where MAP_ANON is not available.
r187: Adding type descriptors for pointers and doubles (preparing for x32 ABIs and single precision support).
 1.1.1.2 28-Oct-2012  alnsn Import of sljit @ r186.

This version adds sparc architecture. Other changes:

r184: NAN to UNORDERED renaming and other fixes.
r180: Common caching in PPC and MIPS.
 1.1.1.1 06-Oct-2012  alnsn Initial import of sljit @ r175.

svn co https://sljit.svn.sourceforge.net/svnroot/sljit@r175 dist
 1.2.6.1 18-May-2014  rmind sync with head
 1.2.4.4 03-Dec-2017  jdolecek update from HEAD
 1.2.4.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.4.2 06-Oct-2012  alnsn Adapt code to compile with -D_KERNEL.
 1.2.4.1 06-Oct-2012  alnsn file sljitUtils.c was added on branch tls-maxphys on 2012-10-06 19:23:02 +0000
 1.2.2.3 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.2.2.2 30-Oct-2012  yamt sync with head
 1.2.2.1 06-Oct-2012  yamt file sljitUtils.c was added on branch yamt-pagecache on 2012-10-30 17:22:22 +0000
 1.5.2.1 10-Aug-2014  tls Rebase.
 1.7.4.1 09-Jul-2016  skrll Sync with HEAD
 1.9.18.1 10-Jun-2019  christos Sync with HEAD
 1.9.16.1 26-Jan-2019  pgoyette Sync with HEAD
 1.5 29-May-2016  alnsn Resolve conflicts.
 1.4 17-Jun-2014  alnsn branches: 1.4.4;
Add $NetBSD$.
 1.3 17-Jun-2014  alnsn Resolve conflicts.
 1.2 05-Nov-2012  alnsn branches: 1.2.2; 1.2.12;
Compile with WARNS=3.
 1.1 06-Oct-2012  alnsn branches: 1.1.1;
Initial revision
 1.1.1.4 29-May-2016  alnsn Import sljit version r313.

Changes since the last import:

r313 Fix a racing condition reported by Mozilla.
r312 Support Android ARM64 cacheflush. Patch by Tavian Barnes.
r311 Update opcode dump.
r310 Better type specification for integer operations and conditional types.
r309 Better type specification for long mul and divide operators.
r308 Better type specification for floating point operations.
r307 Change d and s postfixes to f64 and f32.
r306 Change b,h,i postifxes to 8,16,32.
r305 Fix a wrong immediate number. Reported by Michael McConville.
r304 Make file patch by Michael McConville.
r303 Landed changes created by Michael McConville.
r302 Add support for cmov on x86.
r301 Tile-Gx fixes by Walter Lee
r300 Add WinCE support.
r299 Add a tutorial for SLJIT. Contributed by Wen Xichang.
r298 Improve integer division.
r297 Start reworking the integer division.
r296 Add an overview for SLJIT.
r295 Small optimizations for x86 and ARM64.
r294 Fix ARM64 SP alignment.
r293 Add a new sljit_set_compiler_memory_error function.
r292 Add missing argument on ARM32.
r291 Minor fixes and NOINLINE support.
r290 Support custom memory allocators.
r289 Add SLJIT_DOUBLE_ALIGNMENT support and emit_op_custom size check.
r288 Add suport for SLJIT_ARGUMENT_CHECKS on all architectures.
r287 Add SLJIT_ARGUMENT_CHECKS compiler option and lots of cleanups.
r286 Support the new naming on PPC and MIPS.
r285 Support the new naming on ARM and SPARC.
r284 Move the type letter to the beggining of the floating point opcodes.
r283 Add i_ s_ d_ froms to compare types.
r282 Fix an incorrect form of mul on x86-64.
r281 Refactoring sljitConfigInternal.h header.
r280 Remove variable locals offset.
r279 Test skips are not reported if verbose is disabled.
r278 Add options to sljit_emit_enter and sljit_set_context.
r277 Reindexing opX opcodes.
r276 Some comments are fixed and minor refactors were done.
r275 Minor optimizations.
r274 Extend the register set on ARM.
r273 Extend the register set on PPC, MIPS, SPARC.
r272 Allow remapping of any registers: not just scratch->saved, but saved->scratch as well.
r271 Renaming floating point registers to support more of them.
r270 Extend the register set on x86.
r269 Renaming integer registers for preparing the support of any all machine registers.
r268 Refactor a macro to work when debug is disabled.
r267 Introduce architecture macros without 32/64 bit postfix.
r266 The floating point conversion operators are finished on PPC, and they are supported on all architectures now.
r265 FPU operations support locals access now. CONW is supported on PPC now.
r264 Continue code refactoring, MOVS/MOVD are optimized on all architectures.
r263 SPARC implementation of floating point operators.
r262 Small refactorings.
r261 MIPS implementation of floating point conversion operators.
r260 ARM implementation of floating point operators.
r259 x86 implementation of floating point conversion operators.
r258 Refactoring sljit_emit_fop1 opcodes, inserting placeholders for new ones.
 1.1.1.3 17-Jun-2014  alnsn Import sljit 0.91 (svn r257).

The changes since the last import are:

r257: Add missing ADJUST_LOCAL_OFFSET for ARM64.
r256: Move incorrectly placed array definitions.
r255: More work on testing environment.
r254: Refactor test default output.
r253: Pass entry adress in r12 on PPC-LE.
r252: Optimize calls on MIPS-64.
r251: Several minor fixes.
r250: Add missing SLJIT_IS_FPU_AVAILABLE checks and reorder U and S flags.
r249: Optimize jumps on ARM-64.
r248: Optimize jumps on PowerPC.
r247: MIPS64 support is mostly finished.
r246: MIPS arithmetic.
r245: Start working on MIPS64.
r244: Uniform names for TILE-Gx.
r243: Uniform the names of ARM compilers.
r242: Change ll to l on x86 and rename some instructions on ARM-64.
r241: Improved memory access in PPC and reordering the parameter type flags.
r240: Prepare for more registers on ARM-Thumb2 and renaming TMP_REGISTER to TMP_REG1 on x86.
r239: Prepare for more registers on ARMv5.
r238: Prepare for more registers on TILE-Gx.
r237: Prepare for more registers on MIPS and SPARC.
r236: Prepare for more registers on PPC.
r235: Prepare for more registers on x86.
r234: Most tests are pass on ARM-64 now.
r233: Around 25 test cases are now pass on ARM-64.
r232: More progress on ARM-64 and Thumb2 refactoring.
r231: Some progress an ARM-64 and ARM-T2 refactoring.
r230: Thumb2 code refactoring.
r229: Start working on ARM-64.
r228: Little endian PowerPC systems are supported now by the JIT compiler.
r227: TileGX architecture is now supported. Patch made by Jiong Wang.
r226: Cache flush for android. Patch by Giuseppe D'Angelo.
r225: Add support for forcibly freeing unused executable memory. Inspired by Carsten Klein.
r224: Few typo fixes.
r223: Reorder madvise and posix_madvise.
r222: The missing sljit_get_float_register_index function is added.
r221: Remove an invalid shift on ARM.
r220: JIT compiler now supports 32 bit Macs thanks to Lawrence Velazquez.
r219: Better code size statistics.
r218: Improvements for x86 and LIR dump.
r217: ICC and SunPro C fixes
r216: A new file for tracking internal changes are added.
r215: Less GNU dependnet Makefile and Intel style assemby for x86-64 systems.
r214: Switch from stdcall to cdecl in x86-32.
r213: Upstreaming minor fixes. Thanks for Daniel Richard G.
r212: Documentation update and a fix for a locking issue.
r211: Renaming temporaries to scratches to match the new name of the register. Does not affect compatibility.
r210: Improving assertions.
r209: Port sljit to SunPro C compiler. Patch by Daniel Richard G.
r208: SLJIT_TEMPORARY_REGx registers are renamed to SLJIT_SCRATCH_REGx.
r207: Removing unused checks.
r206: Optimizations for arm.
r205: Some optimizations on powerpc, mips and sparc.
r204: Rename sljit_emit_cond_value to sljit_emit_op_flags.
r203: Small x86 optimization.
r202: Finish cond_value with AND and INT_OP.
r201: More x86 fixes and improvements.
r200: Rename buf and code to inst.
r199: Replacing constants with instruction names in x86. Greatly improves maintainability.
r198: Only xmm0-xmm5 is volatile on Win64, so xmm6 must be saved.
r197: PowerPC shift right always modifies the carry flag. We may need to restore it.
r196: Rename SLJIT_F* functions to SLJIT_*D
r195: SLJIT_INT_OP works in the same way as SLJIT_SINGLE_OP: the input register arguments must be generated by the output of another instruction with SLJIT_INT_OP flag
r194: Renaming sljit_w to sljit_sw, sljit_i to sljit_si, sljit_h to sljit_sh, and sljit_b to sljit_sb.
r193: ARM single precision support.
r192: Single precision support added for ppc, mips and sparc.
r191: Add single precision support. Only works on x86 now.
r190: Relace C types with sljit types. No functionality change.
r189: Change 0 to NULL for mmap.
r188: Support environments where MAP_ANON is not available.
r187: Adding type descriptors for pointers and doubles (preparing for x32 ABIs and single precision support).
 1.1.1.2 28-Oct-2012  alnsn branches: 1.1.1.2.2;
Import of sljit @ r186.

This version adds sparc architecture. Other changes:

r184: NAN to UNORDERED renaming and other fixes.
r180: Common caching in PPC and MIPS.
 1.1.1.1 06-Oct-2012  alnsn Initial import of sljit @ r175.

svn co https://sljit.svn.sourceforge.net/svnroot/sljit@r175 dist
 1.1.1.2.2.3 16-Jan-2013  yamt sync with (a bit old) head
 1.1.1.2.2.2 30-Oct-2012  yamt sync with head
 1.1.1.2.2.1 28-Oct-2012  yamt file sljitMain.c was added on branch yamt-pagecache on 2012-10-30 17:22:22 +0000
 1.2.12.1 10-Aug-2014  tls Rebase.
 1.2.2.4 03-Dec-2017  jdolecek update from HEAD
 1.2.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.2.2 05-Nov-2012  alnsn Compile with WARNS=3.
 1.2.2.1 05-Nov-2012  alnsn file sljitMain.c was added on branch tls-maxphys on 2012-11-05 00:18:51 +0000
 1.4.4.1 09-Jul-2016  skrll Sync with HEAD
 1.9 13-May-2020  kamil Fix unspecified semantics in left shift

Undefined Behavior in
/usr/src/sys/external/bsd/sljit/dist/test_src/sljitTest.c:568:113,
left shift of 1 by 63 places cannot be represented in type 'sljit_sw' (aka 'long')

Undefined Behavior in
/usr/src/sys/external/bsd/sljit/dist/test_src/sljitTest.c:585:73,
left shift of 1 by 63 places cannot be represented in type 'long long'

Cherry-pick upstream patch:

From 4c741e240668ab4cc4fdb67b67d8a566f98e07bf Mon Sep 17 00:00:00 2001
From: Zoltan Herczeg <zherczeg.u-szeged@partner.samsung.com>
Date: Mon, 6 Apr 2020 06:41:27 -0700
Subject: [PATCH] Rework 0x80..0 computation.
 1.8 20-Jan-2019  alnsn Resolve conflicts.
 1.7 29-May-2016  alnsn branches: 1.7.16; 1.7.18;
Resolve conflicts.
 1.6 09-May-2015  christos CID 976986: NULL deref.
 1.5 16-Feb-2015  alnsn Backport a new testcase from r282 (registers are renamed in the new version).
http://sourceforge.net/p/sljit/code/282/.
 1.4 17-Jun-2014  alnsn branches: 1.4.4;
Add $NetBSD$.
 1.3 17-Jun-2014  alnsn Resolve conflicts.
 1.2 05-Nov-2012  alnsn branches: 1.2.2; 1.2.12;
Compile with WARNS=3.
 1.1 06-Oct-2012  alnsn branches: 1.1.1;
Initial revision
 1.1.1.5 20-Jan-2019  alnsn Update sljit to version 0.93 (svn revision r333).

Changes since the last import:

r333 More x86 fixes and a new stack test.
r332 Improve stack allocation on x86.
r331 Make sljit_free_unused_memory_exec public, PPC flush takes priority.
r330 Reverse the stack utility to top-down.
r329 Add sljit_set_current_flags function.
r328 Add two more virtual registers to x86/32, ARM-32 refactor.
r327 Remove value caching on ARM-32.
r326 Remove value caching on ARM-Thumb2.
r325 Move with update rework.
r324 Arm32 store fixes.
r323 Update macros and remove copyright years.
r322 Reworking flags, removing keep flags.
r321 Quick fix for regexjit.
r320 Improve protected executable allocator. Patch insipred by Christian Persch.
r319 Fully support dynamic code modifications again.
r318 Support protected allocator on all architectures except TILEGX.
r317 Rework protected allocator, only x86 linux is supported now.
r316 Add protected executable allocator.
r315 Remove SLJIT_MEMMOVE.
r314 Fix unaligned accesses on x86. Patch by Marc Mutz.
 1.1.1.4 29-May-2016  alnsn Import sljit version r313.

Changes since the last import:

r313 Fix a racing condition reported by Mozilla.
r312 Support Android ARM64 cacheflush. Patch by Tavian Barnes.
r311 Update opcode dump.
r310 Better type specification for integer operations and conditional types.
r309 Better type specification for long mul and divide operators.
r308 Better type specification for floating point operations.
r307 Change d and s postfixes to f64 and f32.
r306 Change b,h,i postifxes to 8,16,32.
r305 Fix a wrong immediate number. Reported by Michael McConville.
r304 Make file patch by Michael McConville.
r303 Landed changes created by Michael McConville.
r302 Add support for cmov on x86.
r301 Tile-Gx fixes by Walter Lee
r300 Add WinCE support.
r299 Add a tutorial for SLJIT. Contributed by Wen Xichang.
r298 Improve integer division.
r297 Start reworking the integer division.
r296 Add an overview for SLJIT.
r295 Small optimizations for x86 and ARM64.
r294 Fix ARM64 SP alignment.
r293 Add a new sljit_set_compiler_memory_error function.
r292 Add missing argument on ARM32.
r291 Minor fixes and NOINLINE support.
r290 Support custom memory allocators.
r289 Add SLJIT_DOUBLE_ALIGNMENT support and emit_op_custom size check.
r288 Add suport for SLJIT_ARGUMENT_CHECKS on all architectures.
r287 Add SLJIT_ARGUMENT_CHECKS compiler option and lots of cleanups.
r286 Support the new naming on PPC and MIPS.
r285 Support the new naming on ARM and SPARC.
r284 Move the type letter to the beggining of the floating point opcodes.
r283 Add i_ s_ d_ froms to compare types.
r282 Fix an incorrect form of mul on x86-64.
r281 Refactoring sljitConfigInternal.h header.
r280 Remove variable locals offset.
r279 Test skips are not reported if verbose is disabled.
r278 Add options to sljit_emit_enter and sljit_set_context.
r277 Reindexing opX opcodes.
r276 Some comments are fixed and minor refactors were done.
r275 Minor optimizations.
r274 Extend the register set on ARM.
r273 Extend the register set on PPC, MIPS, SPARC.
r272 Allow remapping of any registers: not just scratch->saved, but saved->scratch as well.
r271 Renaming floating point registers to support more of them.
r270 Extend the register set on x86.
r269 Renaming integer registers for preparing the support of any all machine registers.
r268 Refactor a macro to work when debug is disabled.
r267 Introduce architecture macros without 32/64 bit postfix.
r266 The floating point conversion operators are finished on PPC, and they are supported on all architectures now.
r265 FPU operations support locals access now. CONW is supported on PPC now.
r264 Continue code refactoring, MOVS/MOVD are optimized on all architectures.
r263 SPARC implementation of floating point operators.
r262 Small refactorings.
r261 MIPS implementation of floating point conversion operators.
r260 ARM implementation of floating point operators.
r259 x86 implementation of floating point conversion operators.
r258 Refactoring sljit_emit_fop1 opcodes, inserting placeholders for new ones.
 1.1.1.3 17-Jun-2014  alnsn Import sljit 0.91 (svn r257).

The changes since the last import are:

r257: Add missing ADJUST_LOCAL_OFFSET for ARM64.
r256: Move incorrectly placed array definitions.
r255: More work on testing environment.
r254: Refactor test default output.
r253: Pass entry adress in r12 on PPC-LE.
r252: Optimize calls on MIPS-64.
r251: Several minor fixes.
r250: Add missing SLJIT_IS_FPU_AVAILABLE checks and reorder U and S flags.
r249: Optimize jumps on ARM-64.
r248: Optimize jumps on PowerPC.
r247: MIPS64 support is mostly finished.
r246: MIPS arithmetic.
r245: Start working on MIPS64.
r244: Uniform names for TILE-Gx.
r243: Uniform the names of ARM compilers.
r242: Change ll to l on x86 and rename some instructions on ARM-64.
r241: Improved memory access in PPC and reordering the parameter type flags.
r240: Prepare for more registers on ARM-Thumb2 and renaming TMP_REGISTER to TMP_REG1 on x86.
r239: Prepare for more registers on ARMv5.
r238: Prepare for more registers on TILE-Gx.
r237: Prepare for more registers on MIPS and SPARC.
r236: Prepare for more registers on PPC.
r235: Prepare for more registers on x86.
r234: Most tests are pass on ARM-64 now.
r233: Around 25 test cases are now pass on ARM-64.
r232: More progress on ARM-64 and Thumb2 refactoring.
r231: Some progress an ARM-64 and ARM-T2 refactoring.
r230: Thumb2 code refactoring.
r229: Start working on ARM-64.
r228: Little endian PowerPC systems are supported now by the JIT compiler.
r227: TileGX architecture is now supported. Patch made by Jiong Wang.
r226: Cache flush for android. Patch by Giuseppe D'Angelo.
r225: Add support for forcibly freeing unused executable memory. Inspired by Carsten Klein.
r224: Few typo fixes.
r223: Reorder madvise and posix_madvise.
r222: The missing sljit_get_float_register_index function is added.
r221: Remove an invalid shift on ARM.
r220: JIT compiler now supports 32 bit Macs thanks to Lawrence Velazquez.
r219: Better code size statistics.
r218: Improvements for x86 and LIR dump.
r217: ICC and SunPro C fixes
r216: A new file for tracking internal changes are added.
r215: Less GNU dependnet Makefile and Intel style assemby for x86-64 systems.
r214: Switch from stdcall to cdecl in x86-32.
r213: Upstreaming minor fixes. Thanks for Daniel Richard G.
r212: Documentation update and a fix for a locking issue.
r211: Renaming temporaries to scratches to match the new name of the register. Does not affect compatibility.
r210: Improving assertions.
r209: Port sljit to SunPro C compiler. Patch by Daniel Richard G.
r208: SLJIT_TEMPORARY_REGx registers are renamed to SLJIT_SCRATCH_REGx.
r207: Removing unused checks.
r206: Optimizations for arm.
r205: Some optimizations on powerpc, mips and sparc.
r204: Rename sljit_emit_cond_value to sljit_emit_op_flags.
r203: Small x86 optimization.
r202: Finish cond_value with AND and INT_OP.
r201: More x86 fixes and improvements.
r200: Rename buf and code to inst.
r199: Replacing constants with instruction names in x86. Greatly improves maintainability.
r198: Only xmm0-xmm5 is volatile on Win64, so xmm6 must be saved.
r197: PowerPC shift right always modifies the carry flag. We may need to restore it.
r196: Rename SLJIT_F* functions to SLJIT_*D
r195: SLJIT_INT_OP works in the same way as SLJIT_SINGLE_OP: the input register arguments must be generated by the output of another instruction with SLJIT_INT_OP flag
r194: Renaming sljit_w to sljit_sw, sljit_i to sljit_si, sljit_h to sljit_sh, and sljit_b to sljit_sb.
r193: ARM single precision support.
r192: Single precision support added for ppc, mips and sparc.
r191: Add single precision support. Only works on x86 now.
r190: Relace C types with sljit types. No functionality change.
r189: Change 0 to NULL for mmap.
r188: Support environments where MAP_ANON is not available.
r187: Adding type descriptors for pointers and doubles (preparing for x32 ABIs and single precision support).
 1.1.1.2 28-Oct-2012  alnsn branches: 1.1.1.2.2;
Import of sljit @ r186.

This version adds sparc architecture. Other changes:

r184: NAN to UNORDERED renaming and other fixes.
r180: Common caching in PPC and MIPS.
 1.1.1.1 06-Oct-2012  alnsn Initial import of sljit @ r175.

svn co https://sljit.svn.sourceforge.net/svnroot/sljit@r175 dist
 1.1.1.2.2.3 16-Jan-2013  yamt sync with (a bit old) head
 1.1.1.2.2.2 30-Oct-2012  yamt sync with head
 1.1.1.2.2.1 28-Oct-2012  yamt file sljitTest.c was added on branch yamt-pagecache on 2012-10-30 17:22:22 +0000
 1.2.12.1 10-Aug-2014  tls Rebase.
 1.2.2.4 03-Dec-2017  jdolecek update from HEAD
 1.2.2.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.2.2.2 05-Nov-2012  alnsn Compile with WARNS=3.
 1.2.2.1 05-Nov-2012  alnsn file sljitTest.c was added on branch tls-maxphys on 2012-11-05 00:29:58 +0000
 1.4.4.3 09-Jul-2016  skrll Sync with HEAD
 1.4.4.2 06-Jun-2015  skrll Sync with HEAD
 1.4.4.1 06-Apr-2015  skrll Sync with HEAD
 1.7.18.1 10-Jun-2019  christos Sync with HEAD
 1.7.16.1 26-Jan-2019  pgoyette Sync with HEAD
 1.3 26-Jul-2014  alnsn Don't destroy mutexes because the module can't be unload.
 1.2 17-Dec-2013  alnsn branches: 1.2.2;
Turn on executable allocator an use module_map with UVM_KMF_EXEC flag.

This should fix execution of code generated by librumpkern_sljit.
Also enable global lock.
 1.1 22-Oct-2012  christos branches: 1.1.2; 1.1.4; 1.1.6;
This move is taking too long :-) make the file re-appear to fix the build.
 1.1.6.1 18-May-2014  rmind sync with head
 1.1.4.3 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.4.2 22-Oct-2012  christos This move is taking too long :-) make the file re-appear to fix the build.
 1.1.4.1 22-Oct-2012  christos file sljit_mod.c was added on branch tls-maxphys on 2012-10-22 21:21:08 +0000
 1.1.2.3 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.2.2 30-Oct-2012  yamt sync with head
 1.1.2.1 22-Oct-2012  yamt file sljit_mod.c was added on branch yamt-pagecache on 2012-10-30 17:22:22 +0000
 1.2.2.1 10-Aug-2014  tls Rebase.

RSS XML Feed