Differential D3143 Diff 14286 ps/trunk/libraries/source/spidermonkey/include-win32-debug/js/TrackedOptimizationInfo.h
Changeset View
Changeset View
Standalone View
Standalone View
ps/trunk/libraries/source/spidermonkey/include-win32-debug/js/TrackedOptimizationInfo.h
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- | /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- | ||||
* vim: set ts=8 sts=4 et sw=4 tw=99: | * vim: set ts=8 sts=2 et sw=2 tw=80: | ||||
* This Source Code Form is subject to the terms of the Mozilla Public | * 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 | * 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/. */ | * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ | ||||
#ifndef js_TrackedOptimizationInfo_h | #ifndef js_TrackedOptimizationInfo_h | ||||
#define js_TrackedOptimizationInfo_h | #define js_TrackedOptimizationInfo_h | ||||
#include "mozilla/Maybe.h" | #include "mozilla/Maybe.h" | ||||
namespace JS { | namespace JS { | ||||
#define TRACKED_STRATEGY_LIST(_) \ | #define TRACKED_STRATEGY_LIST(_) \ | ||||
_(GetProp_ArgumentsLength) \ | _(GetProp_ArgumentsLength) \ | ||||
_(GetProp_ArgumentsCallee) \ | _(GetProp_ArgumentsCallee) \ | ||||
_(GetProp_InferredConstant) \ | _(GetProp_InferredConstant) \ | ||||
_(GetProp_Constant) \ | _(GetProp_Constant) \ | ||||
_(GetProp_NotDefined) \ | _(GetProp_NotDefined) \ | ||||
_(GetProp_StaticName) \ | _(GetProp_StaticName) \ | ||||
_(GetProp_SimdGetter) \ | |||||
_(GetProp_TypedObject) \ | _(GetProp_TypedObject) \ | ||||
_(GetProp_DefiniteSlot) \ | _(GetProp_DefiniteSlot) \ | ||||
_(GetProp_Unboxed) \ | |||||
_(GetProp_CommonGetter) \ | _(GetProp_CommonGetter) \ | ||||
_(GetProp_InlineAccess) \ | _(GetProp_InlineAccess) \ | ||||
_(GetProp_InlineProtoAccess) \ | _(GetProp_InlineProtoAccess) \ | ||||
_(GetProp_Innerize) \ | _(GetProp_Innerize) \ | ||||
_(GetProp_InlineCache) \ | _(GetProp_InlineCache) \ | ||||
_(GetProp_ModuleNamespace) \ | _(GetProp_ModuleNamespace) \ | ||||
\ | \ | ||||
_(SetProp_CommonSetter) \ | _(SetProp_CommonSetter) \ | ||||
_(SetProp_TypedObject) \ | _(SetProp_TypedObject) \ | ||||
_(SetProp_DefiniteSlot) \ | _(SetProp_DefiniteSlot) \ | ||||
_(SetProp_Unboxed) \ | |||||
_(SetProp_InlineAccess) \ | _(SetProp_InlineAccess) \ | ||||
_(SetProp_InlineCache) \ | _(SetProp_InlineCache) \ | ||||
\ | \ | ||||
_(GetElem_TypedObject) \ | _(GetElem_TypedObject) \ | ||||
_(GetElem_CallSiteObject) \ | |||||
_(GetElem_Dense) \ | _(GetElem_Dense) \ | ||||
_(GetElem_TypedArray) \ | _(GetElem_TypedArray) \ | ||||
_(GetElem_String) \ | _(GetElem_String) \ | ||||
_(GetElem_Arguments) \ | _(GetElem_Arguments) \ | ||||
_(GetElem_ArgumentsInlinedConstant) \ | _(GetElem_ArgumentsInlinedConstant) \ | ||||
_(GetElem_ArgumentsInlinedSwitch) \ | _(GetElem_ArgumentsInlinedSwitch) \ | ||||
_(GetElem_InlineCache) \ | _(GetElem_InlineCache) \ | ||||
\ | \ | ||||
_(SetElem_TypedObject) \ | _(SetElem_TypedObject) \ | ||||
_(SetElem_TypedArray) \ | _(SetElem_TypedArray) \ | ||||
_(SetElem_Dense) \ | _(SetElem_Dense) \ | ||||
_(SetElem_Arguments) \ | _(SetElem_Arguments) \ | ||||
_(SetElem_InlineCache) \ | _(SetElem_InlineCache) \ | ||||
\ | \ | ||||
_(BinaryArith_Concat) \ | _(BinaryArith_Concat) \ | ||||
_(BinaryArith_SpecializedTypes) \ | _(BinaryArith_SpecializedTypes) \ | ||||
_(BinaryArith_SpecializedOnBaselineTypes) \ | _(BinaryArith_SpecializedOnBaselineTypes) \ | ||||
_(BinaryArith_SharedCache) \ | |||||
_(BinaryArith_Call) \ | _(BinaryArith_Call) \ | ||||
\ | \ | ||||
_(UnaryArith_SpecializedTypes) \ | |||||
_(UnaryArith_SpecializedOnBaselineTypes) \ | |||||
_(UnaryArith_InlineCache) \ | |||||
\ | |||||
_(InlineCache_OptimizedStub) \ | _(InlineCache_OptimizedStub) \ | ||||
\ | \ | ||||
_(NewArray_TemplateObject) \ | _(NewArray_TemplateObject) \ | ||||
_(NewArray_SharedCache) \ | |||||
_(NewArray_Call) \ | _(NewArray_Call) \ | ||||
\ | \ | ||||
_(NewObject_TemplateObject) \ | _(NewObject_TemplateObject) \ | ||||
_(NewObject_SharedCache) \ | |||||
_(NewObject_Call) \ | _(NewObject_Call) \ | ||||
\ | \ | ||||
_(Compare_SpecializedTypes) \ | _(Compare_SpecializedTypes) \ | ||||
_(Compare_Bitwise) \ | _(Compare_Bitwise) \ | ||||
_(Compare_SpecializedOnBaselineTypes) \ | _(Compare_SpecializedOnBaselineTypes) \ | ||||
_(Compare_SharedCache) \ | |||||
_(Compare_Call) \ | _(Compare_Call) \ | ||||
_(Compare_Character) \ | |||||
\ | \ | ||||
_(Call_Inline) | _(Call_Inline) | ||||
// Ordering is important below. All outcomes before GenericSuccess will be | // Ordering is important below. All outcomes before GenericSuccess will be | ||||
// considered failures, and all outcomes after GenericSuccess will be | // considered failures, and all outcomes after GenericSuccess will be | ||||
// considered successes. | // considered successes. | ||||
#define TRACKED_OUTCOME_LIST(_) \ | #define TRACKED_OUTCOME_LIST(_) \ | ||||
_(GenericFailure) \ | _(GenericFailure) \ | ||||
_(Disabled) \ | _(Disabled) \ | ||||
_(NoTypeInfo) \ | _(NoTypeInfo) \ | ||||
_(NoAnalysisInfo) \ | |||||
_(NoShapeInfo) \ | _(NoShapeInfo) \ | ||||
_(UnknownObject) \ | |||||
_(UnknownProperties) \ | _(UnknownProperties) \ | ||||
_(Singleton) \ | _(Singleton) \ | ||||
_(NotSingleton) \ | _(NotSingleton) \ | ||||
_(NotFixedSlot) \ | _(NotFixedSlot) \ | ||||
_(InconsistentFixedSlot) \ | _(InconsistentFixedSlot) \ | ||||
_(NotObject) \ | _(NotObject) \ | ||||
_(NotStruct) \ | _(NotStruct) \ | ||||
_(NotUnboxed) \ | |||||
_(NotUndefined) \ | _(NotUndefined) \ | ||||
_(UnboxedConvertedToNative) \ | |||||
_(StructNoField) \ | _(StructNoField) \ | ||||
_(InconsistentFieldType) \ | |||||
_(InconsistentFieldOffset) \ | |||||
_(NeedsTypeBarrier) \ | _(NeedsTypeBarrier) \ | ||||
_(InDictionaryMode) \ | _(InDictionaryMode) \ | ||||
_(NoProtoFound) \ | |||||
_(MultiProtoPaths) \ | _(MultiProtoPaths) \ | ||||
_(NonWritableProperty) \ | _(NonWritableProperty) \ | ||||
_(ProtoIndexedProps) \ | _(ProtoIndexedProps) \ | ||||
_(ArrayBadFlags) \ | _(ArrayBadFlags) \ | ||||
_(ArrayDoubleConversion) \ | _(ArrayDoubleConversion) \ | ||||
_(ArrayRange) \ | _(ArrayRange) \ | ||||
_(ArraySeenNegativeIndex) \ | _(ArraySeenNegativeIndex) \ | ||||
_(ArraySeenNonIntegerIndex) \ | |||||
_(TypedObjectHasDetachedBuffer) \ | _(TypedObjectHasDetachedBuffer) \ | ||||
_(TypedObjectArrayRange) \ | _(TypedObjectArrayRange) \ | ||||
_(AccessNotDense) \ | _(AccessNotDense) \ | ||||
_(AccessNotSimdObject) \ | |||||
_(AccessNotTypedObject) \ | _(AccessNotTypedObject) \ | ||||
_(AccessNotTypedArray) \ | _(AccessNotTypedArray) \ | ||||
_(AccessNotString) \ | _(AccessNotString) \ | ||||
_(OperandNotString) \ | _(OperandNotString) \ | ||||
_(OperandNotNumber) \ | _(OperandNotNumber) \ | ||||
_(OperandNotStringOrNumber) \ | |||||
_(OperandNotSimpleArith) \ | _(OperandNotSimpleArith) \ | ||||
_(OperandNotEasilyCoercibleToString) \ | _(OperandNotEasilyCoercibleToString) \ | ||||
_(OutOfBounds) \ | _(OutOfBounds) \ | ||||
_(GetElemStringNotCached) \ | |||||
_(NonNativeReceiver) \ | |||||
_(IndexType) \ | _(IndexType) \ | ||||
_(SetElemNonDenseNonTANotCached) \ | |||||
_(NoSimdJitSupport) \ | |||||
_(SimdTypeNotOptimized) \ | |||||
_(UnknownSimdProperty) \ | |||||
_(NotModuleNamespace) \ | _(NotModuleNamespace) \ | ||||
_(UnknownProperty) \ | _(UnknownProperty) \ | ||||
_(NoTemplateObject) \ | _(NoTemplateObject) \ | ||||
_(TemplateObjectIsUnboxedWithoutInlineElements) \ | |||||
_(TemplateObjectIsPlainObjectWithDynamicSlots) \ | |||||
_(LengthTooBig) \ | _(LengthTooBig) \ | ||||
_(SpeculationOnInputTypesFailed) \ | _(SpeculationOnInputTypesFailed) \ | ||||
_(RelationalCompare) \ | _(RelationalCompare) \ | ||||
_(OperandTypeNotBitwiseComparable) \ | _(OperandTypeNotBitwiseComparable) \ | ||||
_(OperandMaybeEmulatesUndefined) \ | _(OperandMaybeEmulatesUndefined) \ | ||||
_(LoosyUndefinedNullCompare) \ | _(LoosyUndefinedNullCompare) \ | ||||
_(LoosyInt32BooleanCompare) \ | _(LoosyInt32BooleanCompare) \ | ||||
_(CallsValueOf) \ | _(CallsValueOf) \ | ||||
_(StrictCompare) \ | _(StrictCompare) \ | ||||
_(InitHole) \ | _(InitHole) \ | ||||
\ | \ | ||||
_(ICOptStub_GenericSuccess) \ | |||||
\ | |||||
_(ICGetPropStub_ReadSlot) \ | |||||
_(ICGetPropStub_CallGetter) \ | |||||
_(ICGetPropStub_ArrayLength) \ | |||||
_(ICGetPropStub_UnboxedRead) \ | |||||
_(ICGetPropStub_UnboxedReadExpando) \ | |||||
_(ICGetPropStub_UnboxedArrayLength) \ | |||||
_(ICGetPropStub_TypedArrayLength) \ | |||||
_(ICGetPropStub_DOMProxyShadowed) \ | |||||
_(ICGetPropStub_DOMProxyUnshadowed) \ | |||||
_(ICGetPropStub_GenericProxy) \ | |||||
_(ICGetPropStub_ArgumentsLength) \ | |||||
\ | |||||
_(ICSetPropStub_Slot) \ | |||||
_(ICSetPropStub_GenericProxy) \ | |||||
_(ICSetPropStub_DOMProxyShadowed) \ | |||||
_(ICSetPropStub_DOMProxyUnshadowed) \ | |||||
_(ICSetPropStub_CallSetter) \ | |||||
_(ICSetPropStub_AddSlot) \ | |||||
_(ICSetPropStub_SetUnboxed) \ | |||||
\ | |||||
_(ICGetElemStub_ReadSlot) \ | |||||
_(ICGetElemStub_CallGetter) \ | |||||
_(ICGetElemStub_ReadUnboxed) \ | |||||
_(ICGetElemStub_Dense) \ | |||||
_(ICGetElemStub_DenseHole) \ | |||||
_(ICGetElemStub_TypedArray) \ | |||||
_(ICGetElemStub_ArgsElementMapped) \ | |||||
_(ICGetElemStub_ArgsElementUnmapped) \ | |||||
\ | |||||
_(ICSetElemStub_Dense) \ | |||||
_(ICSetElemStub_TypedArray) \ | |||||
\ | |||||
_(ICNameStub_ReadSlot) \ | |||||
_(ICNameStub_CallGetter) \ | |||||
_(ICNameStub_TypeOfNoProperty) \ | |||||
\ | |||||
_(CantInlineGeneric) \ | _(CantInlineGeneric) \ | ||||
_(CantInlineNoTarget) \ | _(CantInlineNoTarget) \ | ||||
_(CantInlineNotInterpreted) \ | _(CantInlineNotInterpreted) \ | ||||
_(CantInlineNoBaseline) \ | _(CantInlineNoBaseline) \ | ||||
_(CantInlineLazy) \ | _(CantInlineLazy) \ | ||||
_(CantInlineNotConstructor) \ | _(CantInlineNotConstructor) \ | ||||
_(CantInlineClassConstructor) \ | _(CantInlineClassConstructor) \ | ||||
_(CantInlineDisabledIon) \ | _(CantInlineDisabledIon) \ | ||||
_(CantInlineTooManyArgs) \ | _(CantInlineTooManyArgs) \ | ||||
_(CantInlineNeedsArgsObj) \ | _(CantInlineNeedsArgsObj) \ | ||||
_(CantInlineDebuggee) \ | _(CantInlineDebuggee) \ | ||||
_(CantInlineExceededDepth) \ | _(CantInlineExceededDepth) \ | ||||
_(CantInlineExceededTotalBytecodeLength) \ | _(CantInlineExceededTotalBytecodeLength) \ | ||||
_(CantInlineBigCaller) \ | _(CantInlineBigCaller) \ | ||||
_(CantInlineBigCallee) \ | _(CantInlineBigCallee) \ | ||||
_(CantInlineBigCalleeInlinedBytecodeLength) \ | _(CantInlineBigCalleeInlinedBytecodeLength) \ | ||||
_(CantInlineCrossRealm) \ | |||||
_(CantInlineNotHot) \ | _(CantInlineNotHot) \ | ||||
_(CantInlineNotInDispatch) \ | _(CantInlineNotInDispatch) \ | ||||
_(CantInlineUnreachable) \ | _(CantInlineUnreachable) \ | ||||
_(CantInlineNativeBadForm) \ | _(CantInlineNativeBadForm) \ | ||||
_(CantInlineNativeBadType) \ | _(CantInlineNativeBadType) \ | ||||
_(CantInlineNativeNoTemplateObj) \ | _(CantInlineNativeNoTemplateObj) \ | ||||
_(CantInlineBound) \ | _(CantInlineBound) \ | ||||
_(CantInlineNativeNoSpecialization) \ | _(CantInlineNativeNoSpecialization) \ | ||||
_(CantInlineUnexpectedNewTarget) \ | |||||
_(HasCommonInliningPath) \ | _(HasCommonInliningPath) \ | ||||
\ | \ | ||||
_(GenericSuccess) \ | _(GenericSuccess) \ | ||||
_(Inlined) \ | _(Inlined) \ | ||||
_(DOM) \ | _(DOM) \ | ||||
_(Monomorphic) \ | _(Monomorphic) \ | ||||
_(Polymorphic) | _(Polymorphic) | ||||
#define TRACKED_TYPESITE_LIST(_) \ | #define TRACKED_TYPESITE_LIST(_) \ | ||||
_(Receiver) \ | _(Receiver) \ | ||||
_(Operand) \ | _(Operand) \ | ||||
_(Index) \ | _(Index) \ | ||||
_(Value) \ | _(Value) \ | ||||
_(Call_Target) \ | _(Call_Target) \ | ||||
▲ Show 20 Lines • Show All 82 Lines • Show Last 20 Lines |
Wildfire Games · Phabricator