From 82cefbd2c44d2c9d64fee6a807f011304fd13399 Mon Sep 17 00:00:00 2001 From: Harshitha KP Date: Thu, 20 Feb 2020 02:00:56 -0500 Subject: [PATCH 1/6] doc: Add more useful information to Glossary.md --- glossary.md | 86 ++++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 76 insertions(+), 10 deletions(-) diff --git a/glossary.md b/glossary.md index a48fd6083b407f..8b71124da72f11 100644 --- a/glossary.md +++ b/glossary.md @@ -1,16 +1,82 @@ You may also need to check https://chromium.googlesource.com/chromiumos/docs/+/master/glossary.md. -* LGTM: "Looks good to me", commonly used to approve a code review. -* PTAL: Please take a look. -* RSLGTM: "Rubber-stamp looks good to me". The reviewer approving without doing +* ABI: Application Binary Interface - contracts for internal + API invocations. +* ASAP: As Soon As Possible. +* ASM: Assembler - General term for language translator, especially + from high level to low level. +* ASYNC: Asynchronous +* BE: Big Endian - Byte order style in a multibyte data. + (Opposite of LE, Little Endian) +* CI: Continues Intigration. +* CITGM: Canary In The Gold Mine - a smoke test unit in the repo that + contain popular npm modules. +* CJS: Common JS. +* CLDR: Common Locale Data Repository. +* CLI: Command Line Interface. +* CMD: Command. +* CVE: Common Vulnerebilities and Exposures - A database that + maintains reported security exposures. +* ECMA: European Computer Manufacturers Association - A body that + governs JS spec among other things. +* ENV: Environment - General term for execution environment. +* EOF: End Of File. +* EOL: End Of Line (when used within a program), End of Life + (when used within project documents). +* ESM: ECMA Script Module. +* ETW: Event Tracing for Windows. +* FD: File Descriptor. +* FFDC: First Failure Data Capture - Common terms for logs, traces + and dumps that are produced by default on program error. +* FIPS: Federal Information Processing Standards. +* FS: File System. +* ICU: International Components for Unicode. +* IPC: Inter Process Communication. +* JIT: Just In Time - General term for dynamic compiler in + managed runtimes. +* JS/C++ boundary: A layer that bridges between JS APIs and the C++ + helpers that implements / abstracts platform capabilities. +* LGTM: Looks good to me - commonly used to approve a code review. +* LTS: Long Term Support. +* MDN: Mozila Development Network - A vast and authentic + documentation on JavaScript. +* OOB: Out Of Bounds - Used in the context of TCP data transport. +* OOM: Out Of Memory. +* OSX: Mac OS. +* PPC: Power PC. +* PTAL: Please Take A Look. +* RAII: Resource Aquisition Is Intialization - A C++ feature for + auto-cleanup of dynamically allocated objects. +* REPL: Read Evaluate Print Loop. +* RFC: Request For Comments. +* RSLGTM: Rubber-Stamp Looks Good To Me. The reviewer approving without doing a full code review. +* RSS: Resident Set Size. +* SMP: Symmetric Multi Processor. * TSC: Technical Steering Committee. Detailed info see [TSC](./GOVERNANCE.md#technical-steering-committee). -* WIP: "Work In Progress" - e.g. a patch that's not finished, but may be worth - an early look. +* V8: JavaScript engine that is embedded in Node.js. +* VM: Virtual Machine, in the context of abstracting instructions, + not to be confused with H/W level or O/S level Virtual machines. +* WASI: Web Assemby System Interface. +* WASM: Web Assembly. +* WG: Working Group - autonomous teams in the project with specific + focus areas. +* WHATWG: Web Hypertext Application Technology Working Group +* WIP: "Work In Progress" - e.g. a patch that's not finished, but +may be worth an early look. * WPT: [web-platform-tests](https://github.com/web-platform-tests/wpt) -* godbolt: [Compiler Explorer](https://godbolt.org/) run compilers interactively - from your web browser and interact with the assembly. Was created by and is - primarily administrated by Matt Godbolt. -* primordials: Pristine built-ins that are not effected by prototype pollution - and tampering with built-ins. +* bootstrap: Early phase in the Node.js process startup - that sets up + the Node.js execution environment and loads the internal modules. +* code cache: A chunk of memory where the compiled JS code is stored. +* deps: upstream projects that this project depends. +* godbolt: [Compiler Explorer](https://godbolt.org/) run compilers + interactively from your web browser and interact with the assembly. + Was created by and is primarily administrated by Matt Godbolt. +* native modules/addons: A module / shared library that is + implemented in C/C++, but exposes one or more interfaces, + callable from JS. +* primordials: Pristine built-ins that are not effected by prototype + pollution and tampering with built-ins. +* snapshot: Native object code compiled from the JS APIs of Node.js +* vendoring: consuming external software into this project. From 7524866fb8bfe0b0fd9586b7106c54fc6b6653f1 Mon Sep 17 00:00:00 2001 From: Harshitha KP Date: Thu, 20 Feb 2020 07:03:47 -0500 Subject: [PATCH 2/6] fixup: address review comments --- glossary.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/glossary.md b/glossary.md index 8b71124da72f11..60403848be39f5 100644 --- a/glossary.md +++ b/glossary.md @@ -68,7 +68,7 @@ may be worth an early look. * WPT: [web-platform-tests](https://github.com/web-platform-tests/wpt) * bootstrap: Early phase in the Node.js process startup - that sets up the Node.js execution environment and loads the internal modules. -* code cache: A chunk of memory where the compiled JS code is stored. +* code cache: A chunk of bytes storing compiled JS code and its metadata. * deps: upstream projects that this project depends. * godbolt: [Compiler Explorer](https://godbolt.org/) run compilers interactively from your web browser and interact with the assembly. @@ -78,5 +78,7 @@ may be worth an early look. callable from JS. * primordials: Pristine built-ins that are not effected by prototype pollution and tampering with built-ins. -* snapshot: Native object code compiled from the JS APIs of Node.js +* snapshot: When referring to the V8 startup snapshot, a chunk of + bytes containing data serialized from a V8 heap, which can be + deserialized to restore the states of the V8 engine. * vendoring: consuming external software into this project. From 161016e4d0292c0af26c3dfb1f4bb853bfa7ac46 Mon Sep 17 00:00:00 2001 From: Harshitha KP Date: Mon, 24 Feb 2020 05:27:10 -0500 Subject: [PATCH 3/6] fixup: address review comments --- glossary.md | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/glossary.md b/glossary.md index 60403848be39f5..bd2e2391021370 100644 --- a/glossary.md +++ b/glossary.md @@ -1,26 +1,25 @@ You may also need to check https://chromium.googlesource.com/chromiumos/docs/+/master/glossary.md. -* ABI: Application Binary Interface - contracts for internal - API invocations. +* ABI: [Application Binary Interface](https://en.wikipedia.org/wiki/Application_binary_interface) * ASAP: As Soon As Possible. * ASM: Assembler - General term for language translator, especially from high level to low level. * ASYNC: Asynchronous * BE: Big Endian - Byte order style in a multibyte data. (Opposite of LE, Little Endian) -* CI: Continues Intigration. +* CI: Continuous Intigration. * CITGM: Canary In The Gold Mine - a smoke test unit in the repo that contain popular npm modules. * CJS: Common JS. * CLDR: Common Locale Data Repository. -* CLI: Command Line Interface. +* CLI: [Command Line Interface](https://en.wikipedia.org/wiki/Command-line_interface) * CMD: Command. * CVE: Common Vulnerebilities and Exposures - A database that maintains reported security exposures. * ECMA: European Computer Manufacturers Association - A body that governs JS spec among other things. * ENV: Environment - General term for execution environment. -* EOF: End Of File. +* EOF: [End Of File](https://en.wikipedia.org/wiki/End-of-file) * EOL: End Of Line (when used within a program), End of Life (when used within project documents). * ESM: ECMA Script Module. @@ -45,8 +44,7 @@ You may also need to check https://chromium.googlesource.com/chromiumos/docs/+/m * OSX: Mac OS. * PPC: Power PC. * PTAL: Please Take A Look. -* RAII: Resource Aquisition Is Intialization - A C++ feature for - auto-cleanup of dynamically allocated objects. +* RAII: [Resource Aquisition Is Intialization](https://en.wikipedia.org/wiki/Resource_acquisition_is_initialization) * REPL: Read Evaluate Print Loop. * RFC: Request For Comments. * RSLGTM: Rubber-Stamp Looks Good To Me. The reviewer approving without doing From 9e59376aa28a5bbde2e6cbc790b52cac45d9c37d Mon Sep 17 00:00:00 2001 From: Harshitha KP Date: Mon, 24 Feb 2020 06:10:58 -0500 Subject: [PATCH 4/6] fixup: address review comments --- glossary.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/glossary.md b/glossary.md index bd2e2391021370..031e7a28bd878b 100644 --- a/glossary.md +++ b/glossary.md @@ -7,7 +7,7 @@ You may also need to check https://chromium.googlesource.com/chromiumos/docs/+/m * ASYNC: Asynchronous * BE: Big Endian - Byte order style in a multibyte data. (Opposite of LE, Little Endian) -* CI: Continuous Intigration. +* CI: Continuous Integration. * CITGM: Canary In The Gold Mine - a smoke test unit in the repo that contain popular npm modules. * CJS: Common JS. @@ -56,7 +56,7 @@ You may also need to check https://chromium.googlesource.com/chromiumos/docs/+/m * V8: JavaScript engine that is embedded in Node.js. * VM: Virtual Machine, in the context of abstracting instructions, not to be confused with H/W level or O/S level Virtual machines. -* WASI: Web Assemby System Interface. +* WASI: [Web Assemby System Interface]( https://github.com/WebAssembly/WASI) * WASM: Web Assembly. * WG: Working Group - autonomous teams in the project with specific focus areas. From c6c9891aa7aff493756a8b57c90917891089ce5d Mon Sep 17 00:00:00 2001 From: Harshitha KP Date: Thu, 27 Feb 2020 05:58:11 -0500 Subject: [PATCH 5/6] fixup: address review comment --- glossary.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/glossary.md b/glossary.md index 031e7a28bd878b..a28bab5565a128 100644 --- a/glossary.md +++ b/glossary.md @@ -2,8 +2,6 @@ You may also need to check https://chromium.googlesource.com/chromiumos/docs/+/m * ABI: [Application Binary Interface](https://en.wikipedia.org/wiki/Application_binary_interface) * ASAP: As Soon As Possible. -* ASM: Assembler - General term for language translator, especially - from high level to low level. * ASYNC: Asynchronous * BE: Big Endian - Byte order style in a multibyte data. (Opposite of LE, Little Endian) From 0d94c6eda99e86c4836a98662fd019ad0ee6d75c Mon Sep 17 00:00:00 2001 From: Harshitha KP Date: Sun, 3 May 2020 03:34:22 -0400 Subject: [PATCH 6/6] fixup: address review comments --- glossary.md | 39 +++++++++++++++++++-------------------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/glossary.md b/glossary.md index a28bab5565a128..837902c653a971 100644 --- a/glossary.md +++ b/glossary.md @@ -2,58 +2,57 @@ You may also need to check https://chromium.googlesource.com/chromiumos/docs/+/m * ABI: [Application Binary Interface](https://en.wikipedia.org/wiki/Application_binary_interface) * ASAP: As Soon As Possible. -* ASYNC: Asynchronous * BE: Big Endian - Byte order style in a multibyte data. (Opposite of LE, Little Endian) -* CI: Continuous Integration. +* CI: [Continuous Integration](https://en.wikipedia.org/wiki/Continuous_integration). * CITGM: Canary In The Gold Mine - a smoke test unit in the repo that contain popular npm modules. * CJS: Common JS. -* CLDR: Common Locale Data Repository. -* CLI: [Command Line Interface](https://en.wikipedia.org/wiki/Command-line_interface) -* CMD: Command. +* CLDR: [Common Locale Data Repository](https://en.wikipedia.org/wiki/Common_Locale_Data_Repository). +* CLI: [Command Line Interface](https://en.wikipedia.org/wiki/Command-line_interface). * CVE: Common Vulnerebilities and Exposures - A database that maintains reported security exposures. * ECMA: European Computer Manufacturers Association - A body that governs JS spec among other things. -* ENV: Environment - General term for execution environment. * EOF: [End Of File](https://en.wikipedia.org/wiki/End-of-file) * EOL: End Of Line (when used within a program), End of Life (when used within project documents). * ESM: ECMA Script Module. * ETW: Event Tracing for Windows. -* FD: File Descriptor. * FFDC: First Failure Data Capture - Common terms for logs, traces and dumps that are produced by default on program error. * FIPS: Federal Information Processing Standards. * FS: File System. * ICU: International Components for Unicode. * IPC: Inter Process Communication. -* JIT: Just In Time - General term for dynamic compiler in - managed runtimes. -* JS/C++ boundary: A layer that bridges between JS APIs and the C++ - helpers that implements / abstracts platform capabilities. +* JIT: [Just In Time](https://en.wikipedia.org/wiki/Just-in-time_compilation) + Is a way of executing computer code that involves compilation during execution + of a program `at run time` rather than before execution. +* JS/C++ boundary: It refers to the boundary between V8's runtime and the + JS code execution which are commonly crossed when invoking JS functions with + C++ linkage (e.g. interceptors). The boundary could very well exist when we + are reaching into the C++ to do something that has nothing to do with the + platform, e.g. URL parsing. * LGTM: Looks good to me - commonly used to approve a code review. * LTS: Long Term Support. -* MDN: Mozila Development Network - A vast and authentic - documentation on JavaScript. -* OOB: Out Of Bounds - Used in the context of TCP data transport. +* MDN: [Mozila Development Network](https://developer.mozilla.org/en-US). +* OOB: Out Of Bounds - Used in the context of array(memory) access. * OOM: Out Of Memory. -* OSX: Mac OS. * PPC: Power PC. * PTAL: Please Take A Look. * RAII: [Resource Aquisition Is Intialization](https://en.wikipedia.org/wiki/Resource_acquisition_is_initialization) -* REPL: Read Evaluate Print Loop. +* REPL: Read Evaluate Print Loop. REPL is available as a standalone program + (invoke node without arguments), used for developing / testing small programs. * RFC: Request For Comments. * RSLGTM: Rubber-Stamp Looks Good To Me. The reviewer approving without doing a full code review. -* RSS: Resident Set Size. +* RSS: [Resident Set Size](https://en.wikipedia.org/wiki/Resident_set_size). * SMP: Symmetric Multi Processor. * TSC: Technical Steering Committee. Detailed info see [TSC](./GOVERNANCE.md#technical-steering-committee). -* V8: JavaScript engine that is embedded in Node.js. -* VM: Virtual Machine, in the context of abstracting instructions, - not to be confused with H/W level or O/S level Virtual machines. +* V8: JavaScript engine that powers Node.js and chrome browser. +* VM: The [VM module](https://nodejs.org/api/vm.html) provides a way of + executing JavaScript on a virtual machine. * WASI: [Web Assemby System Interface]( https://github.com/WebAssembly/WASI) * WASM: Web Assembly. * WG: Working Group - autonomous teams in the project with specific