[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Guile-commits] branch master updated (215617c -> ce91698)

From: Andy Wingo
Subject: [Guile-commits] branch master updated (215617c -> ce91698)
Date: Tue, 18 Sep 2018 03:53:04 -0400 (EDT)

wingo pushed a change to branch master
in repository guile.

      from  215617c   Fix R6RS call-with-{input,output}-file to open textual 
      adds  3b4c061   initial import
      adds  a72bbf2   add .gitignore
      adds  ba5044a   big merge
      adds  bee3ed0   fix for out-of-srcdir build
      adds  50a74cf   use autoheader like every other package in this world
      adds  f8dfee6   fix ppc tests
      adds  32abbe4   fix testfp to pass on ppc
      adds  7101c65   fixes to sparc floating point
      adds  d28b591   add autotools-generated files
      adds  8bf8476   add more autotools-generated files
      adds  c0bff90   include sys/mman.h under Linux/i386
      adds  d36aa43   remove unused variable.
      adds  7ce057e   add JC/JNC
      adds  33bc19d   update FSF address
      adds  ca858a5   fix heading in ppc/fp.h and sparc/fp.h
      adds  4dc7a6e   Fix comments in git-archimport-id: 
      adds  9b5e364   fix PPC jit_ldxi_* with big displacement
      adds  2c42ac6   don't use __func__ nor __FUNCTION__ if not compiling with 
      adds  0c06836   fix mprotect for i386
      adds  50b6e40   fix PPC modi
      adds  e193b09   clarify bundling documentation and improve autoconf macro
      adds  4e40815   one more tweak to fix distribution
      adds  f2cae06   fix `make dist' bug and prepare for releasing 1.2a
      adds  2c1b6b9   bump version, add ldxi test case
      adds  65f4527   upgrade to autoconf 2.60
      adds  d94eae6   fix i386 syntax error
      adds  065bc52   Fix assertion failures in i386 movs and movz opcodes
      adds  1f7feaf   first merge of x86-64 backend and related configury 
      adds  147efb8   cherrypick from ludovic courtes
      adds  e2cb4af   added ret test and clarified JIT_RET documentation
      adds  e700058   prepare for automatic variables support
      adds  54c573d   fix powerpc jit_bms
      adds  4290adb   add jit_allocai for SPARC
      adds  be415cc   finish jit_allocai implementation
      adds  82d90f4   remove pushr/popr from testsuite
      adds  f748b3c   update manual for jit_allocai
      adds  197d20a   fix x86-64 builds
      adds  24794b0   add JIT_NEED_PUSH_POP and merge correct implementation of 
push/pop for SPARC
      adds  76e49b1   merge 64-bit cleanliness changes from mzscheme
      adds  2534af6   checkin rewrite of i386 assembler
      adds  c1725c9   x86-64 now passes test suite
      adds  b34aa5a   add an underscore to macros without a parameter [x86]
      adds  bdbb8ff   give credit to whom credit is due
      adds  3a04a40   merge some bugfixes, give right meaning to jit_retval_[fd]
      adds  58c4dce   add floating-point for x86-64
      adds  67d0c9a   merge from ludovic
      adds  36a3ae9   refine ludovic's doc patch
      adds  19f163b   use CVTT instruction, fix lightning/
      adds  b07a8d4   add clean-local target to lightning/
      adds  4ffa292   fix imprecisions in the ChangeLog
      adds  1551f5a   switch to GPLv3
      adds  d0d493b   improve set* encoding for i386, add testcase
      adds  f4500a8   fix -I flags for opcode subdirectory
      adds  329b8a8   add 3to2 test and fix bug
      adds  0f828ae   add Matthew Flatt to THANKS file
      adds  950b2ce   fix i386 floating-point sub(a,0,a)
      adds  07379b8   don't truncate function pointers on amd64
      adds  889d7fb   use CALLsr, not CALLLsr
      adds  f47b23a   add --with-lightning-prefix option to lightning.m4
      adds  9f2179f   don't use _VOID symbol, reserved by newlib (cygwin)
      adds  3b4343e   avoid redefinition of _r1
      adds  a369fa1   commit source files for separate using/porting manuals
      adds  d369edf   Fix stxr_c(_EAX, _EBX, _ESI).
      adds  15a23d2   avoid "value computed is not used" in jit_allocai
      adds  ec2d8b3   fix some problems (not all) with lightningize
      adds  3a19952   warning patrol (allocai.c, ppc)
      adds  ef5a3ab   add underscores around __unused__ attribute
      adds  1598681   cast memory address to long for JCCim
      adds  ee99e52   implement long mul/div/mod for x86-64
      adds  91cfad4   add _s32P
      adds  90e08b1   add missing x86-64 memory operations
      adds  9a188c1   misc. x86-64 bugfixes
      adds  00f73f1   add LEAQmr for x86-64
      adds  f4bf06a   add long boolean operations for x86-64
      adds  1014c9b   fix uses of jit_qop_ with 4 parameters
      adds  4865ed3   fix several load/store patterns for x86-64.
      adds  beb5fa1   add .gitattributes file
      adds  5ab8cdd   avoid CRLF issues on mingw
      adds  1e90006   fix jit_replace8 for case when one of the operands is 
      adds  4bc1260   fix C++ incompatibility in i386 back-end
      adds  e346195   fix stack alignment for Apple 32-bit ABI
      adds  ef7eb77   use MOVLir directly to implement i386 32-bit jit_movi_p
      adds  66aef1c   detect 32-/64-bit variant of i386 back-end at include 
time (not configure time)
      adds  2409054   move x86-64 JIT_V1/JIT_V2 in R12/R13
      adds  297ed20   add (void) casts for C++ compatibility
      adds  0b67637   fix x86-64 jit_movi_l (x, 0) and 16-byte stack alignment 
in the prolog
      adds  6ee7c12   rewrite x86-64 argument passing to support up to 6 
      adds  8b2f055   move JIT_R1/JIT_R2 to R10/R11 for the x86_64 backend
      adds  aa56a6b   fix _rN vs. _rR
      adds  66c8a68   fix IMULQir and IMULQirr
      adds  b3817a1   fix miscellaneous PPC-32 back-end bugs
      adds  da92a86   fix installation bug
      adds  f87b2f6   subtract 1 from the final byte being flushed in PPC 
      adds  a76f19c   fix problems with i386 32-bit floating point branches
      adds  d671ec7   another fix to jit_fp_btest
      adds  e6c352b   fix blunder in operand order (i386)
      adds  7179d22   fix x86 shifts
      adds  ef7d11d   always set and replace lightning_frag
      adds  21ece8c   always set and replace lightning_frag
      adds  2ecf6a2   fix jit_movbrm in the i386 backend
      adds  128ad6a   fix i386 jit_replace and x86_64 jit_movi_f
      adds  5ea118e   add ldst test
      adds  5cef649   fix two bugs in load/store for i386
      adds  ceaf1b0   fix jit_extr_f_d and jit_extr_d_f for x86-64
      adds  64ccd05   fix 64-bit load with sign extension
      adds  e19b41c   ldst test update
      adds  7e19a3d   fix -D_ASM_SAFETY compilation of beqr_d and bne_d
      adds  688e75a   fix x86_64 jit_bner_{f,d}
      adds  9564132   more fixes to fp branches
      adds  fb86d49   Change jit_getarg_{c,uc,s,us,i,ui} to extr_l to sign 
extend on 64 bits.
      adds  adc42ad   Define extra SSE2 xmmN registers and set JIT_FPTMP to the 
topmost one.
      adds  58043d7   Add safety check on number of integer and float arguments 
on x86_64.
      adds  3eb42b4   Change JIT_REXTMP, JIT_R, JIT_V to use 64-bit registers
      adds  ec36c13   Change JIT_REXTMP to not clobber 6th argument.
      adds  100fbd1   Change JIT_FPR_NUM to 7 to prevent clobber of JIT_FPR(7)
      adds  d04cfb0   Change jit_finish to work with varargs functions in 
      adds  fe9f114   Implement x86_64 support for multiple integer and float 
      adds  67e1051   Account stack alignment on jit functions with odd number 
of arguments.
      adds  d4a2a1b   Correct branches and several ALU operations with 64 
      adds  8665ce1   Change _ASM_SAFETY register width check to accept valid 
alternate values.
      adds  7b330c8   Define some extra fp-common macros when sizeof(long) == 
      adds  3749bc7   Correct ALU add and sub operations with 64 bit immediate 
      adds  d2239c2   Revert change aliasing jit_movi_p to jit_movi_ul.
      adds  e98ff58   Also reset alloca_slack after jit_prolog in i386.
      adds  0469f16   fix multiplication on x86_64
      adds  7d3321d   Cleanup on preparation for lightning rework.
      adds  75d99be   Extra cleanup before update to new codebase.
      adds  7a1c455   Big merge with new lightning semantics aiming for 
lightning 2.0.
      adds  cb6a2c5   Remove previous macro files as they are no longer used.
      adds  22cc2ad   Add make rule to build test case dependencies.
      adds  51b2cee   Add proper make clean rule to the check subdir.
      adds  b7c8db4   Add extra files implementing different jit backends.
      adds  90a187a   Correct integer multiplication and add extra test case.
      adds  e6f1df7   Correct make distcheck.
      adds  712877a   Correct implementation problems on ix86.
      adds  1c9088b   Update code to build and pass test cases in the arm port.
      adds  01be83d   Make mips backend compile on a qemu image.
      adds  760fab8   Correct mips backend implementation to pass initial tests.
      adds  aa7c823   Implement sqrt codes in mips.
      adds  f59fceb   Add new test cases to exercise memory load/store.
      adds  91244b1   Correct test cases in i586 build.
      adds  66cb445   Make current test cases pass in armv7l.
      adds  ee0fab1   Correct testcases in the mips backend.
      adds  e7e5596   Add new ldst variant test cases to check base/index 
register clobber.
      adds  d1c0bc8   Add new test case for int/float to/from conversion.
      adds  e255b76   Add several arithmetic and branch tests cases.
      adds  a3fbc5d   Correct test cases in the mips backend.
      adds  7e3d863   Add better ppc support code, but still not functional.
      adds  a04df96   Make all current test cases pass in Darwin PowerPC.
      adds  0b89a17   Add jit_ellipis and remove jit_prepare argument.
      adds  6227bf5   Add new varargs test and correct related test case 
failures in all ports.
      adds  0740564   Remove most type casts and compile test tool silently 
with -Wall
      adds  03559bb   Make it clear stdarg like abstraction is not supported.
      adds  0e83b52   Correct test cases to work with x87 in ix86.
      adds  d05538b   Add support to test different/alternate code generation 
      adds  d7389bf   Simplify listing of test cases with alternate jit 
generation options
      adds  b43ea1f   Add two extra test cases for float operations.
      adds  a74318a   Add new test case to check stack integrity on complex 
stack frames.
      adds  2751320   Correct stack.tst test case on ppc. Now all tests pass in 
all backends.
      adds  38770ec   Correct bogus logic caused by wrong optimizations.
      adds  59255a4   Add new register clobber detection test case.
      adds  adc854f   Correct regressions with --with-float={soft,softfp} in 
the arm backend
      adds  374f58b   Add missing jit_htonr to ppc backend.
      adds  afd665d   Add new carry test case.
      adds  3ee09ec   Add simple test case to test argument and return values.
      adds  1287a2d   Correct extra regressions found by the call.tst test case.
      adds  2e6c680   Change type of return of jit_arg* and argument to 
      adds  6eab5be   Add new extensive float comparison and conversion test 
      adds  537c85b   Correct wrong and confusing reverse float comparison logic
      adds  d7f9437   Test and correct test cases in all current backends.
      adds  9d2566e   Add the new ccall test case to test interleaved C and jit 
function calls
      adds  4fe4794   Rework {get,push}arg{,i,r}_{f,d} to a more descriptive 
name and usage.
      adds  a34410e   Add filename and line number annotation abstraction.
      adds  39afbe1   Correct off by one label/note name and add align argument 
to jit_data
      adds  c5421a8   Make JIT_RET, JIT_FRET and JIT_SP private.
      adds  9e86ef1   Add the new jit_name call to mark function boundaries
      adds  2da31e8   Correct reference to dangling pointer and better note 
bounds checking
      adds  16d18f1   Update texinfo documentation to match current 
      adds  44d4fa5   Add heuristic code to estimate space and resize if 
required jit buffer.
      adds  7c7908c   Correct C sequence point problem.
      adds  708cca9   Correct description of the jmpi instruction.
      adds  d91b25d   Implement the qmul and qdiv instructions.
      adds  7b2c9cf   Correct qmul and qdiv in ppc.
      adds  60c1c54   Implement the "live" code to explicitly tell a register 
is live.
      adds  6039794   Store all annotation information in the read only data 
      adds  8f020fe   Add code to release all memory used by the jit state.
      adds  12c35b7   Correct regression with float arguments in arm hardp
      adds  610a569   Add framework for sparc port.
      adds  e304bc8   Pass all but the (not yet implemented) qmul and qdiv 
tests in sparc
      adds  e6a14a6   Finish sparc port.
      adds  678e724   Add updated sparc example from lightning 1.2c 
      adds  da4c3f3   Correct SPARC optimized assembly example in documentation
      adds  f39eee6   Make code and data buffer readonly.
      adds  9afca85   Rework to better describe what is used only during jit 
      adds  5d60ba7   Minor updates when testing on a prototype, quadcore 
Loongson mips.
      adds  19123ba   Add missing __ppc__ definition.
      adds  7ef8060   Adapt PowerPC port to work in Darwin 32 bit and Linux 64 
      adds  f341d91   Remove non optional gmp dependency.
      adds  be9068f   Correct wrong shift value for 32 bit
      adds  c39def9   Add a simple memory management wrapper.
      adds  51c96f9   Do not start over jit generation if can safely grow 
buffer size.
      adds  066db58   Ensure the end argument of __clear_cache is page aligned.
      adds  7bdd22b   Make it simpler to add support for more than 64 registers.
      adds  c2e4eb6   Add basic Itanium port infrastructure.
      adds  89f1e2f   Properly split instruction groups for predicate registers.
      adds  746f3bb   Correct jit implementation to pass several test cases.
      adds  b663d29   Correct race condition if register is written more than 
      adds  caeb6d6   Implement fpr register arguments and minor extra fixes.
      adds  2475ae8   Correct float division and LX with stop code generation.
      adds  f52b976   Correct all ldst test cases.
      adds  119ea1e   Correct the cvt.tst test case on Itanium.
      adds  cee4ccb   Correct remaining test cases, but not yet ones with stack 
      adds  6ef03b0   Finish Itanium port, correcting remaining failing test 
      adds  e80b244   Remove remaining ia64 port debug code.
      adds  3356b9d   Add functional hppa port. All tests pass.
      adds  ce6ab1f   Prepare for the first alpha release of lightning 2.0.
      adds  3e5a12f   Adjust lightning to work on ppc AIX.
      adds  e82e5be   Build and pass all test cases on a multiprocessor HP-UX.
      adds  443b746   Remove redundancy in the hppa cache synchronization code.
      adds  7807aab   Update ia64 port to work on HP-UX.
      adds  af92c5a   Correct build and pass all tests on Solaris Sparc.
      adds  dbe0fb9   Correct build and pass all tests on Solaris x86.
      adds  d6110f6   Build and pass all tests on big endian Irix mips using 
the n32 abi.
      adds  8b28150   Correct mips o32 abi that was broken when adding n32 abi 
      adds  4f9b9d9   Second alpha release 1.99a
      adds  89a0b7a   New aarch64 port built on the Foundation v8 emulator.
      adds  e99c157   Cosmetic removal of unused macros.
      adds  ab7d15d   Properly check tests output.
      adds  a3891ad   Do not assume cast of nan or inf double to float always 
      adds  f6ee396   New s390x port built on the hercules emulator and fedora 
16 image.
      adds  c078a97   Cosmetic removal of white spaces in end of lines.
      adds  19e227e   Correct off by one bug on s390x subi.
      adds  b5763c4   Correct license to properly advertise LGPLv3 and not 
      adds  aa1e0be   GNU lightning 2.0.0 release
      adds  32b3d7a   Correct build on FreeBSD/amd64
      adds  7f677a6   Correct build and make check on gcc111 - AIX 7.1.
      adds  ecf753f   Correct build and check on NetBSD amd64.
      adds  bc0786e   test for zlib in
      adds  ba182b1   Avoid possible problem if built with gcc 4.8 or newer.
      adds  b877005   Correct wrong test and update of arm thumb offset 
      adds  b279feb   Add fallback logic instead of error if cannot figure 
      adds  c6ced66   Add missing jit_clear_state to documentation sample.
      adds  183ed91   IA64: Correct code to save/restore r2 used as lightning 
      adds  4552376   HPPA: Correct bogus logic when calling function pointers.
      adds  13d521b   S390X: Correct values of float registers saved on stack.
      adds  15a3ec2   Use the logic to workaround float NaN and Inf Hercules 
bug conditional
      adds  a62f405   Add the jit_callee_save_p interface and extra register 
      adds  5a2df00   Correct wrong example and mt unsafe code in the arm 
      adds  948315f   Make jit_get_note a public interface.
      adds  95e3fbc   Add the new jit_pointer_p predicate interface.
      adds  b768fab   Add code to calculate code buffer size based on devel 
time information.
      adds  2e209eb   GNU lightning 2.0.1 release
      adds  ae6101f   IA64: Correct some wrong checks value range checks.
      adds  0ad5e08   ARM: Correct build when disassembler is disabled.
      adds  ff73547   IA64: Force sync of instructions in get-jit-size build 
      adds  1bd169c   X86: %r12 may be used as an index register.
      adds  f42a251   Correct misplaced check for already visited blocks
      adds  565c3a0   MIPS: Correct abi detection.
      adds  36a60d7   Correct wrong dates in ChangeLog
      adds  4855845   Correct source of the self test case and a missed check 
      adds  52bfc67   MIPS: Build and pass all test cases on mips64.
      adds  0e94048   Rerun tests on supported backends after bogus self test 
      adds  72f3e65   ARM: Correct wrong offset for load/store of floats.
      adds  2d4bac4   ARM: Do not use ldrt/strt by default
      adds  fe3aee2   PPC: Correct wrong ldxi_l simplification in 64 bit mode
      adds  a264cce   Add assertion to detect double patching.
      adds  f65ceb6   GNU lightning 2.0.2 release
      adds  67d994c   Sync after regenerating version.texi.
      adds  6fa5123   ARM: Minor changes that should allow building on non 
      adds  479c2ed   x86: Use aligned offset for x87 to/from sse move.
      adds  4e5368d   Correct wrong call in ldi_f if address does not fit in 32 
      adds  c162b9d   x86: Correct wrong x87 float indexed store code 
      adds  0b0d63d   x86: Ensure the x87 stack is empty when calling a 
      adds  8567d28   x86: Correct wrong x87 optimization.
      adds  b1d3217   GNU lightning 2.0.3 release
      adds  6e75c03   Rewrite jit_regset_scan1 for easier optimization.
      adds  dbb9fe1   x86_64: Correct wrong inline assembly in jit_get_cpu
      adds  c146f06   x86_64: Change x86_64 to also save/restore %rbx in inline 
      adds  a9433b5   Implement and document the new jit_indirect call.
      adds  79bc3d0   Implement the new jit_set_code interface.
      adds  33ee233   Implement the new jit_set_data interface.
      adds  a7cde4b   Document the lightning customization functions.
      adds  16384ff   Correct crash on arm in the doc/printf example.
      adds  6726b2b   ARM: Do not emit a nop stack adjust instruction.
      adds  0fac1b1   GNU lightning 2.0.4 release
      adds  abf1b6e   Do not export private definitions and types.
      adds  354146b   ARM: Do not leave early init_jit if /proc is not mounted.
      adds  0d96d24   Add note about jit_set_memory_functions call.
      adds  a8c180a   Remove the global but not advertised jit_progname variable
      adds  0d9ac79   Do not pass null for free, memcpy and memmove
      adds  cf2be67   MIPS: Correct use of wrong test register
      adds  b233221   AARCH64: Correct assertion test
      adds  dbf2847   Do not have assertions with a long type test
      adds  f79f977   Correct change of possibly wrong bitmask in jit_update
      adds  53dd28d   Always mark return registers as live in epilog
      adds  05b88d9   ALPHA: Implement lightning Alpha port.
      adds  73c2fc8   Do not filter -sz.c files in gitignore
      adds  a597e35   ARM: Correct wrong table of instruction sizes in software 
      adds  93e3ff3   ALPHA: Correct class of argument float registers
      adds  b589606   Add consistency check on temporaries during a jump
      adds  90a70f9   GNU lightning 2.0.5 release
      adds  4f8d85b   Add info menu entry for lightning
      adds  45c4df5   Only mark callee save regs as live on jumps that cannot 
be tracked.
      adds  120dfc9   Correct typo in documentation.
      adds  c8bb0da   Consider all callee_save_p regs as live on non trackable 
      adds  f469a5c   x86: Build and pass all tests under cygwin64 (Windows x64)
      adds  4d0e4b3   x86: Build and pass all tests on 32 bit cygwin
      adds  5244847   x86: Update instruction size information for Windows x64
      adds  1d75fe6   Do not fail if NULL is passed to init_jit.
      adds  20a2f1f   Allow jit_jmpi on an immediate constant address.
      adds  839341a   Implement jit_frame and jit_tramp interfaces
      adds  dbb1bb2   Use jit_code_last_code as symbolic name of last enum
      adds  afae540   Implement the jit_align interface
      adds  5c0c5bd   Add back files missed when reapplying patches
      adds  624cf33   Add string representation of IR codes to -sz.c files
      adds  960280d   Implement the jit_rsb* interface.
      adds  a43fb63   Add the new "range" test.
      adds  9c5e2b5   Add label predicates
      adds  0c6f675   Properly handle jit_tramp and function descriptors
      adds  9cdcfcc   Do not fail gratuitously in jit_init_debug
      adds  ddd7a75   x86: Correct not released temporary register
      adds  4451945   Add assertion to check for register allocation leaks
      adds  2229200   misc: Make jit_note and related functions take a const 
      adds  073396b   misc: Enable silent rules to make warnings stick out
      adds  3008f04   misc: Create a pkg-config file
      adds  59eb1a1   Actually install the pkgconfig file.
      adds  81b1a90   Force creation of the m4 directory on a clean checkout
      adds  dea1775   Update THANKS file
      adds  e98640e   cross: Provide the action for the cross compiling case
      adds  85ab988   Resync with new patch to make functions receive a const 
      adds  ade2337   mips: Do not make t9 available as a generic register
      adds  95f4ee4   Add test case to check possible issues with 2 contexts
      adds  7b449aa   Implement jit_flush
      adds  3f39722   ARM: Correct several inconsistencies with ldrd and strd
      adds  6e34a53   PPC: Add initial powerpc le support.
      adds  2d3529d   Correct bogus git entry
      adds  c95a356   Remove a wrong optimization of callee save registers
      adds  ce2dd3d   Add missing ellipsis mark to align.tst
      adds  f63d064   ARM: Correct constants offset check
      adds  1cb0e18   ARM: Flush cache page by page
      adds  3b829ab   Add missing float rsbi strings
      adds  fdf41c1   x86: Implement support for the x32 abi
      adds  88aa2fc   Implement new, typed, jit_htonr* interfaces
      adds  5eb3c36   ARM: Better check for constants offset overflow
      adds  a16adad   PPC: Implement and use mcrxr emulation by default
      adds  af9df5f   PPC: Build and pass all tests in powerpcle
      adds  32c4f90   S390: Add support for 32 bit.
      adds  192f89c   S390: Replace s390x filenames with s390
      adds  27d9b68   Implement jit_putarg*
      adds  618512a   Correct typo.
      adds  361caf2   PPC: Only call binutils function if it is available
      adds  3695a2e   Update documentation
      adds  73e5207   Remove inconsistent, public jit_arg_reg_p macro
      adds  c8b6c36   Implement the jit_arg_register_p predicate.
      adds  894a024   Update documentation on jit_frame and jit_tramp
      adds  6db38b7   ARM: Do not limit to 24 bit displacement jump to unknown 
      adds  1b055bf   Make more readable always true test
      adds  6782807   Add new --enable-devel-disassembler configure option
      adds  cdf5b78   ARM: Regenerate size table for hard float armv7 or newer.
      adds  5724068   Correct wrong check in simplify_stxi.
      adds  f6970c6   Correct the reason the simplify_stxi bug was not noticed 
      adds  fb21cf9   Avoid problems if JIT_INSTR_MAX is miscalculated
      adds  26c28be   Correct typo
      adds  7fdbc5b   GNU lightning 2.1.0 release
      adds  3a03fea   X86: Correct load and store in the x32 abi
      adds  2597bf3   Correct inconsistency with jit_regno_patch
      adds  9f72e66   X86: No longer make st7 available as a temporary
      adds  ad589fb   Implement jit_allocar for dynamic stack allocation
      adds  d462a4f   Correct typo in x87.nodata test list
      adds  531a88a   Add missing ellipsis in allocar.tst
      adds  20955b2   Correct read of freed memory
      adds  1507bc7   Properly correct read of freed memory
      adds  a15f261   Update copyright date
      adds  d639674   Add initial support to implement vararg jit functions
      adds  e4fe518   Update the correct fp offset and add assertions
      adds  6329945   Correct update of on stack vararg double argument pointer
      adds  0986ae8   aarch64: Add initial jit_va_ calls to aarch64
      adds  8cb302f   arm: Add initial jit_va_ calls to arm
      adds  2c8b5e5   s390: Add initial jit_va_ calls to s390
      adds  cc217f0   ppc: Add initial jit_va_ calls to ppc
      adds  b42bb8b   Remove wrong comment after cut and paste
      adds  a5ab4c7   mips: Add initial jit_va_ calls to mips
      adds  f48e07b   ia64: Implement cache flush.
      adds  a3063df   ia64: Do not use a dangling pointer for double to integer 
      adds  6d8f8eb   ia64: Add initial jit_va_ calls to ia64
      adds  fdd55b9   hppa: Add initial jit_va_ calls to hppa
      adds  9a90a28   alpha: Add initial jit_va_ calls to alpha
      adds  bd38cfa   sparc: Add initial jit_va_ calls to sparc
      adds  d6a5a90   alpha: Save correct offset if loading a vararg double.
      adds  97f69a9   Correct make check for systems without gcc.
      adds  316dfc6   aarch64: Correct va_list offsets and double load.
      adds  237c902   Bump library major.
      adds  0b6cc01   Intermediate, fully functional, rework for variadic 
      adds  1ce1d00   Move multiply defined macro to a single header file.
      adds  e21db9c   Use an actual, invalid code, as last jit code.
      adds  7f1e0df   Move definition of jit_va_ codes, cosmetic change.
      adds  d0a5bd8   Implement new synthesized IR codes sequences
      adds  c6b8fb2   ia64: Pass all tests for variadic jit functions
      adds  17e7896   mips: Pass tests for variadic jit functions on new abi
      adds  fd57359   Correct missing jit_unget_reg calls
      adds  76876dd   Implement a correct generation of Fibonacci numbers.
      adds  be32b6a   Correct wrong check for argument of value 2 in 
      adds  b00c750   Correct wrong movr simplification
      adds  aa939b8   Correct wrong live information for some code patterns
      adds  d761499   Add a second pass to compute live register ranges
      adds  7259f9d   Adapt for binutils 2.29
      adds  3fc2eb2   Update copyright year
      adds  c72b923   GNU lightning 2.1.1 release
      adds  19439d4   Correct binutils version detection
      adds  df57fa9   GNU lightning 2.1.2 release
      adds  68dc475   Correct issues with 32 bit big endian mips abis
      adds  59f32e8   Add extra argument to jit_update to prevent recursion on 
      adds  2cf092e   Correct logic error with jit_live in jit_retr
      adds  b64b82c   Always set t12 to address of called function
      adds  ed5589c   Build and pass all test cases on Alpha Linux
      adds  2cea993   Build and pass all tests on 32 and 64 bit sparc
      adds  d2ff737   HPPA: Correct wrong regarg_p check
      adds  94a1888   Correct typo and values in jit_sparc-sz.c
      adds  40aafa5   Merge GNU lightning to libguile/lightning
      adds  25584ea   Strip "get-jit-size" feature from lightning.
      adds  7dec6cb   Remove documentation from embedded GNU lightning
      adds  0bdd27b   Remove lightning unit tests
      adds  8810163   Finish removing get-jit-size
      adds  f0891be   Beginnings of build integration of lightning and guile
      adds  0e25ee5   Remove lightning pkg-config file.
      adds  2e489b3   Remove empty lightning m4 directory
      adds  fddd206   Remove some more of the lightning build machinery
      adds  8316707   Further lightning integration work
      adds  2a8ebe8   Remove disassembler support from lightning
      adds  0ce8e69   Remove special cflags for obsolete Lightning targets
      adds  92a7570   Always enable assertions in embedded lightning
      adds  fdfbfcc   Remove lightning configure snippet related to libdl
      adds  2412cfb   Remove unused configure-time checks for x87, thumb, and 
sof float
      adds  f8b8f5f   Remove unused AM_CONDITIONAL statements from lightning 
      adds  0593a9a   Add GUILE_ENABLE_JIT macro
      adds  2d84803   Wire JIT availability check into Guile configure
      adds  9338ef1   Wire up lightning into libguile build
      adds  07a787d   Remove -Wswitch-enum from compile flags
      adds  5b68bd7   Fix compile warnings in jit_print.c
      adds  d6b8f6a   Minor change to VM DSL
      adds  a433620   Fix bad opcode in VM
      adds  5577392   Begin structure for template JIT compiler
      adds  9fc5282   Merge 'master' into 'lightning'
      adds  80ba0e2   Make JIT compiler skeleton more terse
      adds  e95f15c   Add support for reading ELF symbol table from C
      adds  b1705bd   Prepare for frames having separate virtual and machine 
return addrs
      adds  043432f   Reserve frame word for machine return address
      adds  c2a8224   Rework VM approach to shuffling unknown numbers of args
      adds  9b70129   Fix stale stack frame clearing for frame size change
      adds  950a762   Multiple-value returns now start from slot 0, not slot 1
      adds  4b7af0b7  Update frames.h comments.
      adds  87da1c8   Add instrument-call, instrument-loop VM instructions
      adds  a6b5049   Emit instrument-loop in loops.
      adds  5c2e155   Emit instrument-entry before programs
      adds  5077e67   Fix function bound offsets of JIT data to be signed
      adds  b8a9a66   Rewrite subr implementation
      adds  5ebe584   Revert "Add support for reading ELF symbol table from C"
      adds  455015d   Fix bugs with primitive code allocator; expose internally
      adds  d145b57   Minor updates for Scheme runtime (statprof, backtraces)
      adds  14539d3   Alloc foreign procedures using primitive mechanism
      adds  8f25f75   Add instrument-entry to continuations
      adds  dedf73d   Consolidate apply hook to instrument-entry instruction
      adds  f4c5044   Remove push continuation hook; return hook runs before FP 
      adds  0a01963   VM hooks take no values
      adds  41100f7   Merge branch 'master' into lightning
      adds  0d00164   Add missing include to adapt to recent merge from master
      adds  b7dbc72   Minor optimization in RESET_FRAME
      adds  926b72f   Rework program->ip mapping in VM to always call intrinsic
      adds  c3ff72c   Change call/cc inst to capture-continuation
      adds  ef4c1a5   Add unpack-values-object intrinsic
      adds  6027027   Invoke VM hooks through intrinsics
      adds  939b1ae   Rework foreign-call trampoline
      adds  a20feea   Continuations capture machine code address
      adds  5df43b6   Adapt JIT calling convention; continuations take mra from 
      adds  11940f4   Update error-wrong-num-args intrinsic prototype
      adds  d4abe8b   Avoid needless 64-bit args on 32-bit machines for some 
      adds  0188bd3   64-bit intrinsic args and return values passed indirectly 
on 32-bit
      adds  e6304fb   Define intrinsics for atomic ops
      adds  3827769   Add instrumentation to VM builtins
      adds  cf0270c   Add internal function mapping subr index to function
      adds  110310b   Expose scm_vm_builtin_ref internally
      adds  698bff8   First implementation of a template JIT
      adds  dca1e9d   Manual JIT interface via %jit-compile
      adds  4a9de64   Fix default code allocator in Lightning
      adds  b8a557d   Fix bounds on compiler-emitted JIT metadata
      adds  d001503   JIT compilation tweaks
      adds  9c76a1a   Fix frame popping in JIT
      adds  916c570   Tweak to instrument-entry
      adds  d7fcdd9   Add out-of-line handle-interrupts trampoline stub
      adds  7769561   Add support for labels, and fix a bug in uadd/imm and 
      adds  01c1451   Add $(builddir) to include path in libguile/
      adds  01a79be   Comments in the JIT
      adds  fd1deab   Optimizations to subr-call
      adds  065efdd   Fix in-tree builds
      adds  bf035d9   Fix load width of get-ip-relative-addr
      adds  7854460   Minor refactors to jit.c
      adds  25e9b0f   32-bit fix for emit_run_hook
      adds  270147c   Fix r12 register spec for lightning with sysv x86-64 ABI
      adds  5603079   Clear frame size after subr-call, return-values
      adds  02a9e76   Fix bug in compile-alloc-frame
      adds  3920b99   Fix fp-ref, fp-set! helpers in jit for signedness
      adds  d0c9d20   Fix JIT compilation of bind-rest
      adds  9574245   Fix again the unknown-filling of alloc-frame
      adds  dfc0b90   JIT refactor
      adds  18dfe48   Fuse comparisons and branches in JIT
      adds  98b4c46   Minor JIT refactor
      adds  4fb99e9   Bug-fix for alloc-frame and stack moving
      adds  10bfd55   JIT: Store FP in register during procedure prolog/epilog
      adds  c03e2bb   JIT tracks register clobbers
      adds  24d09b1   Maybe enter JIT when returning from interpreted functions
      adds  f2089ce   Add fast paths to intrinsics
      adds  66fb76d   Fix miscompilation for "abort" opcode
      adds  c02c89d   Fix JIT compilation of call-with-prompt
      adds  15314fd   Fix JIT compilation of shuffle-down
      adds  f32d17d   Fix jit function data for goto_continuation_code
      adds  6da132c   Fix JIT compilation of composable continuations
      adds  dac4344   Fix bind-kwargs JIT compilation
      adds  def6719   Minor optimization in compile_alloc_frame
      adds  cc99729   JIT threshold controlled by environment variable
      adds  79be702   More JIT debugging
      adds  dafa648   Fix compilation of compile_eq
      adds  7c0bfcb   Minor 32-bit untag-fixnum optimization
      adds  1f42a60   Add ability to stop JIT after N compilations.
      adds  449ef7d   Prevent Lightning from stompling our registers
      adds  b176e71   Add configurable JIT logging levels
      adds  076c3ad   JIT counter tweaks
      adds  54b23ad   Add ability to tier up from within loops
      adds  e9b44c0   Fix assertion error running compile-file with threshold 0
      adds  162e313   Fix a memory leak in JIT
      adds  24b4d09   Improve compute_mcode allocation logic
      adds  babd411   Fix nonlocal abort to compiled continuation
      adds  cf712c0   Improve JIT cleanup a bit
      adds  218fe1b   Fix JIT compilation of [positional-]arguments<=?
      adds  93112d3   Add JIT fast paths for inum arithmetic
      adds  3e2b173   Revert "<?" fast path for now
      adds  f8229c6   Use custom JIT code allocator
      adds  377c3e1   Fix compilation of handle-interrupts
      adds  227c3ac   Refactor handling of lightning state
      adds  18aa995   Fix compilation of compare-and-swap
      adds  46fe5b0   Fix positional-arguments<=? compilation
      adds  ce5c05a   Fix JIT compilation of intrinsics that return doubles
      adds  bf31fe4   VM manages hook sets itself
      adds  0ccd2d0   Remove hook intrinsics: hooks are just for the VM
      adds  8bb9ae3   Micro-optimization of scm_vm placement in scm_thread
      adds  12b125f   Hook refactors
      adds  09b8f8e   Deoptimize to VM when hooks are enabled
      adds  4dba015   Fix scm_make_foreign_object_n.
      adds  883bdc7   Fix emergency aborts to not expand the stack
      adds  f03ff53   Turn on automatic JIT compilation by default
      adds  ce91698   Fix --disable-jit compilation

No new revisions were added by this update.

Summary of changes:
 acinclude.m4                                       |   58 +-
 am/                                    |    2 +-                                       |    7 +-
 lib/                                    |    2 +-
 libguile/                               |   17 +-
 libguile/continuations.c                           |   45 +-
 libguile/continuations.h                           |    3 +-
 libguile/control.c                                 |   27 +-
 libguile/dynstack.c                                |   25 +-
 libguile/dynstack.h                                |    4 +-
 libguile/eval.c                                    |    3 +-
 libguile/foreign-object.c                          |    2 +-
 libguile/foreign.c                                 |   20 +-
 libguile/foreign.h                                 |    3 +
 libguile/frames.c                                  |   37 +-
 libguile/frames.h                                  |   60 +-
 libguile/gsubr.c                                   |  582 ++-
 libguile/gsubr.h                                   |   19 +-
 libguile/init.c                                    |    4 +
 libguile/instructions.c                            |    6 +
 libguile/intrinsics.c                              |  131 +-
 libguile/intrinsics.h                              |   68 +-
 libguile/jit.c                                     | 4784 +++++++++++++++++
 libguile/jit.h                                     |   67 +
 libguile/lightning/.gitattributes                  |    1 +
 libguile/lightning/.gitignore                      |   33 +
 libguile/lightning/AUTHORS                         |   14 +
 COPYING => libguile/lightning/COPYING              |   18 +-
 libguile/lightning/COPYING.DOC                     |  355 ++
 .../lightning/COPYING.LESSER                       |    4 +-
 libguile/lightning/ChangeLog                       | 4018 +++++++++++++++
 libguile/lightning/NEWS                            |  199 +
 libguile/lightning/README                          |    3 +
 libguile/lightning/THANKS                          |   19 +
 libguile/lightning/TODO                            |   28 +
 libguile/lightning/include/lightning.h             | 1096 ++++
 libguile/lightning/include/lightning/jit_aarch64.h |   89 +
 libguile/lightning/include/lightning/jit_alpha.h   |  105 +
 libguile/lightning/include/lightning/jit_arm.h     |  127 +
 libguile/lightning/include/lightning/jit_hppa.h    |  134 +
 libguile/lightning/include/lightning/jit_ia64.h    |  120 +
 libguile/lightning/include/lightning/jit_mips.h    |  115 +
 libguile/lightning/include/lightning/jit_ppc.h     |  109 +
 libguile/lightning/include/lightning/jit_private.h |  740 +++
 libguile/lightning/include/lightning/jit_s390.h    |   68 +
 libguile/lightning/include/lightning/jit_sparc.h   |  102 +
 libguile/lightning/include/lightning/jit_x86.h     |  199 +
 libguile/lightning/lib/jit_aarch64-cpu.c           | 2446 +++++++++
 libguile/lightning/lib/jit_aarch64-fpu.c           |  914 ++++
 libguile/lightning/lib/jit_aarch64-sz.c            |  402 ++
 libguile/lightning/lib/jit_aarch64.c               | 1582 ++++++
 libguile/lightning/lib/jit_alpha-cpu.c             | 2792 ++++++++++
 libguile/lightning/lib/jit_alpha-fpu.c             | 1588 ++++++
 libguile/lightning/lib/jit_alpha-sz.c              |  402 ++
 libguile/lightning/lib/jit_alpha.c                 | 1551 ++++++
 libguile/lightning/lib/jit_arm-cpu.c               | 3955 ++++++++++++++
 libguile/lightning/lib/jit_arm-swf.c               | 2640 ++++++++++
 libguile/lightning/lib/jit_arm-sz.c                |  808 +++
 libguile/lightning/lib/jit_arm-vfp.c               | 2330 +++++++++
 libguile/lightning/lib/jit_arm.c                   | 2274 ++++++++
 libguile/lightning/lib/jit_hppa-cpu.c              | 2793 ++++++++++
 libguile/lightning/lib/jit_hppa-fpu.c              | 1039 ++++
 libguile/lightning/lib/jit_hppa-sz.c               |  402 ++
 libguile/lightning/lib/jit_hppa.c                  | 1585 ++++++
 libguile/lightning/lib/jit_ia64-cpu.c              | 5415 ++++++++++++++++++++
 libguile/lightning/lib/jit_ia64-fpu.c              | 1762 +++++++
 libguile/lightning/lib/jit_ia64-sz.c               |  402 ++
 libguile/lightning/lib/jit_ia64.c                  | 1765 +++++++
 libguile/lightning/lib/jit_memory.c                |  126 +
 libguile/lightning/lib/jit_mips-cpu.c              | 3153 ++++++++++++
 libguile/lightning/lib/jit_mips-fpu.c              | 1844 +++++++
 libguile/lightning/lib/jit_mips-sz.c               | 1210 +++++
 libguile/lightning/lib/jit_mips.c                  | 1929 +++++++
 libguile/lightning/lib/jit_names.c                 |  230 +
 libguile/lightning/lib/jit_note.c                  |  417 ++
 libguile/lightning/lib/jit_ppc-cpu.c               | 3483 +++++++++++++
 libguile/lightning/lib/jit_ppc-fpu.c               | 1194 +++++
 libguile/lightning/lib/jit_ppc-sz.c                | 1622 ++++++
 libguile/lightning/lib/jit_ppc.c                   | 1745 +++++++
 libguile/lightning/lib/jit_print.c                 |  370 ++
 libguile/lightning/lib/jit_rewind.c                |  195 +
 libguile/lightning/lib/jit_s390-cpu.c              | 3848 ++++++++++++++
 libguile/lightning/lib/jit_s390-fpu.c              | 1316 +++++
 libguile/lightning/lib/jit_s390-sz.c               |  804 +++
 libguile/lightning/lib/jit_s390.c                  | 1690 ++++++
 libguile/lightning/lib/jit_size.c                  |   79 +
 libguile/lightning/lib/jit_sparc-cpu.c             | 2568 ++++++++++
 libguile/lightning/lib/jit_sparc-fpu.c             | 1499 ++++++
 libguile/lightning/lib/jit_sparc-sz.c              |  803 +++
 libguile/lightning/lib/jit_sparc.c                 | 1926 +++++++
 libguile/lightning/lib/jit_x86-cpu.c               | 3861 ++++++++++++++
 libguile/lightning/lib/jit_x86-sse.c               | 1569 ++++++
 libguile/lightning/lib/jit_x86-sz.c                | 1610 ++++++
 libguile/lightning/lib/jit_x86-x87.c               | 1344 +++++
 libguile/lightning/lib/jit_x86.c                   | 2264 ++++++++
 libguile/lightning/lib/lightning.c                 | 3391 ++++++++++++
 libguile/lightning/                    |   93 +
 libguile/programs.c                                |   29 +-
 libguile/programs.h                                |    1 +
 libguile/r6rs-ports.c                              |    1 +
 libguile/stacks.c                                  |    4 +-
 libguile/threads.c                                 |    5 +
 libguile/threads.h                                 |    7 +-
 libguile/throw.c                                   |   10 +-
 libguile/vm-builtins.h                             |    1 +
 libguile/vm-engine.c                               |  670 +--
 libguile/vm.c                                      |  672 ++-
 libguile/vm.h                                      |   53 +-
 module/                                 |    2 +-
 module/language/cps/compile-bytecode.scm           |   29 +-
 ...dle-interrupts.scm => loop-instrumentation.scm} |   48 +-
 module/language/cps/slot-allocation.scm            |   22 +-
 module/statprof.scm                                |   67 +-
 module/system/vm/assembler.scm                     |  106 +-
 module/system/vm/coverage.scm                      |    9 +-
 module/system/vm/disassembler.scm                  |   30 +-
 module/system/vm/frame.scm                         |   42 +-
 module/system/vm/program.scm                       |    7 +-
 module/system/vm/trace.scm                         |   15 +-
 module/system/vm/traps.scm                         |  177 +-
 module/system/vm/vm.scm                            |   10 +-
 test-suite/tests/rtl.test                          |   74 +-
 122 files changed, 99556 insertions(+), 1237 deletions(-)
 create mode 100644 libguile/jit.c
 create mode 100644 libguile/jit.h
 create mode 100644 libguile/lightning/.gitattributes
 create mode 100644 libguile/lightning/.gitignore
 create mode 100644 libguile/lightning/AUTHORS
 copy COPYING => libguile/lightning/COPYING (99%)
 create mode 100644 libguile/lightning/COPYING.DOC
 copy COPYING.LESSER => libguile/lightning/COPYING.LESSER (99%)
 create mode 100644 libguile/lightning/ChangeLog
 create mode 100644 libguile/lightning/NEWS
 create mode 100644 libguile/lightning/README
 create mode 100644 libguile/lightning/THANKS
 create mode 100644 libguile/lightning/TODO
 create mode 100644 libguile/lightning/include/lightning.h
 create mode 100644 libguile/lightning/include/lightning/jit_aarch64.h
 create mode 100644 libguile/lightning/include/lightning/jit_alpha.h
 create mode 100644 libguile/lightning/include/lightning/jit_arm.h
 create mode 100644 libguile/lightning/include/lightning/jit_hppa.h
 create mode 100644 libguile/lightning/include/lightning/jit_ia64.h
 create mode 100644 libguile/lightning/include/lightning/jit_mips.h
 create mode 100644 libguile/lightning/include/lightning/jit_ppc.h
 create mode 100644 libguile/lightning/include/lightning/jit_private.h
 create mode 100644 libguile/lightning/include/lightning/jit_s390.h
 create mode 100644 libguile/lightning/include/lightning/jit_sparc.h
 create mode 100644 libguile/lightning/include/lightning/jit_x86.h
 create mode 100644 libguile/lightning/lib/jit_aarch64-cpu.c
 create mode 100644 libguile/lightning/lib/jit_aarch64-fpu.c
 create mode 100644 libguile/lightning/lib/jit_aarch64-sz.c
 create mode 100644 libguile/lightning/lib/jit_aarch64.c
 create mode 100644 libguile/lightning/lib/jit_alpha-cpu.c
 create mode 100644 libguile/lightning/lib/jit_alpha-fpu.c
 create mode 100644 libguile/lightning/lib/jit_alpha-sz.c
 create mode 100644 libguile/lightning/lib/jit_alpha.c
 create mode 100644 libguile/lightning/lib/jit_arm-cpu.c
 create mode 100644 libguile/lightning/lib/jit_arm-swf.c
 create mode 100644 libguile/lightning/lib/jit_arm-sz.c
 create mode 100644 libguile/lightning/lib/jit_arm-vfp.c
 create mode 100644 libguile/lightning/lib/jit_arm.c
 create mode 100644 libguile/lightning/lib/jit_hppa-cpu.c
 create mode 100644 libguile/lightning/lib/jit_hppa-fpu.c
 create mode 100644 libguile/lightning/lib/jit_hppa-sz.c
 create mode 100644 libguile/lightning/lib/jit_hppa.c
 create mode 100644 libguile/lightning/lib/jit_ia64-cpu.c
 create mode 100644 libguile/lightning/lib/jit_ia64-fpu.c
 create mode 100644 libguile/lightning/lib/jit_ia64-sz.c
 create mode 100644 libguile/lightning/lib/jit_ia64.c
 create mode 100644 libguile/lightning/lib/jit_memory.c
 create mode 100644 libguile/lightning/lib/jit_mips-cpu.c
 create mode 100644 libguile/lightning/lib/jit_mips-fpu.c
 create mode 100644 libguile/lightning/lib/jit_mips-sz.c
 create mode 100644 libguile/lightning/lib/jit_mips.c
 create mode 100644 libguile/lightning/lib/jit_names.c
 create mode 100644 libguile/lightning/lib/jit_note.c
 create mode 100644 libguile/lightning/lib/jit_ppc-cpu.c
 create mode 100644 libguile/lightning/lib/jit_ppc-fpu.c
 create mode 100644 libguile/lightning/lib/jit_ppc-sz.c
 create mode 100644 libguile/lightning/lib/jit_ppc.c
 create mode 100644 libguile/lightning/lib/jit_print.c
 create mode 100644 libguile/lightning/lib/jit_rewind.c
 create mode 100644 libguile/lightning/lib/jit_s390-cpu.c
 create mode 100644 libguile/lightning/lib/jit_s390-fpu.c
 create mode 100644 libguile/lightning/lib/jit_s390-sz.c
 create mode 100644 libguile/lightning/lib/jit_s390.c
 create mode 100644 libguile/lightning/lib/jit_size.c
 create mode 100644 libguile/lightning/lib/jit_sparc-cpu.c
 create mode 100644 libguile/lightning/lib/jit_sparc-fpu.c
 create mode 100644 libguile/lightning/lib/jit_sparc-sz.c
 create mode 100644 libguile/lightning/lib/jit_sparc.c
 create mode 100644 libguile/lightning/lib/jit_x86-cpu.c
 create mode 100644 libguile/lightning/lib/jit_x86-sse.c
 create mode 100644 libguile/lightning/lib/jit_x86-sz.c
 create mode 100644 libguile/lightning/lib/jit_x86-x87.c
 create mode 100644 libguile/lightning/lib/jit_x86.c
 create mode 100644 libguile/lightning/lib/lightning.c
 create mode 100644 libguile/lightning/
 rename module/language/cps/{handle-interrupts.scm => loop-instrumentation.scm} 

reply via email to

[Prev in Thread] Current Thread [Next in Thread]