- 浏览: 12391 次
- 来自: ...
最近访客 更多访客>>
最新评论
-
kris_xu:
cfc 写道您好
不曉得是否可以授權給我們台灣Ruby社群轉譯 ...
[个人]加入了ruby hacking guide的中文翻译团队 -
9esuLuciano:
dreamhead 写道向大家汇报一下这个项目的进度!
其实 ...
[个人]加入了ruby hacking guide的中文翻译团队 -
dreamhead:
simohayha 写道google code上没有任何可以下 ...
[个人]加入了ruby hacking guide的中文翻译团队 -
simohayha:
google code上没有任何可以下载的文档呀?
[个人]加入了ruby hacking guide的中文翻译团队 -
dreamhead:
向大家汇报一下这个项目的进度!
其实,第一部分的翻译早就完事 ...
[个人]加入了ruby hacking guide的中文翻译团队
文章列表
孙向晖 sunshineormer at hotmail.com
map是JSObject的一个重要属性,存放一个对象的所有的属性的入口。要想了解map,就需要打开jsobj.h文件,看里面的定义。
struct JSObject {
JSObjectMap *map;
jsval *slots;
};
孙向晖 sunshineormer at hotmail.com
在正式开始之前,先说点关于RHG的话题,我的JHG系列,基本是在仿照着RHG的风格在写作。RHG的述事风格很有条理性,并且会指导你跳过跳过再跳过一些无关痛痒的程序片段。这是对的,在一大堆程序中,能够快速准确的定位,不是件很容易的事情。
从今天开始,我将讲述我对蜘蛛猴源代码的查找过程:
在js.c 找到main里面的调用过程,注意,下面的函数都是精简过的,而且是平级的关系:
rt = JS_NewRuntime(...
cx = JS_NewContext(rt,...
glob = JS_NewObject(cx, &g ...
跟东、雪和健讨论后,重新修改了图2,可以联系图1来思考它们之间的演进关系了。
这个周末,基本上是跟指针,对象一起度过的。即使是在我偶而为之的睡梦中,也是在思考函数指针和指针函数。呵呵。
周日整理出来的继承(原型)链图,可以说是javascript对象基础中比较深的部分了。
浅蓝色的,typeof() ==Object, 灰色的部分,typeof == Function。这里面只有FunctionPrototype出乎我的意料,我对它的期望值是浅蓝色,可是,运行程序的结果证明,它是灰色调的。
感谢超德和梁健,你们是我前进的动力。
昨天贴出来的,只能算是初步的编程模型,如果想弄清楚javascript的内存模型,必须看这幅图,不过这幅图还有一些简化的部分。以后会用程序来验证和说明这幅图的正确性,敬请期待。
那天听东东将javascript,他讲得也匆忙,我听得也犯晕,心想如果能够建立起javascript的内存对象模型该多好啊。可是在网上找了好久,也没有发现javascript的Hacking guide,不经意间,却找到了ruby hacking guide,不错不错。还好有mozilla 中蜘蛛猴的源代码,我想离真正建立javascript的对象模型(内存模型)已经不远了。
仿照ruby hacking guide的做法,先把已经掌握的资料用图表示出来,关于其之间的详细的关系,我会在后面的文章中举例说明。
图示说明:椭圆边框的部分是c的结构体(struct),带圆点的线条代表指针,在椭圆 ...
一种语言,除了语言规范之外,或许会有若干种实现。javascript是这样,虽然大家都号称要遵守ECMAScript 262规范,但是微软的实现和蜘蛛猴的实现显然是存在一些差异的;java是这样的,即使有了虚拟机规范,但是ibm和bea会根据自己的需要做一些调优;C++又何尝不是如此呢?
想开些,这没有什么不好。
如果想了解C++的内存对象模型,最好的办法是拿到C++的编译器,随便哪个都行,当然,那么多的代码,没有点耐心和时间,是不太会有人看下去的。还好,第一个C++编译器的作者,Stan Lippman大师,把自己的编译器精髓部分著书立说,这就是我们拿到的《inside the cpp ob ...