Skip to main content

91 docs tagged with "JS Engine"

View All Tags

AOT Compilation

AOT Compilation is defined as: to translate Source Code into an intermediate code IR. Topics on: IR. Read more: JS, JS Concepts, JS Engine, Compiler, AOT Compil

Args Object

Args Object is defined as: Object to contain all Argument pass into function (for current EC). Topics on: . Read more: JS, JS Concepts, JS Engine, Call Stack, E

ASI

ASI is defined as: (process) to auto insert missing semicolons in Parsing - ☠2;!. Topics on: . Read more: JS, JS Concepts, JS Engine, Interpretation, JS Interpr

AST

AST is defined as: tree data struct to rep Source Code by organize JS Keywords for JS Engine. Topics on: JS Engine uses AST to check SyntaxError & generate Mach

Baseline Compiler

Baseline Compiler is defined as: JS Compiler to transform Source Code into unoptimized executable Bytecode/Machine Code ASAP. Topics on: V8 uses Baseline Compil

baseline compiler creates stubs

baseline compiler creates stubs. Topics on: Stub. Read more: JS, JS Concepts, JS Engine, JS Compiler, Baseline Compiler|FullStack Wiki by Roger J

Block Scope

Block Scope is defined as: Variable Lookup restrict to inside of Block. Topics on: block scope !only applies to let & const variables, block scope does not appl

Browser Runtime

Browser Runtime is defined as: JavaScript Runtime with JS Engine, Web API, Callback Queue & Event Loop. Topics on: Callback Queue. Read more: JS, JS Concepts, J

Browser Vendor Engines

Browser Vendor Engines. Topics on: Browser vendors implement own JS Engine, The V8 Engine powers Google Chrome & Node.js, Spidermonkey, Webkit. Read more: JS, J

Call Stack

Call Stack is defined as: where code executed via EC, to track execution order. Topics on: EC, Call Stack stores Primitives but not Objects, JavaScript code run

camelCase

camelCase is defined as: (convention) to name Identifier by concatenate first world lowercase & subsequent words capitalized. Topics on: lodash provides utility

Closure

Closure is defined as: [[ ]] of function to preserve access to VE of EC at its creation. Topics on: Closure are an intangible property, the scope chain is prese

Compilation

Compilation is defined as: (process) to converts AST into Machine Code. Topics on: Compile Time. Read more: JS, JS Concepts, JS Engine, JIT, JIT Compilation Flo

Compilation vs Interpretation

Compilation vs Interpretation. Topics on: CPU only understand Executable, therefore all code must eventually convert into Machine Code, Source Code can be conve

Compile Time

Compile Time is defined as: Program lifecycle phase to Compiler Source Code. Topics on: . Read more: JS, JS Concepts, JS Engine, Call Stack, EC, Compile Time, P

Compiler

Compiler is defined as: Program to translate Source Code to Machine Code (or IR). Topics on: Compilers may use AOT or JIT, AOT Compilation. Read more: JS, JS Co

Concurrency Model

Concurrency Model is defined as: (mechanism) to achieve Concurrency for JS Engine via Event Loop, Callback Queue & Callback Function. Topics on: JS needs Concur

Deoptimization

Deoptimization is defined as: (process) to discard wrong assumptions for code optimization. Topics on: . Read more: JS, JS Concepts, JS Engine, JS Compiler, Opt

EC

EC is defined as: Environ to run JS, to contain VEST, to fill task pipline in Call Stack. Topics on: VEST, VE, Scope Chain, this keyword, Necessary info include

Execution

Execution is defined as: (process) to run Machine Code immediately in Call Stack. Topics on: . Read more: JS, JS Concepts, JS Engine, JIT, JIT Compilation Flow,

Execution Thread

Execution Thread is defined as: Part of EC currently run in CPU Thread. Topics on: . Read more: JS, JS Concepts, JS Engine, Call Stack, EC, Execution Thread, CP

FAV

FAV is defined as: Function Declarations, Args Object & Variables. Topics on: Args Object. Read more: JS, JS Concepts, JS Engine, Call Stack, EC, VE, FAV | Wiki

Flow for storing Object in Heap

