guile-devel
[Top][All Lists]
Advanced

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

RTL Cache Cells


From: Noah Lavine
Subject: RTL Cache Cells
Date: Wed, 6 Feb 2013 22:09:53 -0500

Hello,

The RTL branch now has infrastructure for toplevel and module refs, which is very exciting. Unfortunately, I can't figure out how to use it. :-(

In particular, I've been looking at module/system/vm/rtl.scm, and there are two things I don't understand about cache cells.
  1. How do I choose the scope of a cache cell? It seems like making it the name of the lambda I'm in would be fine, but that's not what the examples in rtl.test do.
  2. How do different toplevel-refs share cache cells? A comment says that they will, but the emit-cache-cell code doesn't seem to do any checking. Does that still need to be implemented?

Oh, and as long as I'm at it,
  3. I see that the 'toplevel-ref' instruction in vm-engine.c expects a variable object as its cache, but the 'cached-toplevel-ref' instruction *appears* to be passing it a cache cell. I say "appears" because I see that in intern-constant, cache cells are special-case objects that aren't actually cached. So is a cache cell only a compile-time entity? How do they work, anyway?

Thanks in advance,
Noah


reply via email to

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