js/src/jit/LOpcodes.h

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

michael@0 1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
michael@0 2 * vim: set ts=8 sts=4 et sw=4 tw=99:
michael@0 3 * This Source Code Form is subject to the terms of the Mozilla Public
michael@0 4 * License, v. 2.0. If a copy of the MPL was not distributed with this
michael@0 5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
michael@0 6
michael@0 7 #ifndef jit_LOpcodes_h
michael@0 8 #define jit_LOpcodes_h
michael@0 9
michael@0 10 #define LIR_COMMON_OPCODE_LIST(_) \
michael@0 11 _(Label) \
michael@0 12 _(Nop) \
michael@0 13 _(OsiPoint) \
michael@0 14 _(MoveGroup) \
michael@0 15 _(Integer) \
michael@0 16 _(Pointer) \
michael@0 17 _(Double) \
michael@0 18 _(Float32) \
michael@0 19 _(Value) \
michael@0 20 _(CloneLiteral) \
michael@0 21 _(Parameter) \
michael@0 22 _(Callee) \
michael@0 23 _(TableSwitch) \
michael@0 24 _(TableSwitchV) \
michael@0 25 _(Goto) \
michael@0 26 _(NewArray) \
michael@0 27 _(ArraySplice) \
michael@0 28 _(NewObject) \
michael@0 29 _(NewSlots) \
michael@0 30 _(NewDeclEnvObject) \
michael@0 31 _(NewCallObject) \
michael@0 32 _(NewSingletonCallObject) \
michael@0 33 _(NewStringObject) \
michael@0 34 _(NewPar) \
michael@0 35 _(NewDenseArrayPar) \
michael@0 36 _(NewCallObjectPar) \
michael@0 37 _(NewDerivedTypedObject) \
michael@0 38 _(AbortPar) \
michael@0 39 _(InitElem) \
michael@0 40 _(InitElemGetterSetter) \
michael@0 41 _(MutateProto) \
michael@0 42 _(InitProp) \
michael@0 43 _(InitPropGetterSetter) \
michael@0 44 _(CheckOverRecursed) \
michael@0 45 _(CheckOverRecursedPar) \
michael@0 46 _(DefVar) \
michael@0 47 _(DefFun) \
michael@0 48 _(CallKnown) \
michael@0 49 _(CallGeneric) \
michael@0 50 _(CallNative) \
michael@0 51 _(ApplyArgsGeneric) \
michael@0 52 _(Bail) \
michael@0 53 _(GetDynamicName) \
michael@0 54 _(FilterArgumentsOrEvalS) \
michael@0 55 _(FilterArgumentsOrEvalV) \
michael@0 56 _(CallDirectEvalS) \
michael@0 57 _(CallDirectEvalV) \
michael@0 58 _(StackArgT) \
michael@0 59 _(StackArgV) \
michael@0 60 _(CreateThis) \
michael@0 61 _(CreateThisWithProto) \
michael@0 62 _(CreateThisWithTemplate) \
michael@0 63 _(CreateArgumentsObject) \
michael@0 64 _(GetArgumentsObjectArg) \
michael@0 65 _(SetArgumentsObjectArg) \
michael@0 66 _(ReturnFromCtor) \
michael@0 67 _(ComputeThis) \
michael@0 68 _(LoadArrowThis) \
michael@0 69 _(BitNotI) \
michael@0 70 _(BitNotV) \
michael@0 71 _(BitOpI) \
michael@0 72 _(BitOpV) \
michael@0 73 _(ShiftI) \
michael@0 74 _(UrshD) \
michael@0 75 _(Return) \
michael@0 76 _(Throw) \
michael@0 77 _(Phi) \
michael@0 78 _(TestIAndBranch) \
michael@0 79 _(TestDAndBranch) \
michael@0 80 _(TestFAndBranch) \
michael@0 81 _(TestVAndBranch) \
michael@0 82 _(TestOAndBranch) \
michael@0 83 _(FunctionDispatch) \
michael@0 84 _(TypeObjectDispatch) \
michael@0 85 _(Compare) \
michael@0 86 _(CompareAndBranch) \
michael@0 87 _(CompareD) \
michael@0 88 _(CompareDAndBranch) \
michael@0 89 _(CompareF) \
michael@0 90 _(CompareFAndBranch) \
michael@0 91 _(CompareS) \
michael@0 92 _(CompareStrictS) \
michael@0 93 _(CompareB) \
michael@0 94 _(CompareBAndBranch) \
michael@0 95 _(CompareV) \
michael@0 96 _(CompareVAndBranch) \
michael@0 97 _(CompareVM) \
michael@0 98 _(BitAndAndBranch) \
michael@0 99 _(IsNullOrLikeUndefined) \
michael@0 100 _(IsNullOrLikeUndefinedAndBranch)\
michael@0 101 _(EmulatesUndefined) \
michael@0 102 _(EmulatesUndefinedAndBranch) \
michael@0 103 _(MinMaxI) \
michael@0 104 _(MinMaxD) \
michael@0 105 _(NegI) \
michael@0 106 _(NegD) \
michael@0 107 _(NegF) \
michael@0 108 _(AbsI) \
michael@0 109 _(AbsD) \
michael@0 110 _(AbsF) \
michael@0 111 _(SqrtD) \
michael@0 112 _(SqrtF) \
michael@0 113 _(Atan2D) \
michael@0 114 _(Hypot) \
michael@0 115 _(PowI) \
michael@0 116 _(PowD) \
michael@0 117 _(Random) \
michael@0 118 _(MathFunctionD) \
michael@0 119 _(MathFunctionF) \
michael@0 120 _(NotI) \
michael@0 121 _(NotD) \
michael@0 122 _(NotF) \
michael@0 123 _(NotO) \
michael@0 124 _(NotV) \
michael@0 125 _(AddI) \
michael@0 126 _(SubI) \
michael@0 127 _(MulI) \
michael@0 128 _(MathD) \
michael@0 129 _(MathF) \
michael@0 130 _(ModD) \
michael@0 131 _(BinaryV) \
michael@0 132 _(Concat) \
michael@0 133 _(ConcatPar) \
michael@0 134 _(CharCodeAt) \
michael@0 135 _(FromCharCode) \
michael@0 136 _(StringSplit) \
michael@0 137 _(Int32ToDouble) \
michael@0 138 _(Float32ToDouble) \
michael@0 139 _(DoubleToFloat32) \
michael@0 140 _(Int32ToFloat32) \
michael@0 141 _(ValueToDouble) \
michael@0 142 _(ValueToInt32) \
michael@0 143 _(ValueToFloat32) \
michael@0 144 _(DoubleToInt32) \
michael@0 145 _(Float32ToInt32) \
michael@0 146 _(TruncateDToInt32) \
michael@0 147 _(TruncateFToInt32) \
michael@0 148 _(BooleanToString) \
michael@0 149 _(IntToString) \
michael@0 150 _(DoubleToString) \
michael@0 151 _(PrimitiveToString) \
michael@0 152 _(Start) \
michael@0 153 _(OsrEntry) \
michael@0 154 _(OsrValue) \
michael@0 155 _(OsrScopeChain) \
michael@0 156 _(OsrReturnValue) \
michael@0 157 _(OsrArgumentsObject) \
michael@0 158 _(RegExp) \
michael@0 159 _(RegExpExec) \
michael@0 160 _(RegExpTest) \
michael@0 161 _(RegExpReplace) \
michael@0 162 _(StringReplace) \
michael@0 163 _(Lambda) \
michael@0 164 _(LambdaArrow) \
michael@0 165 _(LambdaForSingleton) \
michael@0 166 _(LambdaPar) \
michael@0 167 _(ImplicitThis) \
michael@0 168 _(Slots) \
michael@0 169 _(Elements) \
michael@0 170 _(ConvertElementsToDoubles) \
michael@0 171 _(MaybeToDoubleElement) \
michael@0 172 _(LoadSlotV) \
michael@0 173 _(LoadSlotT) \
michael@0 174 _(StoreSlotV) \
michael@0 175 _(StoreSlotT) \
michael@0 176 _(GuardShape) \
michael@0 177 _(GuardObjectType) \
michael@0 178 _(GuardObjectIdentity) \
michael@0 179 _(GuardClass) \
michael@0 180 _(GuardThreadExclusive) \
michael@0 181 _(TypeBarrierV) \
michael@0 182 _(TypeBarrierO) \
michael@0 183 _(MonitorTypes) \
michael@0 184 _(PostWriteBarrierO) \
michael@0 185 _(PostWriteBarrierV) \
michael@0 186 _(InitializedLength) \
michael@0 187 _(SetInitializedLength) \
michael@0 188 _(NeuterCheck) \
michael@0 189 _(BoundsCheck) \
michael@0 190 _(BoundsCheckRange) \
michael@0 191 _(BoundsCheckLower) \
michael@0 192 _(LoadElementV) \
michael@0 193 _(LoadElementT) \
michael@0 194 _(LoadElementHole) \
michael@0 195 _(StoreElementV) \
michael@0 196 _(StoreElementT) \
michael@0 197 _(ArrayPopShiftV) \
michael@0 198 _(ArrayPopShiftT) \
michael@0 199 _(ArrayPushV) \
michael@0 200 _(ArrayPushT) \
michael@0 201 _(ArrayConcat) \
michael@0 202 _(StoreElementHoleV) \
michael@0 203 _(StoreElementHoleT) \
michael@0 204 _(LoadTypedArrayElement) \
michael@0 205 _(LoadTypedArrayElementHole) \
michael@0 206 _(LoadTypedArrayElementStatic) \
michael@0 207 _(StoreTypedArrayElement) \
michael@0 208 _(StoreTypedArrayElementHole) \
michael@0 209 _(StoreTypedArrayElementStatic) \
michael@0 210 _(EffectiveAddress) \
michael@0 211 _(ClampIToUint8) \
michael@0 212 _(ClampDToUint8) \
michael@0 213 _(ClampVToUint8) \
michael@0 214 _(LoadFixedSlotV) \
michael@0 215 _(LoadFixedSlotT) \
michael@0 216 _(StoreFixedSlotV) \
michael@0 217 _(StoreFixedSlotT) \
michael@0 218 _(FunctionEnvironment) \
michael@0 219 _(ForkJoinContext) \
michael@0 220 _(ForkJoinGetSlice) \
michael@0 221 _(GetPropertyCacheV) \
michael@0 222 _(GetPropertyCacheT) \
michael@0 223 _(GetPropertyPolymorphicV) \
michael@0 224 _(GetPropertyPolymorphicT) \
michael@0 225 _(GetElementCacheV) \
michael@0 226 _(GetElementCacheT) \
michael@0 227 _(BindNameCache) \
michael@0 228 _(CallGetProperty) \
michael@0 229 _(GetNameCache) \
michael@0 230 _(CallGetIntrinsicValue) \
michael@0 231 _(CallsiteCloneCache) \
michael@0 232 _(CallGetElement) \
michael@0 233 _(CallSetElement) \
michael@0 234 _(CallInitElementArray) \
michael@0 235 _(CallSetProperty) \
michael@0 236 _(CallDeleteProperty) \
michael@0 237 _(CallDeleteElement) \
michael@0 238 _(SetPropertyCacheV) \
michael@0 239 _(SetPropertyCacheT) \
michael@0 240 _(SetElementCacheV) \
michael@0 241 _(SetElementCacheT) \
michael@0 242 _(SetPropertyPolymorphicV) \
michael@0 243 _(SetPropertyPolymorphicT) \
michael@0 244 _(CallIteratorStart) \
michael@0 245 _(IteratorStart) \
michael@0 246 _(IteratorNext) \
michael@0 247 _(IteratorMore) \
michael@0 248 _(IteratorEnd) \
michael@0 249 _(ArrayLength) \
michael@0 250 _(SetArrayLength) \
michael@0 251 _(TypedArrayLength) \
michael@0 252 _(TypedArrayElements) \
michael@0 253 _(TypedObjectElements) \
michael@0 254 _(SetTypedObjectOffset) \
michael@0 255 _(StringLength) \
michael@0 256 _(ArgumentsLength) \
michael@0 257 _(GetFrameArgument) \
michael@0 258 _(SetFrameArgumentT) \
michael@0 259 _(SetFrameArgumentC) \
michael@0 260 _(SetFrameArgumentV) \
michael@0 261 _(RunOncePrologue) \
michael@0 262 _(Rest) \
michael@0 263 _(RestPar) \
michael@0 264 _(TypeOfV) \
michael@0 265 _(ToIdV) \
michael@0 266 _(Floor) \
michael@0 267 _(FloorF) \
michael@0 268 _(Round) \
michael@0 269 _(RoundF) \
michael@0 270 _(In) \
michael@0 271 _(InArray) \
michael@0 272 _(InstanceOfO) \
michael@0 273 _(InstanceOfV) \
michael@0 274 _(CallInstanceOf) \
michael@0 275 _(InterruptCheck) \
michael@0 276 _(InterruptCheckImplicit) \
michael@0 277 _(ProfilerStackOp) \
michael@0 278 _(GetDOMProperty) \
michael@0 279 _(GetDOMMember) \
michael@0 280 _(SetDOMProperty) \
michael@0 281 _(CallDOMNative) \
michael@0 282 _(IsCallable) \
michael@0 283 _(HaveSameClass) \
michael@0 284 _(HasClass) \
michael@0 285 _(AsmJSLoadHeap) \
michael@0 286 _(AsmJSStoreHeap) \
michael@0 287 _(AsmJSLoadGlobalVar) \
michael@0 288 _(AsmJSStoreGlobalVar) \
michael@0 289 _(AsmJSLoadFFIFunc) \
michael@0 290 _(AsmJSParameter) \
michael@0 291 _(AsmJSReturn) \
michael@0 292 _(AsmJSVoidReturn) \
michael@0 293 _(AsmJSPassStackArg) \
michael@0 294 _(AsmJSCall) \
michael@0 295 _(InterruptCheckPar) \
michael@0 296 _(RecompileCheck) \
michael@0 297 _(AssertRangeI) \
michael@0 298 _(AssertRangeD) \
michael@0 299 _(AssertRangeF) \
michael@0 300 _(AssertRangeV)
michael@0 301
michael@0 302 #if defined(JS_CODEGEN_X86)
michael@0 303 # include "jit/x86/LOpcodes-x86.h"
michael@0 304 #elif defined(JS_CODEGEN_X64)
michael@0 305 # include "jit/x64/LOpcodes-x64.h"
michael@0 306 #elif defined(JS_CODEGEN_ARM)
michael@0 307 # include "jit/arm/LOpcodes-arm.h"
michael@0 308 #elif defined(JS_CODEGEN_MIPS)
michael@0 309 # include "jit/mips/LOpcodes-mips.h"
michael@0 310 #else
michael@0 311 # error "Unknown architecture!"
michael@0 312 #endif
michael@0 313
michael@0 314 #define LIR_OPCODE_LIST(_) \
michael@0 315 LIR_COMMON_OPCODE_LIST(_) \
michael@0 316 LIR_CPU_OPCODE_LIST(_)
michael@0 317
michael@0 318 #endif /* jit_LOpcodes_h */

mercurial