summaryrefslogtreecommitdiff
path: root/chromium/v8/src/runtime/runtime.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/v8/src/runtime/runtime.h')
-rw-r--r--chromium/v8/src/runtime/runtime.h172
1 files changed, 89 insertions, 83 deletions
diff --git a/chromium/v8/src/runtime/runtime.h b/chromium/v8/src/runtime/runtime.h
index eea742f2c99..045ffb36418 100644
--- a/chromium/v8/src/runtime/runtime.h
+++ b/chromium/v8/src/runtime/runtime.h
@@ -46,7 +46,7 @@ namespace internal {
F(ArrayIsArray, 1, 1) \
F(ArraySpeciesConstructor, 1, 1) \
F(GrowArrayElements, 2, 1) \
- I(IsArray, 1, 1) \
+ F(IsArray, 1, 1) \
F(NewArray, -1 /* >= 3 */, 1) \
F(NormalizeElements, 1, 1) \
F(TransitionElementsKind, 2, 1) \
@@ -171,7 +171,7 @@ namespace internal {
FOR_EACH_INTRINSIC_TRACE_FEEDBACK(F, I)
#define FOR_EACH_INTRINSIC_FUNCTION(F, I) \
- I(Call, -1 /* >= 2 */, 1) \
+ F(Call, -1 /* >= 2 */, 1) \
F(FunctionGetScriptSource, 1, 1) \
F(FunctionGetScriptId, 1, 1) \
F(FunctionGetScriptSourcePosition, 1, 1) \
@@ -206,58 +206,59 @@ namespace internal {
#define FOR_EACH_INTRINSIC_INTL(F, I)
#endif // V8_INTL_SUPPORT
-#define FOR_EACH_INTRINSIC_INTERNAL(F, I) \
- F(AccessCheck, 1, 1) \
- F(AllocateByteArray, 1, 1) \
- F(AllocateInYoungGeneration, 2, 1) \
- F(AllocateInOldGeneration, 2, 1) \
- F(AllocateSeqOneByteString, 1, 1) \
- F(AllocateSeqTwoByteString, 1, 1) \
- F(AllowDynamicFunction, 1, 1) \
- I(CreateAsyncFromSyncIterator, 1, 1) \
- F(CreateListFromArrayLike, 1, 1) \
- F(DoubleToStringWithRadix, 2, 1) \
- F(FatalProcessOutOfMemoryInAllocateRaw, 0, 1) \
- F(FatalProcessOutOfMemoryInvalidArrayLength, 0, 1) \
- F(GetAndResetRuntimeCallStats, -1 /* <= 2 */, 1) \
- F(GetTemplateObject, 3, 1) \
- F(IncrementUseCounter, 1, 1) \
- F(BytecodeBudgetInterruptFromBytecode, 1, 1) \
- F(BytecodeBudgetInterruptFromCode, 1, 1) \
- F(NewError, 2, 1) \
- F(NewReferenceError, 2, 1) \
- F(NewSyntaxError, 2, 1) \
- F(NewTypeError, -1 /* [1, 4] */, 1) \
- F(OrdinaryHasInstance, 2, 1) \
- F(PromoteScheduledException, 0, 1) \
- F(ReportMessageFromMicrotask, 1, 1) \
- F(ReThrow, 1, 1) \
- F(RunMicrotaskCallback, 2, 1) \
- F(PerformMicrotaskCheckpoint, 0, 1) \
- F(StackGuard, 0, 1) \
- F(StackGuardWithGap, 1, 1) \
- F(Throw, 1, 1) \
- F(ThrowApplyNonFunction, 1, 1) \
- F(ThrowCalledNonCallable, 1, 1) \
- F(ThrowConstructedNonConstructable, 1, 1) \
- F(ThrowConstructorReturnedNonObject, 0, 1) \
- F(ThrowInvalidStringLength, 0, 1) \
- F(ThrowInvalidTypedArrayAlignment, 2, 1) \
- F(ThrowIteratorError, 1, 1) \
- F(ThrowSpreadArgError, 2, 1) \
- F(ThrowIteratorResultNotAnObject, 1, 1) \
- F(ThrowNotConstructor, 1, 1) \
- F(ThrowPatternAssignmentNonCoercible, 1, 1) \
- F(ThrowRangeError, -1 /* >= 1 */, 1) \
- F(ThrowReferenceError, 1, 1) \
- F(ThrowAccessedUninitializedVariable, 1, 1) \
- F(ThrowStackOverflow, 0, 1) \
- F(ThrowSymbolAsyncIteratorInvalid, 0, 1) \
- F(ThrowSymbolIteratorInvalid, 0, 1) \
- F(ThrowThrowMethodMissing, 0, 1) \
- F(ThrowTypeError, -1 /* >= 1 */, 1) \
- F(ThrowTypeErrorIfStrict, -1 /* >= 1 */, 1) \
- F(Typeof, 1, 1) \
+#define FOR_EACH_INTRINSIC_INTERNAL(F, I) \
+ F(AccessCheck, 1, 1) \
+ F(AllocateByteArray, 1, 1) \
+ F(AllocateInYoungGeneration, 2, 1) \
+ F(AllocateInOldGeneration, 2, 1) \
+ F(AllocateSeqOneByteString, 1, 1) \
+ F(AllocateSeqTwoByteString, 1, 1) \
+ F(AllowDynamicFunction, 1, 1) \
+ I(CreateAsyncFromSyncIterator, 1, 1) \
+ F(CreateListFromArrayLike, 1, 1) \
+ F(DoubleToStringWithRadix, 2, 1) \
+ F(FatalProcessOutOfMemoryInAllocateRaw, 0, 1) \
+ F(FatalProcessOutOfMemoryInvalidArrayLength, 0, 1) \
+ F(GetAndResetRuntimeCallStats, -1 /* <= 2 */, 1) \
+ F(GetTemplateObject, 3, 1) \
+ F(IncrementUseCounter, 1, 1) \
+ F(BytecodeBudgetInterruptFromBytecode, 1, 1) \
+ F(BytecodeBudgetInterruptWithStackCheckFromBytecode, 1, 1) \
+ F(BytecodeBudgetInterruptFromCode, 1, 1) \
+ F(NewError, 2, 1) \
+ F(NewReferenceError, 2, 1) \
+ F(NewSyntaxError, 2, 1) \
+ F(NewTypeError, -1 /* [1, 4] */, 1) \
+ F(OrdinaryHasInstance, 2, 1) \
+ F(PromoteScheduledException, 0, 1) \
+ F(ReportMessageFromMicrotask, 1, 1) \
+ F(ReThrow, 1, 1) \
+ F(RunMicrotaskCallback, 2, 1) \
+ F(PerformMicrotaskCheckpoint, 0, 1) \
+ F(StackGuard, 0, 1) \
+ F(StackGuardWithGap, 1, 1) \
+ F(Throw, 1, 1) \
+ F(ThrowApplyNonFunction, 1, 1) \
+ F(ThrowCalledNonCallable, 1, 1) \
+ F(ThrowConstructedNonConstructable, 1, 1) \
+ F(ThrowConstructorReturnedNonObject, 0, 1) \
+ F(ThrowInvalidStringLength, 0, 1) \
+ F(ThrowInvalidTypedArrayAlignment, 2, 1) \
+ F(ThrowIteratorError, 1, 1) \
+ F(ThrowSpreadArgError, 2, 1) \
+ F(ThrowIteratorResultNotAnObject, 1, 1) \
+ F(ThrowNotConstructor, 1, 1) \
+ F(ThrowPatternAssignmentNonCoercible, 1, 1) \
+ F(ThrowRangeError, -1 /* >= 1 */, 1) \
+ F(ThrowReferenceError, 1, 1) \
+ F(ThrowAccessedUninitializedVariable, 1, 1) \
+ F(ThrowStackOverflow, 0, 1) \
+ F(ThrowSymbolAsyncIteratorInvalid, 0, 1) \
+ F(ThrowSymbolIteratorInvalid, 0, 1) \
+ F(ThrowThrowMethodMissing, 0, 1) \
+ F(ThrowTypeError, -1 /* >= 1 */, 1) \
+ F(ThrowTypeErrorIfStrict, -1 /* >= 1 */, 1) \
+ F(Typeof, 1, 1) \
F(UnwindAndFindExceptionHandler, 0, 1)
#define FOR_EACH_INTRINSIC_LITERALS(F, I) \
@@ -276,7 +277,7 @@ namespace internal {
F(ArrayBufferMaxByteLength, 0, 1) \
F(GetHoleNaNLower, 0, 1) \
F(GetHoleNaNUpper, 0, 1) \
- I(IsSmi, 1, 1) \
+ F(IsSmi, 1, 1) \
F(MaxSmi, 0, 1) \
F(NumberToStringSlow, 1, 1) \
F(StringParseFloat, 1, 1) \
@@ -308,9 +309,9 @@ namespace internal {
F(GetProperty, -1 /* [2, 3] */, 1) \
F(HasFastPackedElements, 1, 1) \
F(HasInPrototypeChain, 2, 1) \
- I(HasProperty, 2, 1) \
+ F(HasProperty, 2, 1) \
F(InternalSetPrototype, 2, 1) \
- I(IsJSReceiver, 1, 1) \
+ F(IsJSReceiver, 1, 1) \
F(JSReceiverPreventExtensionsDontThrow, 1, 1) \
F(JSReceiverPreventExtensionsThrow, 1, 1) \
F(JSReceiverGetPrototypeOf, 1, 1) \
@@ -338,11 +339,11 @@ namespace internal {
F(ShrinkNameDictionary, 1, 1) \
F(ShrinkSwissNameDictionary, 1, 1) \
F(ToFastProperties, 1, 1) \
- I(ToLength, 1, 1) \
+ F(ToLength, 1, 1) \
F(ToName, 1, 1) \
- I(ToNumber, 1, 1) \
+ F(ToNumber, 1, 1) \
F(ToNumeric, 1, 1) \
- I(ToObject, 1, 1) \
+ F(ToObject, 1, 1) \
F(ToString, 1, 1) \
F(TryMigrateInstance, 1, 1) \
F(SwissTableAdd, 4, 1) \
@@ -375,7 +376,6 @@ namespace internal {
F(PromiseHookInit, 2, 1) \
F(AwaitPromisesInit, 5, 1) \
F(AwaitPromisesInitOld, 5, 1) \
- F(PromiseMarkAsHandled, 1, 1) \
F(PromiseRejectEventFromStack, 2, 1) \
F(PromiseRevokeReject, 1, 1) \
F(PromiseStatus, 1, 1) \
@@ -397,7 +397,7 @@ namespace internal {
F(SetPropertyWithReceiver, 4, 1)
#define FOR_EACH_INTRINSIC_REGEXP(F, I) \
- I(IsRegExp, 1, 1) \
+ F(IsRegExp, 1, 1) \
F(RegExpBuildIndices, 3, 1) \
F(RegExpExec, 4, 1) \
F(RegExpExecTreatMatchAtEndAsFailure, 4, 1) \
@@ -463,8 +463,9 @@ namespace internal {
#define FOR_EACH_INTRINSIC_TEST(F, I) \
F(Abort, 1, 1) \
- F(AbortJS, 1, 1) \
F(AbortCSAAssert, 1, 1) \
+ F(AbortJS, 1, 1) \
+ F(ArrayIteratorProtector, 0, 1) \
F(ArraySpeciesProtector, 0, 1) \
F(BaselineOsr, -1, 1) \
F(ClearFunctionFeedback, 1, 1) \
@@ -481,10 +482,10 @@ namespace internal {
F(DisallowCodegenFromStrings, 1, 1) \
F(DisassembleFunction, 1, 1) \
F(DynamicCheckMapsEnabled, 0, 1) \
- F(IsTopTierTurboprop, 0, 1) \
- F(IsMidTierTurboprop, 0, 1) \
F(EnableCodeLoggingForTesting, 0, 1) \
F(EnsureFeedbackVectorForFunction, 1, 1) \
+ F(DisableOptimizationFinalization, 0, 1) \
+ F(FinalizeOptimization, 0, 1) \
F(GetCallable, 0, 1) \
F(GetInitializerFunction, 1, 1) \
F(GetOptimizationStatus, -1, 1) \
@@ -495,7 +496,6 @@ namespace internal {
F(HasElementsInALargeObjectSpace, 1, 1) \
F(HasFastElements, 1, 1) \
F(HasFastProperties, 1, 1) \
- F(HasOwnConstDataProperty, 2, 1) \
F(HasFixedBigInt64Elements, 1, 1) \
F(HasFixedBigUint64Elements, 1, 1) \
F(HasFixedFloat32Elements, 1, 1) \
@@ -509,6 +509,7 @@ namespace internal {
F(HasFixedUint8Elements, 1, 1) \
F(HasHoleyElements, 1, 1) \
F(HasObjectElements, 1, 1) \
+ F(HasOwnConstDataProperty, 2, 1) \
F(HasPackedElements, 1, 1) \
F(HasSloppyArgumentsElements, 1, 1) \
F(HasSmiElements, 1, 1) \
@@ -518,44 +519,48 @@ namespace internal {
F(ICsAreEnabled, 0, 1) \
F(InLargeObjectSpace, 1, 1) \
F(InYoungGeneration, 1, 1) \
+ F(Is64Bit, 0, 1) \
+ F(IsAtomicsWaitAllowed, 0, 1) \
F(IsBeingInterpreted, 0, 1) \
+ F(IsConcatSpreadableProtector, 0, 1) \
F(IsConcurrentRecompilationSupported, 0, 1) \
F(IsDictPropertyConstTrackingEnabled, 0, 1) \
- F(RegexpHasBytecode, 2, 1) \
- F(RegexpHasNativeCode, 2, 1) \
- F(RegexpTypeTag, 1, 1) \
- F(RegexpIsUnmodified, 1, 1) \
+ F(IsMidTierTurboprop, 0, 1) \
+ F(IsTopTierTurboprop, 0, 1) \
F(MapIteratorProtector, 0, 1) \
- F(ArrayIteratorProtector, 0, 1) \
F(NeverOptimizeFunction, 1, 1) \
+ F(NewRegExpWithBacktrackLimit, 3, 1) \
F(NotifyContextDisposed, 0, 1) \
+ F(OptimizeFunctionForTopTier, 1, 1) \
F(OptimizeFunctionOnNextCall, -1, 1) \
- F(TierupFunctionOnNextCall, -1, 1) \
F(OptimizeOsr, -1, 1) \
- F(NewRegExpWithBacktrackLimit, 3, 1) \
F(PrepareFunctionForOptimization, -1, 1) \
F(PretenureAllocationSite, 1, 1) \
F(PrintWithNameForAssert, 2, 1) \
+ F(PromiseSpeciesProtector, 0, 1) \
+ F(RegexpHasBytecode, 2, 1) \
+ F(RegexpHasNativeCode, 2, 1) \
+ F(RegexpIsUnmodified, 1, 1) \
+ F(RegExpSpeciesProtector, 0, 1) \
+ F(RegexpTypeTag, 1, 1) \
F(RunningInSimulator, 0, 1) \
F(RuntimeEvaluateREPL, 1, 1) \
+ F(ScheduleGCInStackCheck, 0, 1) \
F(SerializeDeserializeNow, 0, 1) \
F(SetAllocationTimeout, -1 /* 2 || 3 */, 1) \
F(SetForceSlowPath, 1, 1) \
F(SetIteratorProtector, 0, 1) \
F(SimulateNewspaceFull, 0, 1) \
- F(ScheduleGCInStackCheck, 0, 1) \
F(StringIteratorProtector, 0, 1) \
F(SystemBreak, 0, 1) \
+ F(TierupFunctionOnNextCall, -1, 1) \
F(TraceEnter, 0, 1) \
F(TraceExit, 1, 1) \
F(TurbofanStaticAssert, 1, 1) \
F(TypedArraySpeciesProtector, 0, 1) \
F(UnblockConcurrentRecompilation, 0, 1) \
- I(DeoptimizeNow, 0, 1) \
- F(PromiseSpeciesProtector, 0, 1) \
- F(IsConcatSpreadableProtector, 0, 1) \
- F(RegExpSpeciesProtector, 0, 1) \
- F(Is64Bit, 0, 1)
+ F(WaitForBackgroundOptimization, 0, 1) \
+ I(DeoptimizeNow, 0, 1)
#define FOR_EACH_INTRINSIC_TYPEDARRAY(F, I) \
F(ArrayBufferDetach, 1, 1) \
@@ -588,13 +593,14 @@ namespace internal {
F(WasmCompileWrapper, 2, 1) \
F(WasmTriggerTierUp, 1, 1) \
F(WasmDebugBreak, 0, 1) \
- F(WasmAllocateRtt, 2, 1)
+ F(WasmAllocateRtt, 3, 1) \
+ F(WasmArrayCopy, 5, 1)
#define FOR_EACH_INTRINSIC_WASM_TEST(F, I) \
F(DeserializeWasmModule, 2, 1) \
F(DisallowWasmCodegen, 1, 1) \
F(FreezeWasmLazyCompilation, 1, 1) \
- F(GetWasmExceptionId, 2, 1) \
+ F(GetWasmExceptionTagId, 2, 1) \
F(GetWasmExceptionValues, 1, 1) \
F(GetWasmRecoveredTrapCount, 0, 1) \
F(IsAsmWasmCode, 1, 1) \
@@ -799,8 +805,8 @@ class Runtime : public AllStatic {
V8_WARN_UNUSED_RESULT static MaybeHandle<Object> HasProperty(
Isolate* isolate, Handle<Object> object, Handle<Object> key);
- V8_WARN_UNUSED_RESULT static MaybeHandle<JSArray> GetInternalProperties(
- Isolate* isolate, Handle<Object>);
+ V8_EXPORT_PRIVATE V8_WARN_UNUSED_RESULT static MaybeHandle<JSArray>
+ GetInternalProperties(Isolate* isolate, Handle<Object>);
V8_WARN_UNUSED_RESULT static MaybeHandle<Object> ThrowIteratorError(
Isolate* isolate, Handle<Object> object);