摘要: Memslab从结构上可以分为三层,1最顶层是一些cache队列,2 每个cache队列中又包含三个slab队列,3 每个slab管理着一个页面我们首先从这三层来介绍memslab的整体结构1 cache队列最顶层与cache相关的队列有Ikmem_array: 指向不同大小的cacheIkmem_... 阅读全文
posted @ 2015-09-01 20:51 zhangfann 阅读(297) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2015-09-01 20:43 zhangfann 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 对于一元运算,我们现在指的还不是函数(完成函数会在以后讲到),而是一般语言中内置的一元运算,比如Scheme中的add1,sub1,integer->char, char->integer, fixnum? ,boolean? ,null? ,char? 等的运算.实现这种一元运算的原理和关键就在于... 阅读全文
posted @ 2015-03-19 14:31 zhangfann 阅读(388) 评论(0) 推荐(0) 编辑
摘要: 在上一篇博客中,我介绍了这个Scheme编译器的主要框架,以及运行它编译的程序的运行时系统。这篇博客中,我们将要尝试去表示一系列在Scheme中的值,也就是立即数。首先我们要解释什么是立即数,立即数就是直接存储在一个字节或几个字节中的值,包括定点数,布尔值,字符,空表等。这些不同类型的立即数在我们人... 阅读全文
posted @ 2015-03-18 12:55 zhangfann 阅读(703) 评论(0) 推荐(0) 编辑
摘要: 在博主的大学生涯中,感觉最头痛的一门课程就是编译原理了,学习完这门课程之后,虽然知道了LL,LR算法,和一系列与编译原理相关的术语,可是对它的了解一直停留在做题上,虽然博主一直希望能够通过自己写一个编译器来加深对编译原理的理解,可是用C语言写编译器真的是一场噩梦,每天大把的时间都花在了调试bug... 阅读全文
posted @ 2015-03-17 18:54 zhangfann 阅读(2199) 评论(0) 推荐(0) 编辑