Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2)

Side by Side Diff: src/runtime/runtime.h

Issue 1683103002: [compiler] Sanitize entry points to LookupSlot access. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: REBASE. Fixes. Comments. Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/interpreter/interpreter.cc ('k') | src/runtime/runtime-scopes.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef V8_RUNTIME_RUNTIME_H_ 5 #ifndef V8_RUNTIME_RUNTIME_H_
6 #define V8_RUNTIME_RUNTIME_H_ 6 #define V8_RUNTIME_RUNTIME_H_
7 7
8 #include "src/allocation.h" 8 #include "src/allocation.h"
9 #include "src/base/platform/time.h" 9 #include "src/base/platform/time.h"
10 #include "src/objects.h" 10 #include "src/objects.h"
(...skipping 519 matching lines...) Expand 10 before | Expand all | Expand 10 after
530 F(StringSplit, 3, 1) \ 530 F(StringSplit, 3, 1) \
531 F(RegExpExec, 4, 1) \ 531 F(RegExpExec, 4, 1) \
532 F(RegExpFlags, 1, 1) \ 532 F(RegExpFlags, 1, 1) \
533 F(RegExpSource, 1, 1) \ 533 F(RegExpSource, 1, 1) \
534 F(RegExpConstructResult, 3, 1) \ 534 F(RegExpConstructResult, 3, 1) \
535 F(RegExpInitializeAndCompile, 3, 1) \ 535 F(RegExpInitializeAndCompile, 3, 1) \
536 F(RegExpExecMultiple, 4, 1) \ 536 F(RegExpExecMultiple, 4, 1) \
537 F(RegExpExecReThrow, 4, 1) \ 537 F(RegExpExecReThrow, 4, 1) \
538 F(IsRegExp, 1, 1) 538 F(IsRegExp, 1, 1)
539 539
540
541 #define FOR_EACH_INTRINSIC_SCOPES(F) \ 540 #define FOR_EACH_INTRINSIC_SCOPES(F) \
542 F(ThrowConstAssignError, 0, 1) \ 541 F(ThrowConstAssignError, 0, 1) \
543 F(DeclareGlobals, 2, 1) \ 542 F(DeclareGlobals, 2, 1) \
544 F(InitializeVarGlobal, 3, 1) \ 543 F(InitializeVarGlobal, 3, 1) \
545 F(InitializeConstGlobal, 2, 1) \ 544 F(InitializeConstGlobal, 2, 1) \
546 F(DeclareLookupSlot, 3, 1) \ 545 F(DeclareLookupSlot, 3, 1) \
547 F(InitializeLegacyConstLookupSlot, 3, 1) \ 546 F(InitializeLegacyConstLookupSlot, 3, 1) \
548 F(NewSloppyArguments_Generic, 1, 1) \ 547 F(NewSloppyArguments_Generic, 1, 1) \
549 F(NewStrictArguments_Generic, 1, 1) \ 548 F(NewStrictArguments_Generic, 1, 1) \
550 F(NewRestParameter, 1, 1) \ 549 F(NewRestParameter, 1, 1) \
551 F(NewSloppyArguments, 3, 1) \ 550 F(NewSloppyArguments, 3, 1) \
552 F(NewStrictArguments, 3, 1) \ 551 F(NewStrictArguments, 3, 1) \
553 F(NewClosure, 1, 1) \ 552 F(NewClosure, 1, 1) \
554 F(NewClosure_Tenured, 1, 1) \ 553 F(NewClosure_Tenured, 1, 1) \
555 F(NewScriptContext, 2, 1) \ 554 F(NewScriptContext, 2, 1) \
556 F(NewFunctionContext, 1, 1) \ 555 F(NewFunctionContext, 1, 1) \
557 F(PushWithContext, 2, 1) \ 556 F(PushWithContext, 2, 1) \
558 F(PushCatchContext, 3, 1) \ 557 F(PushCatchContext, 3, 1) \
559 F(PushBlockContext, 2, 1) \ 558 F(PushBlockContext, 2, 1) \
560 F(IsJSModule, 1, 1) \ 559 F(IsJSModule, 1, 1) \
561 F(PushModuleContext, 2, 1) \ 560 F(PushModuleContext, 2, 1) \
562 F(DeclareModules, 1, 1) \ 561 F(DeclareModules, 1, 1) \
563 F(DeleteLookupSlot, 2, 1) \ 562 F(DeleteLookupSlot, 1, 1) \
564 F(StoreLookupSlot, 4, 1) \ 563 F(LoadLookupSlot, 1, 1) \
564 F(LoadLookupSlotInsideTypeof, 1, 1) \
565 F(StoreLookupSlot_Sloppy, 2, 1) \
566 F(StoreLookupSlot_Strict, 2, 1) \
565 F(ArgumentsLength, 0, 1) \ 567 F(ArgumentsLength, 0, 1) \
566 F(Arguments, 1, 1) 568 F(Arguments, 1, 1)
567 569
568
569 #define FOR_EACH_INTRINSIC_SIMD(F) \ 570 #define FOR_EACH_INTRINSIC_SIMD(F) \
570 F(IsSimdValue, 1, 1) \ 571 F(IsSimdValue, 1, 1) \
571 F(SimdSameValue, 2, 1) \ 572 F(SimdSameValue, 2, 1) \
572 F(SimdSameValueZero, 2, 1) \ 573 F(SimdSameValueZero, 2, 1) \
573 F(CreateFloat32x4, 4, 1) \ 574 F(CreateFloat32x4, 4, 1) \
574 F(CreateInt32x4, 4, 1) \ 575 F(CreateInt32x4, 4, 1) \
575 F(CreateUint32x4, 4, 1) \ 576 F(CreateUint32x4, 4, 1) \
576 F(CreateBool32x4, 4, 1) \ 577 F(CreateBool32x4, 4, 1) \
577 F(CreateInt16x8, 8, 1) \ 578 F(CreateInt16x8, 8, 1) \
578 F(CreateUint16x8, 8, 1) \ 579 F(CreateUint16x8, 8, 1) \
(...skipping 422 matching lines...) Expand 10 before | Expand all | Expand 10 after
1001 F(DataViewSetUint32, 4, 1) \ 1002 F(DataViewSetUint32, 4, 1) \
1002 F(DataViewSetInt32, 4, 1) \ 1003 F(DataViewSetInt32, 4, 1) \
1003 F(DataViewSetFloat32, 4, 1) \ 1004 F(DataViewSetFloat32, 4, 1) \
1004 F(DataViewSetFloat64, 4, 1) 1005 F(DataViewSetFloat64, 4, 1)
1005 1006
1006 1007
1007 #define FOR_EACH_INTRINSIC_URI(F) \ 1008 #define FOR_EACH_INTRINSIC_URI(F) \
1008 F(URIEscape, 1, 1) \ 1009 F(URIEscape, 1, 1) \
1009 F(URIUnescape, 1, 1) 1010 F(URIUnescape, 1, 1)
1010 1011
1011
1012 #define FOR_EACH_INTRINSIC_RETURN_PAIR(F) \ 1012 #define FOR_EACH_INTRINSIC_RETURN_PAIR(F) \
1013 F(LoadLookupSlot, 2, 2) \ 1013 F(LoadLookupSlotForCall, 1, 2)
1014 F(LoadLookupSlotNoReferenceError, 2, 2)
1015 1014
1016 #define FOR_EACH_INTRINSIC_RETURN_TRIPLE(F) \ 1015 #define FOR_EACH_INTRINSIC_RETURN_TRIPLE(F) \
1017 F(ForInPrepare, 1, 3) 1016 F(ForInPrepare, 1, 3)
1018 1017
1019 // Most intrinsics are implemented in the runtime/ directory, but ICs are 1018 // Most intrinsics are implemented in the runtime/ directory, but ICs are
1020 // implemented in ic.cc for now. 1019 // implemented in ic.cc for now.
1021 #define FOR_EACH_INTRINSIC_IC(F) \ 1020 #define FOR_EACH_INTRINSIC_IC(F) \
1022 F(BinaryOpIC_Miss, 2, 1) \ 1021 F(BinaryOpIC_Miss, 2, 1) \
1023 F(BinaryOpIC_MissWithAllocationSite, 3, 1) \ 1022 F(BinaryOpIC_MissWithAllocationSite, 3, 1) \
1024 F(CallIC_Miss, 3, 1) \ 1023 F(CallIC_Miss, 3, 1) \
(...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after
1253 1252
1254 class DeclareGlobalsEvalFlag : public BitField<bool, 0, 1> {}; 1253 class DeclareGlobalsEvalFlag : public BitField<bool, 0, 1> {};
1255 class DeclareGlobalsNativeFlag : public BitField<bool, 1, 1> {}; 1254 class DeclareGlobalsNativeFlag : public BitField<bool, 1, 1> {};
1256 STATIC_ASSERT(LANGUAGE_END == 3); 1255 STATIC_ASSERT(LANGUAGE_END == 3);
1257 class DeclareGlobalsLanguageMode : public BitField<LanguageMode, 2, 2> {}; 1256 class DeclareGlobalsLanguageMode : public BitField<LanguageMode, 2, 2> {};
1258 1257
1259 } // namespace internal 1258 } // namespace internal
1260 } // namespace v8 1259 } // namespace v8
1261 1260
1262 #endif // V8_RUNTIME_RUNTIME_H_ 1261 #endif // V8_RUNTIME_RUNTIME_H_
OLDNEW
« no previous file with comments | « src/interpreter/interpreter.cc ('k') | src/runtime/runtime-scopes.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698