[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Guile-commits] GNU Guile branch, wip-array-refactor, created. release_1
From: |
Andy Wingo |
Subject: |
[Guile-commits] GNU Guile branch, wip-array-refactor, created. release_1-9-0-47-g4273d37 |
Date: |
Mon, 13 Jul 2009 21:26:07 +0000 |
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Guile".
http://git.savannah.gnu.org/cgit/guile.git/commit/?id=4273d371f594d2ace19ec895a929255369315dce
The branch, wip-array-refactor has been created
at 4273d371f594d2ace19ec895a929255369315dce (commit)
- Log -----------------------------------------------------------------
commit 4273d371f594d2ace19ec895a929255369315dce
Author: Andy Wingo <address@hidden>
Date: Sun Jul 12 20:32:55 2009 +0100
temp commit, for pushing out of paranoia
Given that things are working now more or less, I should push, just so
this work isn't lost. I plan on rebasing this branch into sane patches
at some point in the future, but we have releases to get out before
then...
commit 0e5140247deae386ab028faa44d0be9284e606bc
Author: Andy Wingo <address@hidden>
Date: Thu Jul 2 17:59:59 2009 +0200
srfi-4 vects are representable using bytevectors, not switched yet
* libguile/bytevectors.h (SCM_BYTEVECTOR_INLINE_THRESHOLD)
(SCM_BYTEVECTOR_INLINEABLE_SIZE_P): Move these to the .c file.
(SCM_BYTEVECTOR_TYPE_HINT_NONE)
(SCM_BYTEVECTOR_TYPE_HINT_U8)
(SCM_BYTEVECTOR_TYPE_HINT_S8)
(SCM_BYTEVECTOR_TYPE_HINT_U16)
(SCM_BYTEVECTOR_TYPE_HINT_S16)
(SCM_BYTEVECTOR_TYPE_HINT_U32)
(SCM_BYTEVECTOR_TYPE_HINT_S32)
(SCM_BYTEVECTOR_TYPE_HINT_U64)
(SCM_BYTEVECTOR_TYPE_HINT_S64)
(SCM_BYTEVECTOR_TYPE_HINT_F32)
(SCM_BYTEVECTOR_TYPE_HINT_F64)
(SCM_BYTEVECTOR_TYPE_HINT_C32)
(SCM_BYTEVECTOR_TYPE_HINT_C64)
(SCM_BYTEVECTOR_TYPE_HINT_LAST): New exciting type hints. Since
bytevectors need to be able to print themselves, and srfi-4 will need
to be able to create a typed bytevector, this knowledge must be shared
between the two. It's internal API, though.
(scm_c_take_bytevector): This internal func takes an additional arg,
the type hint.
* libguile/bytevectors.c (type_sizes, type_tags): Arrays for the unit
sizes and #foo() tags for the various hinted types of byte vectors.
(make_bytevector, make_bytevector_from_buffer, scm_c_take_bytevector):
Take an extra type hint param. Callers adapted.
(scm_i_shrink_bytevector): Fix shrinking for inlined bytevectors.
(print_bytevector): Print hinted bytevectors appropriately. Neat :)
* libguile/r6rs-ports.c: Adapt to scm_c_take_bytevector changes.
commit 4758ab8b5abdef807cffc2c84ba3ca99dfab68bf
Author: Andy Wingo <address@hidden>
Date: Thu Jul 2 17:46:23 2009 +0200
fix race in which some instruction name symbols could go unmarked
* libguile/instructions.c: In loops, replace scm_op_last with
SCM_VM_NUM_INSTRUCTIONS.
(fetch_instruction_table): Protect the instruction symbols from
collection. Before they were only marked by the name->opcode hash
table, leading to races in which they could be collected.
(scm_lookup_instruction_by_name): Protect the hash table earlier, as
it's not actually a stack variable, since it's static.
commit 347637db2a7b62f69c11f3233627af9247c1b036
Author: Andy Wingo <address@hidden>
Date: Thu Jul 2 17:43:07 2009 +0200
fix bounds checks for the last element of bv-*-{ref,set}
* libguile/vm-i-scheme.c (BV_FIXABLE_INT_REF, BV_INT_REF):
(BV_FLOAT_REF, BV_FIXABLE_INT_SET, BV_INT_SET, BV_FLOAT_SET): Fix the
bounds check for the last element.
commit 726c31c7ec085bddca163d887af189e68d6c11ee
Author: Andy Wingo <address@hidden>
Date: Tue Jun 30 23:01:18 2009 +0200
bytevectors have smob flags, and space for a type hint
* libguile/bytevectors.h (SCM_F_BYTEVECTOR_INLINE):
(SCM_F_BYTEVECTOR_READONLY):
(SCM_BYTEVECTOR_INLINE_P):
(SCM_BYTEVECTOR_READONLY_P):
(SCM_BYTEVECTOR_TYPE_HINT): New preprocessor defines, within the
"internal" section of the header. The new deal is that we will detect
inline bytevectors by the flag instead of by the length. We reserve
space for 8 flags, and the rest of the space (8 or 40 bits) is for the
upcoming bytevector type hint.
* libguile/bytevectors.c (make_bytevector_from_buffer, make_bytevector)
(scm_c_take_bytevector): Simplify code.
(scm_i_shrink_bytevector): Make sure to set the INLINE flag if needed.
(free_bytevector): Don't free the contents if they are marked
READONLY.
commit b39d53ac5d8751f4aac42c5b8c66470ef1ed3d71
Author: Andy Wingo <address@hidden>
Date: Mon Jun 29 23:32:44 2009 +0200
remove deprecated functions from unif.c
* libguile/unif.h:
* libguile/unif.c: Remove deprecated functions.
* module/ice-9/deprecated.scm: Remove array-related deprecated
functions.
* NEWS: Update.
-----------------------------------------------------------------------
hooks/post-receive
--
GNU Guile
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Guile-commits] GNU Guile branch, wip-array-refactor, created. release_1-9-0-47-g4273d37,
Andy Wingo <=