![](/img/trans.png)
[英]How to catch exceptions/errors in addon.cc(using Nan)
在 addon.cc 中使用 Nan 從 NodeJS 調用 OpenSSL 層方法進行解密/簽名/驗證。 當嘗試在 OpenSSL 中從 NodeJS 一次又一次地點擊這些方法時 - 出現解密/驗證錯誤 - 如果這些錯誤被多次點擊,它會導致服務器崩潰。 如何在 addon.cc 中以某種方式捕獲 ...
[英]How to catch exceptions/errors in addon.cc(using Nan)
在 addon.cc 中使用 Nan 從 NodeJS 調用 OpenSSL 層方法進行解密/簽名/驗證。 當嘗試在 OpenSSL 中從 NodeJS 一次又一次地點擊這些方法時 - 出現解密/驗證錯誤 - 如果這些錯誤被多次點擊,它會導致服務器崩潰。 如何在 addon.cc 中以某種方式捕獲 ...
[英]Why there are multiple window objects in heap snapshot
我正在學習堆快照,在玩游戲時我遇到了一個奇怪的觀察結果,如屏幕截圖所附,我看到“Window”構造函數中有多個 window 對象,它們具有不同的 @Id 。 我什么也沒做,只是打開了一個新標簽,只是拍了一張快照。 這些物體來自哪里? 它們是如何創建的? \ 另外“Window”“Window / ...
[英]V8 (or other JS engine) BigInt Implementation - Displaying as Decimal
我想知道是否有人可以向我解釋 JavaScript BigInt 實現的特定方面。 我理解的概述實現 - 而不是在基數 10 中運行,而是構建一個表示數字的數組,該數組根據構建體系結構在基數 2^32/2^64 中有效地運行。 我很好奇的是這種類型的 display/ console.log實現—— ...
[英]How to reduce frequent scanvange in V8
這是我的測試代碼 這是 d8 跟蹤 gc 結果 測試代碼觸發了多次gc,影響了性能。 好像Obj分配了young generation,所以我想分配給old generation。 有沒有辦法把新對象分配給老年代,從而減少scanvange gc? ...
[英]why chrome Devtools performance recording don't show some invoked functions
下面的代碼可能不適合現實世界,但它很好地說明了這個問題。 如果你運行這段代碼,123456789會在output中正確打印出來,但是你在chrome Devtools性能記錄中找不到1-9對應的記錄器function。 我還啟用了“高級打印工具”選項,但沒有任何區別。 如何確保顯示該操作中執行的所有 ...
[英]What does it mean for `(compiled code)` to build up on the js heap in chrome dev tools? Is this a memory leak?
我一直試圖在我的 ReactJS web 應用程序中追蹤一個小的 memory 泄漏。 它在 10 分鍾左右的時間內增加了 10-30 mb。 我使用 chrome 開發工具拍了 3 張堆快照:1 張是在頁面加載后穩定的 state,1 張是在我執行我懷疑泄漏的操作之后,第 3 張是在第二次執行該 ...
[英]Nodejs is not building in buildroot because ‘va_list’ has not been declared
我嘗試使用 nodejs 為 Radxa 零 SBC 構建嵌入式 linux。 我通過Target packages ---> Interpreter languages and scripting > nodejs和NPM for the target 。 在構建過程中,由於缺少一些 ...
[英]How to create a sidebar in my Google Workspace add-on for Google Sheets by using the appsscript.json file?
我正在嘗試使用 appsscript.json 文件在我的 Google 表格應用程序中創建側邊欄。 我正在嘗試弄清楚如何使用此工具及其生成的 JSON 文件。 還有這里的文檔。 我收到以下錯誤: “appsscript.json”有錯誤:清單無效:未知字段:[sidebar]。 我做錯了什么 ...
[英]Problem with returning booleans from C++ to JavaScript using v8 JS engine
我正在嘗試將 v8 static 庫嵌入到我的獨立 C++ 應用程序中(macOS:Monterey 12.6,CPU:Intel Core i7,Xcode:13.1(13A1030d)) 我寫了一個簡單的 bash 腳本來獲取 v8 static 庫: 將 libv8_monolith.a、li ...
[英]Make failed while trying to build a nodejs native addon
我正在嘗試使用 node-gyp 創建一個本地 nodejs 插件(節點 v16.19)。 C++ 代碼看起來不錯,在我的 IDE 中沒有給出任何警告。“node-gyp configure”運行正常,但是當我運行“node-gyp build”時,我得到下面的堆棧。 它似乎與我從該頁面獲取的 N ...
[英]Avoiding polymorphism when re-using code as optimization
編程中的一項技能是代碼重用 (DRY)。 然而,由於 function 通常只編譯一次,使用略有不同的數據調用同一個 function 將導致多態性,即使數據在每次調用中從不混合 - 數據的形狀被分區到調用站點。 這不利於內聯緩存和其他優化。const f = a => { let dia ...
[英]How can I see if 2 specific string variables added
如何檢查具有相同值的 2 個變量是否是同一個變量? 例如,在下面的代碼中,我創建了 2 個具有相同值的變量並傳遞: 我可以在本地安裝 v8 引擎並更改源代碼,但我正在尋找更簡單的方法來完成它。 一種方法是,如果我在 javascript 中有一個方法,它根據變量名稱為每個變量返回一個唯一值。 解決該 ...
[英]Why is Chrome placing two global objects on the prototype chain?
背景通過閱讀與創建新平台對象相關的Web IDL 規范部分,我們知道在創建全局 object 時,其 [[prototype]] 設置為全局接口 object的實例原型 object (之前創建的,當 接口 object已創建)。 通過查看描述如何創建接口原型對象的部分,我們看到全局對象的 [[p ...
[英]Issues with building Google V8 versions 10.x/11.x with Visual Studio 2019 (9.x is ok)
我目前在 Windows 上構建 V8 版本 11.x 時遇到問題,特別是由於不同的構建錯誤,10.0 之后的每個版本都不會在 Visual Studio 2019 (16.11.22) 上構建。 V8 版本 9.99 使用下面描述的步驟為我成功構建。 版本 10 以上的 V8 是否仍然支持 V ...
[英]In Javascript, how would I make a function support multiple parameter types without it becoming deoptimised by v8?
我想為接受類型化數組和整數索引的向量操作創建函數。 但是,如果我在程序執行過程中將多個不同類型的數組類型(例如Float32Array 、 Float64Array等)傳遞給同一個函數,該函數將變得去優化並運行得更慢。 以下示例應顯示此行為(如果使用 Chrome 運行): function A ...
[英]NodeJS is using a lot of heap memory when nothing is happening
我將以下代碼保存到test.js :setInterval(logMemoryUsage, 5000); function logMemoryUsage() { const formatMemoryUsage = (data) => `${Math.round((data / 1024 ...
[英]Has Google Chrome's DevTools removed the private [[Scopes]] property?
我將 Google Chrome 更新到版本 108.0.5339.98(官方構建)(arm64),當我嘗試使用我的 DevTools 使用console.dir檢查 function 時,私有[[Scopes]]屬性不再顯示。function outerFunc(g) { function ...
[英]How to use Buffer.from in electron 21+
在 Electron 21+ 中,electron 使用v8 memory cage 。 這是減少各種錯誤並啟用 electron 應用程序性能的絕佳舉措。 但是,這似乎導致我無法使用Buffer.from的問題。 一個例子: 此代碼引發錯誤: 有沒有辦法保留沙箱並繼續使用緩沖區? ...
[英]In the chromium source code, why some boundary or type checks use DCHECK
最近在研究chromium和v8的源碼,看到了很多CHECK或者DCHECK 。 其中很多DCHECK是對參數類型的檢查,或者是對arrays的bounds,在release版本中關閉了DCHECK 。DCHECK(key->IsName() || key->IsNumber()); ...
[英]Polymorphism overwhelming inline caches
我如何理解內聯緩存,沒有檢查“或在隱藏的 class 樹中進一步向下”(如果沒有一些技巧,這樣做的成本很高)。 即使來自基類 class 的實例屬性始終處於相同的偏移量,訪問基類 class 屬性遇到許多不同的子類實例將意味着它的內聯緩存被淹沒(或者是嗎?也許我在這里已經錯了,強類型語言通常會涵蓋這 ...