summaryrefslogtreecommitdiff
path: root/vere/pkg/noun/nock.c
diff options
context:
space:
mode:
authorpolwex <polwex@sortug.com>2025-10-06 20:14:44 +0700
committerpolwex <polwex@sortug.com>2025-10-06 20:14:44 +0700
commitbcbd110b17b3c9bcb0e28e28fd33388f1c954a27 (patch)
tree74f73f30eb2478e9ebb9bab2d5e4e91dc0ec6e8e /vere/pkg/noun/nock.c
parentea7d970586959946a119e30b0dc1f9fbe30c33e7 (diff)
progress in logging nock
Diffstat (limited to 'vere/pkg/noun/nock.c')
-rw-r--r--vere/pkg/noun/nock.c29
1 files changed, 29 insertions, 0 deletions
diff --git a/vere/pkg/noun/nock.c b/vere/pkg/noun/nock.c
index 8218efa..8de6d7e 100644
--- a/vere/pkg/noun/nock.c
+++ b/vere/pkg/noun/nock.c
@@ -8,6 +8,7 @@
#include "jets.h"
#include "jets/k.h"
#include "jets/q.h"
+#include "log.h"
#include "manage.h"
#include "options.h"
#include "retrieve.h"
@@ -167,6 +168,17 @@ _n_nock_on(u3_noun bus, u3_noun fol)
u3R->pro.nox_d += 1;
#endif
+ // Trace first 30 opcodes
+ static c3_w opcode_count = 0;
+ if ( opcode_count < 30 ) {
+ if ( c3y == u3du(hib) ) {
+ u3l_log("[C-Nock:%u] cell-cell formula", opcode_count);
+ } else {
+ u3l_log("[C-Nock:%u] opcode %u", opcode_count, hib);
+ }
+ opcode_count++;
+ }
+
if ( c3y == u3du(hib) ) {
u3_noun poz, riv;
@@ -2907,6 +2919,17 @@ u3n_burn(u3p(u3n_prog) pog_p, u3_noun bus)
static u3_noun
_n_burn_on(u3_noun bus, u3_noun fol)
{
+ static c3_w burn_count = 0;
+ if ( burn_count < 30 ) {
+ u3_noun hib = u3h(fol);
+ if ( c3y == u3du(hib) ) {
+ u3l_log("[C-Burn:%u] cell-cell formula", burn_count);
+ } else {
+ u3l_log("[C-Burn:%u] opcode %u", burn_count, hib);
+ }
+ burn_count++;
+ }
+
u3n_prog* pog_u = _n_find(u3_nul, fol);
u3z(fol);
@@ -2920,6 +2943,12 @@ u3n_nock_on(u3_noun bus, u3_noun fol)
{
u3_noun pro;
+ static c3_w call_count = 0;
+ if ( call_count < 10 ) {
+ u3l_log(">>> u3n_nock_on call #%u <<<", call_count);
+ call_count++;
+ }
+
u3t_on(noc_o);
#if 0
pro = _n_nock_on(bus, fol);