X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=libitm%2FChangeLog;h=e0d94a1d1130a7079f183fad90093eac8051f6d1;hb=a19db3f2e39d927e1595bbb6b9f4470c57161c7d;hp=ea535faedd7f8441b410fae1bb462ff16ab10479;hpb=aebac0ca061219f37518e6804e1b6319e68c0979;p=gcc.git diff --git a/libitm/ChangeLog b/libitm/ChangeLog index ea535faedd7..e0d94a1d113 100644 --- a/libitm/ChangeLog +++ b/libitm/ChangeLog @@ -1,3 +1,245 @@ +2012-02-20 Torvald Riegel + + * beginend.cc (GTM::gtm_thread::begin_transaction): Move serial lock + acquisition to ... + * retry.cc (GTM::gtm_thread::decide_begin_dispatch): ... here. + (default_dispatch): Make atomic. + (GTM::gtm_thread::set_default_dispatch): Access atomically. + (GTM::gtm_thread::decide_retry_strategy): Access atomically and + use decide_begin_dispatch() if default_dispatch might have changed. + (GTM::gtm_thread::number_of_threads_changed): Initialize + default_dispatch here. + +2012-02-15 Iain Sandoe + Patrick Marlier + + PR libitm/52220 + * alloc_cpp.cc: No dummy definitions for darwin. + * eh_cpp.cc: Likewise. + +2012-02-14 Richard Henderson + + * config/x86/target.h (GTM_longjmp): Correct the .cfi corrections. + +2012-02-14 Uros Bizjak + + * config/x86/target.h (GTM_longjmp): Correct .cfi directives. + +2012-02-14 Torvald Riegel + + * libitm_i.h (GTM::gtm_rwlog_entry): New. + (GTM::gtm_thread): Add read and write logs. + (GTM::dispatch_ml_wt): Declare. + * retry.cc (parse_default_method): Support ml_wt. + * method-ml.cc: New file. + * Makefile.am: Add method-ml.cc. + * Makefile.in: Regenerate. + +2012-02-14 Torvald Riegel + + * dispatch.h (GTM::abi_dispatch::supports): New. + (GTM::method_group::reinit): New. + * retry.cc (GTM::gtm_thread::decide_retry_strategy): Use reinit(). + (GTM::gtm_thread::number_of_threads_changed): Check that the method + supports the current situation. + +2012-02-14 Torvald Riegel + + * util.cc (GTM::xcalloc): New. + * common.h (GTM::xcalloc): Declare. + +2012-02-14 Eric Botcazou + + * config/sparc/target.h (cpu_relax): Read from CC register. + * config/sparc/sjlj.S (GTM_longjmp): Restore %fp atomically. + +2012-02-14 Uros Bizjak + + * config/x86/target.h (GTM_longjmp): Jump indirect from memory address. + +2012-02-13 Eric Botcazou + + * configure.tgt (target_cpu): Handle sparc and sparc64/sparcv9. + * config/sparc/cacheline.h: New file. + * config/sparc/target.h: Likewise. + * config/sparc/sjlj.S: Likewise. + * config/linux/sparc/futex_bits.h: Likewise. + +2012-02-13 Eric Botcazou + + * configure.ac (link_itm): Fix comment. + * configure: Regenerate. + * testsuite/lib/libitm.exp: Do not pass -litm for the link. + +2012-01-31 Rainer Orth + + PR libitm/51822 + * testsuite/libitm.c++/c++.exp (lang_link_flags): Add -shared-libgcc. + Correct libgomp references. + +2012-01-24 Torvald Riegel + + * config/linux/rwlock.cc (GTM::gtm_rwlock::write_unlock): Fix reader + wake-up. + +2012-01-24 Uros Bizjak + + * config/x86/target.h (gtm_jmpbuf) [__x86_64__]: Move rip to the + end of structure. + * config/x86/sjlj.S (_ITM_beginTransaction) [__x86_64__]: Update + offset values. Do not copy return address. Decrement stack + by 56 bytes only. + (GTM_longjump) [__x86_64__]: Update offset values. + +2012-01-23 Uros Bizjak + + PR libitm/51830 + * config/x86/sjlj.S (_ITM_beginTransaction) [!__x86_64__]: Load + the first function argument to %eax. + +2012-01-23 Rainer Orth + + * libitm.h (_ITM_getThreadnum): Remove. + * libitm.map (_ITM_getThreadnum): Remove from LIBITM_1.0. + +2012-01-23 Rainer Orth + + * clearcap.map: New file. + * acinclude.m4 (LIBITM_CHECK_LINKER_HWCAP): New test. + * configure.ac: Call it. + Clear HWCAP_LDFLAGS if defaulting to -mavx. + * Makefile.am (AM_LDFLAGS): Add $(HWCAP_LDFLAGS) + * configure: Regenerate. + * Makefile.in: Regenerate. + * testsuite/Makefile.in: Regenerate. + +2012-01-17 Rainer Orth + + PR libitm/51173 + * testsuite/libitm.c++/static_ctor.C: Skip test, note PR, remove + include, exclude options. + +2012-01-14 Torvald Riegel + + * local.cc (GTM::gtm_undolog::rollback): Truncate undo log after + rolling back. + * containers.h (GTM::vector::set_size): New. + +2012-01-14 Torvald Riegel + + PR libitm/51855 + * config/generic/tls.h (GTM::mask_stack_top): New. + (GTM::mask_stack_bottom): Declare. + * config/generic/tls.c (GTM::mask_stack_bottom): New. + * local.cc (gtm_undolog::rollback): Filter out any updates that + overlap the libitm stack. Add current transaction as parameter. + * libitm_i.h (GTM::gtm_undolog::rollback): Adapt. + * beginend.cc (GTM::gtm_thread::rollback): Adapt. + * testsuite/libitm.c/stackundo.c: New test. + +2012-01-10 Richard Henderson + + * libitm_i.h (_Unwind_DeleteException): Declare weak. + * eh_cpp.cc (_Unwind_DeleteException): Define for + !HAVE_ELF_STYLE_WEAKREF. + +2012-01-08 Torvald Riegel + + * local.cc (GTM_LB): Use GTM::gtm_undolog. + (GTM::gtm_thread::drop_references_undolog): Remove. + (GTM::gtm_thread::commit_undolog, + GTM::gtm_thread::rollback_undolog): Move to ... + * libitm_i.h (GTM::gtm_undolog): ...here. New. + (GTM::gtm_undolog_entry): Remove. + (GTM::gtm_thread): Adapt. + * beginend.cc (GTM::gtm_thread::rollback): Adapt. + (GTM::gtm_thread::trycommit): Adapt. + * method-serial.cc (serial_dispatch::log): Adapt. + * method-gl.cc (gl_wt_dispatch::pre_write): Adapt. + (gl_wt_dispatch::store): Fix likely/unlikely. + * containers.h (GTM::vector::resize): Add additional_capacity + parameter and handle it. + (GTM::vector::resize_noinline): New/adapt. + (GTM::vector::push): New. + +2012-01-06 Richard Henderson + + * configure.tgt: Support powerpc-linux and powerpc-darwin. + * config/linux/powerpc/futex_bits.h: New file. + * config/powerpc/cacheline.h: New file. + * config/powerpc/sjlj.S: New file. + * config/powerpc/target.h: New file. + * config/generic/asmcfi.h (cfi_offset): New. + (cfi_restore, cfi_undefined): New. + +2012-01-05 Aldy Hernandez + + PR other/51171 + * testsuite/libitm.c/reentrant.c: Remove xfail. + (thread): Pass x to pure(). + From Patrik Marlier . + +2011-12-24 Torvald Riegel + + * beginend.cc (GTM::gtm_thread::trycommit): Don't enforce + privatization safety if already in serial mode. + +2011-12-24 Torvald Riegel + + * beginend.cc (GTM::gtm_thread::restart): Add and handle + finish_serial_upgrade parameter. + * libitm.h (GTM::gtm_thread::restart): Adapt declaration. + * config/linux/rwlock.cc (GTM::gtm_rwlock::write_lock_generic): + Don't unset reader flag. + (GTM::gtm_rwlock::write_upgrade_finish): New. + * config/posix/rwlock.cc: Same. + * config/linux/rwlock.h (GTM::gtm_rwlock::write_upgrade_finish): + Declare. + * config/posix/rwlock.h: Same. + * method-serial.cc (GTM::gtm_thread::serialirr_mode): Unset reader + flag after commit or after rollback when restarting. + +2011-12-24 Torvald Riegel + + * beginend.cc (GTM::gtm_thread::begin_transaction): Add comment. + (GTM::gtm_thread::try_commit): Changed memory order. + * config/linux/alpha/futex_bits.h (sys_futex0): Take atomic int + as parameter. + * config/linux/x86/futex_bits.h (sys_futex0): Same. + * config/linux/sh/futex_bits.h (sys_futex0): Same. + * config/linux/futex_bits.h (sys_futex0): Same. + * config/linux/futex.cc (futex_wait, futex_wake): Same. + * config/linux/futex.h (futex_wait, futex_wake): Same. + * config/linux/rwlock.h (gtm_rwlock::writers, + gtm_rwlock::writer_readers, gtm_rwlock::readers): Change to atomic + ints. + * config/linux/rwlock.cc (gtm_rwlock::read_lock, + gtm_rwlock::write_lock_generic, gtm_rwlock::read_unlock, + gtm_rwlock::write_unlock): Fix memory orders and fences. + * config/posix/rwlock.cc (gtm_rwlock::read_lock, + gtm_rwlock::write_lock_generic, gtm_rwlock::read_unlock, + gtm_rwlock::write_unlock): Same. + * config/linux/rwlock.h (gtm_rwlock::summary): Change to atomic int. + * method-gl.cc (gl_mg::init, gl_wt_dispatch::memtransfer_static, + gl_wt_dispatch::memset_static, gl_wt_dispatch::begin_or_restart): + Add comments. + (gl_wt_dispatch::pre_write, gl_wt_dispatch::validate, + gl_wt_dispatch::load, gl_wt_dispatch::store, + gl_wt_dispatch::try_commit, gl_wt_dispatch::rollback): Fix memory + orders and fences. Add comments. + +2011-12-21 Jakub Jelinek + + * Makefile.am (AM_CXXFLAGS): Put $(XCFLAGS) first. + * Makefile.in: Regenerated. + +2011-12-17 Kaz Kojima + + * configure.tgt: Add sh* case. + * config/sh/target.h: New file. + * config/sh/sjlj.S: New file. + * config/linux/sh/futex_bits.h: New file. + 2011-12-14 Richard Henderson * config/arm/hwcap.h, config/arm/hwcap.cc: New files.