Flow for storing Object in Heap. Topics on: Create Unique Identifier for ref value, Assign to Memory Address, Assign Value Reference to Heap Address, Object sto

Function EC

Function EC is defined as: EC for Function Scope code. Topics on: . Read more: JS, JS Concepts, JS Engine, Call Stack, EC, Function EC, Function Scope| Dev Wiki

Function Scope

Function Scope is defined as: Variable access restrict to only inside function body.. Topics on: . Read more: JS, JS Concepts, JS Engine, Call Stack, EC, Scope

Garbage-Collection

Garbage-Collection is defined as: 🧹Algorithm (in JS Engine) to remove old unused Object from Heap Memory. Topics on: Memory Leak, Garbage-Collection is impleme

Global EC

Global EC is defined as: EC created for Global Scope or Top-Level Code. Topics on: Top-Level Code. Read more: JS, JS Concepts, JS Engine, Call Stack, EC, Global

Global Function

Global Function is defined as: function declare in Global Scope. Topics on: . Read more: JS, JS Concepts, JS Engine, Call Stack, EC, Scope Chain, Scope, Global

Global Object

Global Object is defined as: Object to access via Global Scope. Topics on: . Read more: JS, JS Concepts, JS Engine, Call Stack, EC, Scope Chain, Scope, Global S

Global Scope

Global Scope is defined as: Outside any Block. Variable access everywhere. Topics on: Global Variable, Global Object, Global Function. Read more: JS, JS Concept

Global Variable

Global Variable is defined as: Variable Declaration in Global Scope or Top-Level Code. Topics on: . Read more: JS, JS Concepts, JS Engine, Call Stack, EC, Scope

Heap

Heap is defined as: unstructured memory pool to store all Object for app. Topics on: the Heap stores all reference types (objects), Heap is main shared memory o

Heap Space

Heap Space is defined as: V8 organize Heap into Memory Page regions to work with Garbage-Collection. Topics on: Memory Page, New-space, Old-pointer-space, Old-d

Hoisting

Hoisting is defined as: (mechanism) to access Variable before Declaration. Topics on: before execution, code is scanned for variable declarations, each Variable

Hoisting differs per variable type

Hoisting differs per variable type. Topics on: when hoisting fn declarations, function declarations can be called before declared in code due to hoisting storin

hot

hot is defined as: Stub run a lot, repeatedly. Topics on: . Read more: JS, JS Concepts, JS Engine, JS Compiler, Optimization Compiler, Monitor, Hot, Stub | Wiki

Identifier

Identifier is defined as: name/reference for Variable as pointer to bind a Value to a memory address. Topics on: camelCase, PascalCase, kebab-case, snake_case.

Interpretation

Interpretation is defined as: Programming Language with Interpreter to parse & execute Source Code line by line. Topics on: Interpreter, JS Interpreter, Interpr

Interpreter

Interpreter. Topics on: . Read more: JS, JS Concepts, JS Engine, Interpretation, Interpreter|FullStack Wiki by Roger J

IR

IR is defined as: Intermediate Representation. Topics on: . Read more: JS, JS Concepts, JS Engine, Compiler, AOT Compilation, IR|FullStack Wiki by Roger J

JavaScript Runtime

JavaScript Runtime is defined as: Environ (container) to run JS, consists of JS Engine, JS Library & Platform-specific API. Topics on: JS Library, Platform API,

JIT

JIT is defined as: Mix of Interpretation & Compiled Language, used by modern JS Engine, all code compiled & executed immediately. Topics on: JIT Compilation flo

JIT Compilation flow

JIT Compilation flow. Topics on: Parsing, Compilation, Execution, Optimisation. Read more: JS, JS Concepts, JS Engine, JIT, JIT Compilation Flow| FullStack Wiki

JS Compiler

JS Compiler is defined as: Program to transform JS Source Code, consists of Baseline Compiler, Optimization Compiler & Monitor. Topics on: Baseline Compiler, Op

JS Engine

JS Engine is defined as: Program to execute JS Source Code, consists of Call Stack, Heap, Callback Queue & Event Loop. Topics on: Browser Vendor Engines, Call S

JS Interpreter

JS Interpreter is defined as: JS Engine Component to check AST for SyntaxError, handles ASI. Topics on: ASI. Read more: JS, JS Concepts, JS Engine, Interpretati

kebab-case

kebab-case is defined as: (convention) to name Identifier by concatenate words via - delimiter. Topics on: !legal in some Programming Language due to how hypen

Large-object-space

Large-object-space is defined as: Heap Space to contain large objects above size limits of other Heap Space. Each object assign mmap'd region of memory. Large o

Lexical

Lexical is defined as: of relating to words (Expressions or Variables). Topics on: . Read more: JS, JS Concepts, JS Engine, Call Stack, EC, Scope Chain, Scoping

Lexical Environment

Lexical Environment is defined as: current Scope environ where JS Engine read Source Code. Topics on: each EC tells JS Engine which Lexical Environment currentl

Lexical Scope

Lexical Scope is defined as: Placement environ where Source Code is defined to determine Variable Scoping. Topics on: Lexical. Read more: JS, JS Concepts, JS En

lexical this keyword

lexical this keyword is defined as: this 👉 outer Lexical Scope (of surrounding function). Topics on: . Read more: JS, JS Concepts, JS Engine, Call Stack, EC, T

Main Thread

Main Thread is defined as: Execution Thread for main App process inside CPU. Topics on: . Read more: JS, JS Concepts, JS Engine, Call Stack, EC, Main Thread, Ex

Memory Address

Memory Address is defined as: place in Memory where Value stored. Topics on: Object are assigned and copied by Reference. Read more: JS, JS Concepts, JS Engine,

Memory Page

Memory Page is defined as: Virtual Memory Block, fixed-length contigious, ref by Page Table. Topics on: . Read more: JS, JS Concepts, JS Engine, Heap, Heap Spac

Monitor

Monitor is defined as: JS Optimization Compiler component to analyse warm/hot Source Code & Type. Topics on: hot, warm. Read more: JS, JS Concepts, JS Engine, J

New-space

New-space is defined as: Small Heap Space to contain most objects, independent of other Heap Space, for fast Garbage-Collection. Topics on: . Read more: JS, JS

Node.js Runtime

Node.js Runtime is defined as: JavaScript Runtime to execute JS outside Browser via JS Engine with C++ Bindings & Thread Pool. Topics on: C++ Bindings, Thread P

Object stored at Heap Address

Object stored at Heap Address. Topics on: Objects are stored in Heap because they may be too large to be stored in the Call Stack. Read more: JS, JS Concepts, J

Optimisation

Optimisation is defined as: (process) Optimization Compiler recompiles Source Code in background during Execution. Topics on: can iterate multiple times, replac

Optimization Compiler

Optimization Compiler is defined as: JS Compiler to recompile more optimized Machine Code via simplify assumption made by Monitor. Topics on: Monitor, Optimizat

Parsing

Parsing is defined as: (process) to read Source Code & generate AST.. Topics on: AST. Read more: JS, JS Concepts, JS Engine, JIT, JIT Compilation Flow, Parsing,

PascalCase

PascalCase is defined as: (convention) to name Identifier by concatenate words capitalized. Topics on: . Read more: JS, JS Concepts, JS Engine, Value, Identifie

Primitive Value

Primitive Value is defined as: undefined, null, number, bigint, boolean, string, symbol. Topics on: UNNBBSS, Stored in EC in Call Stack, Primitive Reassignment.

Reference Reassignment

Reference Reassignment is defined as: New Identifier created 👉 same value to ref Heap Memory Address (where actual Object store in Heap). Topics on: Referentia

Reference Value

Reference Value is defined as: anything !primitive where Value is pass by reference. Topics on: vs primitive types which are stored in EC in Call Stack, Flow fo

Referential Equality

Referential Equality is defined as: Objects equivalent based on Memory Address location NOT Value. Topics on: React uses Object.is() method to Diffing equality

Runtime

Runtime is defined as: final lifecyle stage when Program is run inside EC. Topics on: . Read more: JS, JS Concepts, JS Engine, Call Stack, EC, Runtime, Program

Safari

Safari is defined as: default Apple OS Browser, Webkit JS Engine. Topics on: . Read more: Computer Science, Computer Lang, Computer, Software, Domain, Web Dev,

Scope

Scope is defined as: Place where Variable is declared. Topics on: Variable declare inside function store in VE of function's EC, Global Scope, Block Scope, Fu

Scope Chain

Scope Chain is defined as: Link to Variable from outer Scopes to current Scope. Topics on: Scoping, Scope. Read more: JS, JS Concepts, JS Engine, Call Stack, EC

Scope of a variable

Scope of a variable is defined as: Region of code where Variable can be accessed. Topics on: All scopes have access to variables from all outer scopes which it

Scoping

Scoping is defined as: How Variable are organised & accessed. Topics on: scoping determines where variables live and whether we can access them or not, Lexical

snake_case

snake_case is defined as: (convention) to name Identifier by concatenate words via _ delimiter. Topics on: SCREAMING_SNAKE_CASE. Read more: JS, JS Concepts, JS

Spidermonkey

Spidermonkey is defined as: JS Engine to power Firefox, built in C++. Topics on: . Read more: Computer Science, Computer Lang, Computer, Software, Domain, Web D

Stack OverFlow

Stack OverFlow. Topics on: . Read more: JS, JS Concepts, JS Engine, Call Stack, Stack Over Flow|FullStack Wiki by Roger J

Stored in EC in Call Stack

Stored in EC in Call Stack. Topics on: Unique Identifier created to reference Primitive Variable, Allocate Memory Address, Value save at Memory Address. Read mo

Stub

Stub is defined as: line of code (for function), indexed by line number & Variable Type. Topics on: . Read more: JS, JS Concepts, JS Engine, JS Compiler, Baseli

TDZ

TDZ is defined as: Region of Source Code outside Scope of a variable, variable uninitialized from Scope start to Declaration. Topics on: . Read more: JS, JS Con

this Arrow

this Arrow is defined as: lexical this keyword 👉 <surrounding function>. Topics on: lexical this keyword. Read more: JS, JS Concepts, JS Engine, Call Stack, EC

this keyword

this keyword is defined as: Special variable which 👉to 'owner' of calling function. Topics on: implicit parameter of functions, this is dynamic and depends on

Top-Level Code

Top-Level Code is defined as: Source Code in Global Scope, outside Block. Topics on: . Read more: JS, JS Concepts, JS Engine, Call Stack, EC, Global EC, Top Lev

UNNBBSS

UNNBBSS is defined as: undefined, null, number, bigint, boolean, string, symbol. Topics on: . Read more: JS, JS Concepts, JS Engine, Value, Primitive Value, UNN

v8

v8 is defined as: Node API for V8 JS Engine. Topics on: getHeapStatistics(). Read more: JS, Nodejs, Node Stack, Node API, V 8, JS Engine|FullStack Wiki by Roger

V8

V8 is defined as: JS Engine of Google Chrome & Node.js. Topics on: also engine for Web Assembly?, written in C++, open-source, maintain by Google. Read more: Co

Value

Value is defined as: immutable data saved at Memory Address. Topics on: Reference Value, Primitive Value, Value is ref by Identifier, Identifier, Memory Address

Variable Lookup

Variable Lookup is defined as: (process) to look upwards for Variable in Scope Chain, when not in Lexical Environment. Topics on: Scope access is unidirectional

VE

VE is defined as: container for FAV. Topics on: FAV, Memory Address location where Variable lives, Each EC has its own VE, Functions can access variables outsid

VEST

VEST is defined as: Variable Environment, Scope Chain & this keyword. Topics on: . Read more: JS, JS Concepts, JS Engine, Call Stack, EC, VEST | Full-Stack Wiki

warm

warm is defined as: Stub run a few times. Topics on: . Read more: JS, JS Concepts, JS Engine, JS Compiler, Optimization Compiler, Monitor, Warm, Stub | Dev Wiki

Webkit

Webkit is defined as: JS engine for Apple Safari. Topics on: . Read more: JS, JS Concepts, JS Engine, Browser Vendor Engines, Webkit|FullStack Wiki by Roger J