[Guile-commits] Failed with output: Hydra job gnu:guile-master:build_disable_deprecated_disable_discouraged on x86_64-linux

2013-11-15 Thread Hydra Build Daemon
Hi,

The status of Hydra job 
gnu:guile-master:build_disable_deprecated_disable_discouraged (on x86_64-linux) 
has changed from "Success" to "Failed with output".  For details, see

  http://hydra.nixos.org/build/6837862

This is likely due to 3 commits by Andy Wingo .

Go forth and fix it.

Regards,

The Hydra build daemon.



[Guile-commits] Success: Hydra job gnu:guile-master:build.x86_64-linux

2013-11-15 Thread Hydra Build Daemon
Hi,

The status of Hydra job gnu:guile-master:build.x86_64-linux has changed from 
"Failed with output" to "Success".  For details, see

  http://hydra.nixos.org/build/6837864

This is likely due to 3 commits by Andy Wingo .

Yay!

Regards,

The Hydra build daemon.



[Guile-commits] Success: Hydra job gnu:guile-master:build_CPPFLAGS=_DSCM_DEBUG_TYPING_STRICTNESS=2 on x86_64-linux

2013-11-15 Thread Hydra Build Daemon
Hi,

The status of Hydra job 
gnu:guile-master:build_CPPFLAGS=_DSCM_DEBUG_TYPING_STRICTNESS=2 (on 
x86_64-linux) has changed from "Failed with output" to "Success".  For details, 
see

  http://hydra.nixos.org/build/6837841

This is likely due to 15 commits by Andy Wingo , Bjørn 
Forsman , Domen Kožar , Sergey Mironov 
, Shea Levy  or Vladimír Čunát 
.

Yay!

Regards,

The Hydra build daemon.



[Guile-commits] Success: Hydra job gnu:guile-master:build.i686-linux

2013-11-15 Thread Hydra Build Daemon
Hi,

The status of Hydra job gnu:guile-master:build.i686-linux has changed from 
"Failed with output" to "Success".  For details, see

  http://hydra.nixos.org/build/6837840

This is likely due to 15 commits by Andy Wingo , Bjørn 
Forsman , Domen Kožar , Sergey Mironov 
, Shea Levy  or Vladimír Čunát 
.

Yay!

Regards,

The Hydra build daemon.



[Guile-commits] Success: Hydra job gnu:guile-master:build_enable_guile_debug on x86_64-linux

2013-11-15 Thread Hydra Build Daemon
Hi,

The status of Hydra job gnu:guile-master:build_enable_guile_debug (on 
x86_64-linux) has changed from "Failed with output" to "Success".  For details, 
see

  http://hydra.nixos.org/build/6837843

This is likely due to 15 commits by Andy Wingo , Bjørn 
Forsman , Domen Kožar , Sergey Mironov 
, Shea Levy  or Vladimír Čunát 
.

Yay!

Regards,

The Hydra build daemon.



[Guile-commits] Success: Hydra job gnu:guile-master:build_disable_networking on x86_64-linux

2013-11-15 Thread Hydra Build Daemon
Hi,

The status of Hydra job gnu:guile-master:build_disable_networking (on 
x86_64-linux) has changed from "Failed with output" to "Success".  For details, 
see

  http://hydra.nixos.org/build/6837845

This is likely due to 15 commits by Andy Wingo , Bjørn 
Forsman , Domen Kožar , Sergey Mironov 
, Shea Levy  or Vladimír Čunát 
.

Yay!

Regards,

The Hydra build daemon.



[Guile-commits] Success: Hydra job gnu:guile-master:build_disable_deprecated_disable_discouraged on x86_64-linux

2013-11-15 Thread Hydra Build Daemon
Hi,

The status of Hydra job 
gnu:guile-master:build_disable_deprecated_disable_discouraged (on x86_64-linux) 
has changed from "Failed with output" to "Success".  For details, see

  http://hydra.nixos.org/build/6837839

This is likely due to 15 commits by Andy Wingo , Bjørn 
Forsman , Domen Kožar , Sergey Mironov 
, Shea Levy  or Vladimír Čunát 
.

Yay!

Regards,

The Hydra build daemon.



[Guile-commits] Success: Hydra job gnu:guile-master:tarball on x86_64-linux

2013-11-15 Thread Hydra Build Daemon
Hi,

The status of Hydra job gnu:guile-master:tarball (on x86_64-linux) has changed 
from "Failed with output" to "Success".  For details, see

  http://hydra.nixos.org/build/6837838

This is likely due to 15 commits by Andy Wingo , Bjørn 
Forsman , Domen Kožar , Sergey Mironov 
, Shea Levy  or Vladimír Čunát 
.

Yay!

Regards,

The Hydra build daemon.



[Guile-commits] GNU Guile branch, master, updated. v2.1.0-392-gcb8ea38

2013-11-15 Thread Andy Wingo
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=cb8ea3805f02684c17c5dd8b55714dc1e8ce6c48

