原文:深入V8引擎-Time核心方法之mac篇

由於底層邏輯實現不同操作系統區別很大,所以干脆分篇來說。 主要講一下Time TimeTicks兩個類里面對於時間戳的實現,其余的運算符重載 邊緣工具方法就不看了,先是Time。 Time 類本身的說明在上一篇有,這里就去掉了。 從注釋可知,這里的Now是返回國際時間戳的通用方法,但是操作系統可能會對返回值做修正,所以是有一定風險的。第二個NowFromSystemTime使用的系統時間比較准確 ...

2019-05-24 16:23 1 425 推薦指數:

查看詳情

深入V8引擎-Time核心方法之win(1)

  上一的源碼看得十分無趣,官方文檔跟黑心棉一樣渣。   這一講講windows操作系統上的時間戳實現,由於類的聲明,方法解釋上一都貼過了,所以這次直接上對應版本的代碼。   windows與mac很不一樣,實現了一個新的Clock類來管理時間,如下。   從注釋 ...

Tue May 28 09:28:00 CST 2019 0 560
深入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
為什么V8引擎這么快?

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

Mon Sep 23 14:18:00 CST 2013 22 583
深入V8引擎-初始化之InitPlatform

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

Fri Jun 07 00:02:00 CST 2019 0 473
深入V8引擎-編譯啟動

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

Mon May 20 01:15:00 CST 2019 2 699
編譯v8引擎

引言 我們都知道谷歌瀏覽器chrome采用的javascript引擎v8,node.js這樣的runtime能夠火遍全球,很大一部分功勞得歸於v8。半年前就想自己編譯v8引擎玩玩,無奈***阻撓了大部分下載,實在是體驗太差,於是放棄。今天重新編譯v8,先把代碼從牆外的vps下載下來,再用tar ...

Tue Jun 23 04:27:00 CST 2020 0 805
V8引擎嵌入指南

,以及如何將V8引擎作為一個獨立的虛擬機來使用。本文將進一步討論這些概念,並介紹其他有關V8引擎嵌入C++ ...

Tue Aug 20 23:37:00 CST 2013 0 4243
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM