原文:深入出不來nodejs源碼-V8引擎初探

原本打算是把node源碼看得差不多了再去深入V 的,但是這兩者基本上沒辦法分開講。 與express是基於node的封裝不同,node是基於V 的一個應用,源碼內容已經滲透到V 層面,因此這章簡述一下我目前理解的V 引擎吧。 首先需要理解的是V 是一個JS代碼運行平台,可以將JS代碼編譯執行。 本節就非常淺顯的講一下V 內部一些常見類,以及一個運行JS代碼的簡單demo。 由於研究V 引擎原理的 ...

2018-06-27 12:42 0 3679 推薦指數:

查看詳情

深入V8引擎-AST(1)

  沒辦法了,開坑吧,接下來的幾篇會講述JavaScript字符串源碼v8中轉換成AST(抽象語法樹)的過程。   JS代碼在V8的解析只有簡單的幾步,其中第一步就是將源字符串轉換為抽象語法樹,非常類似於vue中將html轉換為VNODE的過程。該過程涉及的類並不多,均位於/src ...

Mon Jul 01 20:43:00 CST 2019 0 814
深入V8引擎-AST(2)

  先聲明一下,這種長系列的大塊頭博客只能保證盡可能的深入到每一行源碼,有些代碼我不樂意深究就寫個注釋說明一下作用。另外,由於本地整理的比較好,博客就隨心寫了。   整個Compile過程目前只看到asmjs之前,簡單的過了幾遍,大部分方法沒有點進去看,實在是太復雜了。上一篇的結尾指出了AST ...

Tue Jul 02 19:58:00 CST 2019 0 410
nodejsv8引擎

Motivation JavaScript 是一款擁有「自動垃圾回收」功能的編程語言。 市面上具有這樣功能的語言,一般都是擁有相對應的虛擬機的,像 Java的JVM ,C#的CLR ,PHP的Ze ...

Thu Dec 15 19:41:00 CST 2016 0 8890
nodejs v8引擎

Node.js 線程你理解的可能是錯的 本文代碼運行環境 系統:MacOS High Sierra Node.js:10.3.0 復制代碼 Node.js是單線程的,那么Node.js ...

Tue Jan 22 23:05:00 CST 2019 0 582
為什么V8引擎這么快?

目錄(?)[-] 高速引擎的需求 語言本身的問題 JIT編譯 JIT Compile 垃圾回收管理 內嵌緩存inline cache 隱藏類 內嵌緩存Inline Cache 機器語言的特性 附錄熟悉OOP的程序員之參考 ...

Mon Sep 23 14:18:00 CST 2013 22 583
深入出不來nodejs源碼-內置模塊引入初探

  重新審視了一下上一篇的內容,配合源碼發現有些地方說的不太對,或者不太嚴謹。   主要是關於內置模塊引入的問題,當時我是這樣描述的: 需要關注的只要那個RegisterBuiltinModules方法,從名字也可以看出來,就是加載內置模塊。   然而並不是啊……從名字可以看出來 ...

Thu Jun 14 22:33:00 CST 2018 4 2629
深入V8引擎-編譯啟動

記錄一下步驟,方便以后換了電腦重新編譯。 1、搞定depot_tools,git地址:git clone https://chromium.googlesource.com/chromium/too ...

Mon May 20 01:15:00 CST 2019 2 699
深入V8引擎-初始化之InitPlatform

上一篇其實想講初始化的第二步,但是內容比較無聊,所以換了一個話題,談了談v8的命名空間和宏,稍微輕松一下。 在這里還是接着說說初始化過程,畢竟寫博客的初衷是對自己努力的記錄,不是為了吸粉,這篇沒圖,對代碼本身沒有興趣的可以跳過了。 再多說幾句,講一下我怎么看的源碼吧。源碼的一些方法涉及 ...

Fri Jun 07 00:02:00 CST 2019 0 473
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM