Name Description Size
AsmJS.cpp / // A wasm module can either use no memory, a unshared memory (ArrayBuffer) or // shared memory (SharedArrayBuffer). enum class MemoryUsage { None = false, Unshared = 1, Shared = 2 }; // The asm.js valid heap lengths are precisely the WASM valid heap lengths for // ARM greater or equal to MinHeapLength static const size_t MinHeapLength = PageSize; // An asm.js heap can in principle be up to INT32_MAX bytes but requirements // on the format restrict it further to the largest pseudo-ARM-immediate. // See IsValidAsmJSHeapLength(). static const uint64_t MaxHeapLength = 0x7f000000; static uint64_t RoundUpToNextValidAsmJSHeapLength(uint64_t length) { if (length <= MinHeapLength) { return MinHeapLength; } return wasm::RoundUpToNextValidARMImmediate(length); } static uint64_t DivideRoundingUp(uint64_t a, uint64_t b) { return (a + (b - 1)) / b; } /**************************************************************************** 212294
AsmJS.h 3566
cranelift 6
GenerateIntrinsics.py \ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #ifndef %(includeguard)s #define %(includeguard)s /* This file is generated by wasm/GenerateInstrinsic.py. Do not edit! */ %(contents)s #endif // %(includeguard)s 2725
moz.build 1894
TypedObject-inl.h static 794
TypedObject.cpp static 24112
TypedObject.h Base type for typed objects. 9558
WasmBaselineCompile.cpp [SMDOC] WebAssembly baseline compiler (RabaldrMonkey) For now, see WasmBCClass.h for general comments about the compiler's structure. ---------------- General assumptions for 32-bit vs 64-bit code: - A 32-bit register can be extended in-place to a 64-bit register on 64-bit systems. - Code that knows that Register64 has a '.reg' member on 64-bit systems and '.high' and '.low' members on 32-bit systems, or knows the implications thereof, is #ifdef JS_PUNBOX64. All other code is #if(n)?def JS_64BIT. Coding standards are a little fluid: - In "small" code generating functions (eg emitMultiplyF64, emitQuotientI32, and surrounding functions; most functions fall into this class) where the meaning is obvious: Old school: - if there is a single source + destination register, it is called 'r' - if there is one source and a different destination, they are called 'rs' and 'rd' - if there is one source + destination register and another source register they are called 'r' and 'rs' - if there are two source registers and a destination register they are called 'rs0', 'rs1', and 'rd'. The new thing: - what is called 'r' in the old-school naming scheme is increasingly called 'rsd' in source+dest cases. - Generic temp registers are named /temp[0-9]?/ not /tmp[0-9]?/. - Registers can be named non-generically for their function ('rp' for the 'pointer' register and 'rv' for the 'value' register are typical) and those names may or may not have an 'r' prefix. - "Larger" code generating functions make their own rules. 314580
WasmBaselineCompile.h 3158
WasmBCClass-inl.h 1776
WasmBCClass.h 59103
WasmBCCodegen-inl.h 14964
WasmBCDefs.h 6057
WasmBCFrame.cpp 18530
WasmBCFrame.h 46123
WasmBCMemory.cpp 65875
WasmBCRegDefs-inl.h 3974
WasmBCRegDefs.h 23074
WasmBCRegMgmt-inl.h 12050
WasmBCStk.h 6755
WasmBCStkMgmt-inl.h 30869
WasmBinary.cpp 8977
WasmBinary.h 31275
WasmBuiltins.cpp 63623
WasmBuiltins.h 9619
WasmCode.cpp static 49840
WasmCode.h 28422
WasmCodegenConstants.h 2052
WasmCodegenTypes.cpp 7489
WasmCodegenTypes.h 19763
WasmCompile.cpp 30378
WasmCompile.h 4033
WasmCompileArgs.h 6773
WasmConstants.h 28041
WasmContext.h 1244
WasmCraneliftCompile.cpp 25950
WasmCraneliftCompile.h 1881
WasmDebug.cpp 15863
WasmDebug.h 5841
WasmDebugFrame.cpp static 5559
WasmDebugFrame.h 7519
WasmException.h 1832
WasmExprType.h 9562
WasmFrame.h 5379
WasmFrameIter.cpp 59328
WasmFrameIter.h 8902
WasmGC.cpp 10698
WasmGC.h 15268
WasmGenerator.cpp limitedSize= 40724
WasmGenerator.h 9413
WasmInitExpr.cpp eager 16148
WasmInitExpr.h 3114
WasmInstance.cpp 78946
WasmInstance.h 11902
WasmIntrinsic.cpp static 7594
WasmIntrinsic.h 2154
WasmIntrinsic.yaml 524
WasmIonCompile.cpp 186992
WasmIonCompile.h 1524
WasmJS.cpp 176743
WasmJS.h 23031
WasmLog.cpp 2017
WasmLog.h 1361
WasmMemory.cpp 17044
WasmMemory.h 7244
WasmModule.cpp 44250
WasmModule.h 10341
WasmModuleTypes.cpp 9537
WasmModuleTypes.h 17612
WasmOpIter.cpp 24558
WasmOpIter.h 102201
WasmProcess.cpp 12634
WasmProcess.h 2105
WasmRealm.cpp 4584
WasmRealm.h 2716
WasmSerialize.h 8640
WasmShareable.h 2509
WasmSignalHandlers.cpp 34432
WasmSignalHandlers.h 2844
WasmStubs.cpp 113247
WasmStubs.h 11180
WasmTable.cpp static 11772
WasmTable.h 4476
WasmTlsData.cpp 1613
WasmTlsData.h 6404
WasmTypeDecls.h 3402
WasmTypeDef.cpp 21163
WasmTypeDef.h 27443
WasmUtility.h 725
WasmValidate.cpp 100871
WasmValidate.h 9365
WasmValType.cpp 4849
WasmValType.h 20063
WasmValue.cpp 19572
WasmValue.h 19492