The branch, master has been updated
   via  cb8ea3805f02684c17c5dd8b55714dc1e8ce6c48 (commit)
   via  f8085163d6c457e79d3f54934723707260ac8dd8 (commit)
   via  840ec33422e7ccae5ac158584e5587d88ff42d85 (commit)
  from  0c247a2fb6a9872b262eb7558e62481ac1967063 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -
commit cb8ea3805f02684c17c5dd8b55714dc1e8ce6c48
Author: Andy Wingo 
Date:   Fri Nov 15 17:14:15 2013 +0100

Remove use of SCM_CRITICAL_SECTION in smob.c

* libguile/smob.c (scm_make_smob_type): Use a mutex instead of a
  critical section, which does an async tick.  Not important, just a
  thing I saw.

commit f8085163d6c457e79d3f54934723707260ac8dd8
Author: Andy Wingo 
Date:   Fri Nov 15 17:13:10 2013 +0100

Remove MVRA from VM frames

* libguile/_scm.h (SCM_OBJCODE_MINOR_VERSION): Bump for frame layout
  change.

* libguile/frames.c: Update some static checks.
  (scm_frame_num_locals, scm_frame_local_ref, scm_frame_local_set_x):
  Update to not skip over uninitialized frames, as that's not a thing
  any more.

* libguile/frames.h: Update to remove MVRA.  Woo!

* libguile/vm-engine.c (ALLOC_FRAME, RETURN_ONE_VALUE):
  (rtl_vm_engine): Update for 3 words per frame instead of 4.

* libguile/vm.c (vm_return_to_continuation): Likewise.

* module/language/cps/slot-allocation.scm (allocate-slots): 3 words per
  frame, not 4.

* module/system/vm/assembler.scm (*bytecode-minor-version*): Bump.  Also
  remove a couple of tc7's that aren't around any more.

commit 840ec33422e7ccae5ac158584e5587d88ff42d85
Author: Andy Wingo 
Date:   Fri Nov 15 15:39:38 2013 +0100

Remove MVRA accessors in libguile

* libguile/vm.c (scm_i_vm_capture_stack): Remove MVRA argument, in
  preparation for removing MVRA from frames.
  (scm_i_capture_current_stack): Adapt to scm_i_vm_capture_stack
  change.
  (vm_reinstate_partial_continuation): Remove references to MVRA.

* libguile/vm.h (struct scm_vm_cont): Remove mvra member.

* libguile/vm-engine.c (call): Set MVRA to 0.  Will remove later.
  (return-values): Return to RA.
  (call/cc): Remove MVRA from capture call.

* libguile/frames.c:
* libguile/frames.h (SCM_FRAME_MV_RETURN_ADDRESS)
  (SCM_FRAME_RTL_MV_RETURN_ADDRESS, scm_frame_mv_return_address): Remove
  accessors.

* libguile/control.c (reify_partial_continuation): Adapt to
  scm_i_vm_capture_stack change.

---

Summary of changes:
 libguile/_scm.h |2 +-
 libguile/control.c  |4 +-
 libguile/frames.c   |   62 +--
 libguile/frames.h   |   47 ++-
 libguile/smob.c |4 +-
 libguile/vm-engine.c|   46 ++-
 libguile/vm.c   |   25 +++-
 libguile/vm.h   |4 +-
 module/language/cps/slot-allocation.scm |2 +-
 module/system/vm/assembler.scm  |4 +-
 10 files changed, 57 insertions(+), 143 deletions(-)

diff --git a/libguile/_scm.h b/libguile/_scm.h
index 9175eb7..ee37fc3 100644
--- a/libguile/_scm.h
+++ b/libguile/_scm.h
@@ -270,7 +270,7 @@ void scm_ia64_longjmp (scm_i_jmp_buf *, int);
 
 /* Major and minor versions must be single characters. */
 #define SCM_OBJCODE_MAJOR_VERSION 3
-#define SCM_OBJCODE_MINOR_VERSION 2
+#define SCM_OBJCODE_MINOR_VERSION 3
 #define SCM_OBJCODE_MAJOR_VERSION_STRING\
   SCM_CPP_STRINGIFY(SCM_OBJCODE_MAJOR_VERSION)
 #define SCM_OBJCODE_MINOR_VERSION_STRING\
