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

Side by Side Diff: src/compiler/machine-operator.h

Issue 2301833004: [wasm] Trap handling: ProtectedLoad instruction (Closed)
Patch Set: Add VisitProtectedLoad stubs for other architectures Created 4 years, 3 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/compiler/instruction-selector.cc ('k') | src/compiler/machine-operator.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 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 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_COMPILER_MACHINE_OPERATOR_H_ 5 #ifndef V8_COMPILER_MACHINE_OPERATOR_H_
6 #define V8_COMPILER_MACHINE_OPERATOR_H_ 6 #define V8_COMPILER_MACHINE_OPERATOR_H_
7 7
8 #include "src/base/flags.h" 8 #include "src/base/flags.h"
9 #include "src/machine-type.h" 9 #include "src/machine-type.h"
10 10
(...skipping 23 matching lines...) Expand all
34 const Operator* placeholder() const { return op_; } 34 const Operator* placeholder() const { return op_; }
35 35
36 private: 36 private:
37 bool supported_; 37 bool supported_;
38 const Operator* const op_; 38 const Operator* const op_;
39 }; 39 };
40 40
41 41
42 // A Load needs a MachineType. 42 // A Load needs a MachineType.
43 typedef MachineType LoadRepresentation; 43 typedef MachineType LoadRepresentation;
44 typedef LoadRepresentation ProtectedLoadRepresentation;
44 45
45 LoadRepresentation LoadRepresentationOf(Operator const*); 46 LoadRepresentation LoadRepresentationOf(Operator const*);
46 47
47 // A Store needs a MachineType and a WriteBarrierKind in order to emit the 48 // A Store needs a MachineType and a WriteBarrierKind in order to emit the
48 // correct write barrier. 49 // correct write barrier.
49 class StoreRepresentation final { 50 class StoreRepresentation final {
50 public: 51 public:
51 StoreRepresentation(MachineRepresentation representation, 52 StoreRepresentation(MachineRepresentation representation,
52 WriteBarrierKind write_barrier_kind) 53 WriteBarrierKind write_barrier_kind)
53 : representation_(representation), 54 : representation_(representation),
(...skipping 540 matching lines...) Expand 10 before | Expand all | Expand 10 after
594 const Operator* Simd128Store1(); 595 const Operator* Simd128Store1();
595 const Operator* Simd128Store2(); 596 const Operator* Simd128Store2();
596 const Operator* Simd128Store3(); 597 const Operator* Simd128Store3();
597 const Operator* Simd128And(); 598 const Operator* Simd128And();
598 const Operator* Simd128Or(); 599 const Operator* Simd128Or();
599 const Operator* Simd128Xor(); 600 const Operator* Simd128Xor();
600 const Operator* Simd128Not(); 601 const Operator* Simd128Not();
601 602
602 // load [base + index] 603 // load [base + index]
603 const Operator* Load(LoadRepresentation rep); 604 const Operator* Load(LoadRepresentation rep);
605 const Operator* ProtectedLoad(LoadRepresentation rep);
604 606
605 // store [base + index], value 607 // store [base + index], value
606 const Operator* Store(StoreRepresentation rep); 608 const Operator* Store(StoreRepresentation rep);
607 609
608 // unaligned load [base + index] 610 // unaligned load [base + index]
609 const Operator* UnalignedLoad(UnalignedLoadRepresentation rep); 611 const Operator* UnalignedLoad(UnalignedLoadRepresentation rep);
610 612
611 // unaligned store [base + index], value 613 // unaligned store [base + index], value
612 const Operator* UnalignedStore(UnalignedStoreRepresentation rep); 614 const Operator* UnalignedStore(UnalignedStoreRepresentation rep);
613 615
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
686 }; 688 };
687 689
688 690
689 DEFINE_OPERATORS_FOR_FLAGS(MachineOperatorBuilder::Flags) 691 DEFINE_OPERATORS_FOR_FLAGS(MachineOperatorBuilder::Flags)
690 692
691 } // namespace compiler 693 } // namespace compiler
692 } // namespace internal 694 } // namespace internal
693 } // namespace v8 695 } // namespace v8
694 696
695 #endif // V8_COMPILER_MACHINE_OPERATOR_H_ 697 #endif // V8_COMPILER_MACHINE_OPERATOR_H_
OLDNEW
« no previous file with comments | « src/compiler/instruction-selector.cc ('k') | src/compiler/machine-operator.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698