diff --git a/libguile/control.c b/libguile/control.c
index 7120ffe..aad5aba 100644
--- a/libguile/control.c
+++ b/libguile/control.c
@@ -108,12 +108,10 @@ reify_partial_continuation (SCM vm,
   if (SCM_FRAME_DYNAMIC_LINK (bottom_fp) != saved_fp)
 abort();
 
-  /* Capture from the top of the thunk application frame up to the end. Set an
- MVRA only, as the post-abort code is in an MV context. */
+  /* Capture from the top of the thunk application frame up to the end. */
   vm_cont = scm_i_vm_capture_stack (bottom_fp - 1,
 SCM_VM_DATA (vm)->fp,
 SCM_VM_DATA (vm)->sp,
-NULL,
 SCM_VM_DATA (vm)->ip,
   

[Guile-commits] GNU Guile branch, master, updated. v2.1.0-389-g0c247a2

2013-11-15 Thread Andy Wingo
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=0c247a2fb6a9872b262eb7558e62481ac1967063

The branch, master has been updated
   via  0c247a2fb6a9872b262eb7558e62481ac1967063 (commit)
   via  987c1f5ff333dfa57e1e08b472d79f194e40ad0b (commit)
   via  13085a828f6d31c6aaf1e0c403dbe4d1b9dd1449 (commit)
  from  4c906ad5a5e0404e8b488b525f6b62f405b4d560 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -
commit 0c247a2fb6a9872b262eb7558e62481ac1967063
Author: Andy Wingo 
Date:   Fri Nov 15 14:57:05 2013 +0100

Try to allocate arguments directly in call frames

* module/language/cps/slot-allocation.scm (allocate-slots): Convert
  cont-table to a vector, for ease of access.  Run a pass before
  allocation that determines the set of variables whose slot allocation
  can and should be delayed, so that they can ideally be allocated
  directly in an argument slot.

commit 987c1f5ff333dfa57e1e08b472d79f194e40ad0b
Author: Andy Wingo 
Date:   Fri Nov 15 11:17:18 2013 +0100

Rewrite slot allocation pass

* module/language/cps/slot-allocation.scm ($allocation): Refactor
  internal format of allocations.  Instead of an allocation being a hash
  table of small $allocation objects, it is an $allocation object that
  contains packed vectors.
  (find-first-trailing-zero): Rework to not need a maximum.
  (lookup-maybe-slot): New interface.
  (lookup-slot): Raise an error if a var has no slot.
  (lookup-call-allocation): New helper.
  (lookup-constant-value, lookup-maybe-constant-value):
  (lookup-call-proc-slot, lookup-parallel-moves): Adapt to $allocation
  change

  (allocate-slots): Rewrite so that instead of being recursive, it
  traverses the blocks in CFA order.  Also, procedure call frames are
  now allocated with respect to the live set after using arguments (and
  killing any dead-after-use vars); this should make call frames more
  compact but it does necessitate a parallel move solution.  Therefore
  parallel moves are recorded for all calls, for arguments; also if the
  continuation is a $ktrunc, the continuation gets parallel moves for
  the results.

  This rewrite is in preparation to allocating call args directly in the
  appropriate slots, where possible.

* module/language/cps/compile-rtl.scm (compile-fun): Adapt to slot
  allocation changes, using lookup-maybe-slot where appropriate,
  performing parallel moves when calling functions, and expecting return
  moves to be associated with $ktrunc continuations.

commit 13085a828f6d31c6aaf1e0c403dbe4d1b9dd1449
Author: Andy Wingo 
Date:   Wed Nov 13 19:58:55 2013 +0100

Replace ($var sym) with ($values (sym)).

* module/language/cps.scm: Remove $var.  Replaced by $values with one
  value.

* module/language/cps/arities.scm:
* module/language/cps/closure-conversion.scm:
* module/language/cps/compile-rtl.scm:
* module/language/cps/dfg.scm:
* module/language/cps/slot-allocation.scm:
* module/language/cps/verify.scm:
* module/language/tree-il/compile-cps.scm: Adapt all the world.

---

Summary of changes:
 module/language/cps.scm|   10 +-
 module/language/cps/arities.scm|8 +-
 module/language/cps/closure-conversion.scm |   13 +-
 module/language/cps/compile-rtl.scm|   99 ++--
 module/language/cps/dfg.scm|5 +-
 module/language/cps/slot-allocation.scm|  795 +---
 module/language/cps/verify.scm |2 -
 module/language/tree-il/compile-cps.scm|9 +-
 8 files changed, 549 insertions(+), 392 deletions(-)

diff --git a/module/language/cps.scm b/module/language/cps.scm
index 4dc88eb..57d95d4 100644
--- a/module/language/cps.scm
+++ b/module/language/cps.scm
@@ -122,7 +122,7 @@
 $kif $ktrunc $kargs $kentry $ktail $kclause
 
 ;; Expressions.
-$var $void $const $prim $fun $call $primcall $values $prompt
+$void $const $prim $fun $call $primcall $values $prompt
 
 ;; Building macros.
 let-gensyms
@@ -178,7 +178,6 @@
 (define-cps-type $kclause arity cont)
 
 ;; Expressions.
-(define-cps-type $var sym)
 (define-cps-type $void)
 (define-cps-type $const val)
 (define-cps-type $prim name)
@@ -228,9 +227,8 @@
 
 (define-syntax build-cps-exp
   (syntax-rules (unquote
- $var $void $const $prim $fun $call $primcall $values $prompt)
+ $void $const $pr