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

Side by Side Diff: src/compiler/verifier.cc

Issue 1124813005: WIP Atomics (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: fix AtomicsLoad type in typer.cc Created 5 years, 7 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/typer.cc ('k') | src/compiler/x64/instruction-selector-x64.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 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 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 #include "src/compiler/verifier.h" 5 #include "src/compiler/verifier.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <deque> 8 #include <deque>
9 #include <queue> 9 #include <queue>
10 #include <sstream> 10 #include <sstream>
(...skipping 715 matching lines...) Expand 10 before | Expand all | Expand 10 after
726 // CheckUpperIs(node, FieldAccessOf(node->op()).type)); 726 // CheckUpperIs(node, FieldAccessOf(node->op()).type));
727 break; 727 break;
728 case IrOpcode::kLoadBuffer: 728 case IrOpcode::kLoadBuffer:
729 break; 729 break;
730 case IrOpcode::kLoadElement: 730 case IrOpcode::kLoadElement:
731 // Object -> elementtype 731 // Object -> elementtype
732 // TODO(rossberg): activate once machine ops are typed. 732 // TODO(rossberg): activate once machine ops are typed.
733 // CheckValueInputIs(node, 0, Type::Object()); 733 // CheckValueInputIs(node, 0, Type::Object());
734 // CheckUpperIs(node, ElementAccessOf(node->op()).type)); 734 // CheckUpperIs(node, ElementAccessOf(node->op()).type));
735 break; 735 break;
736 case IrOpcode::kLoadElementAtomic:
737 break;
736 case IrOpcode::kStoreField: 738 case IrOpcode::kStoreField:
737 // (Object, fieldtype) -> _|_ 739 // (Object, fieldtype) -> _|_
738 // TODO(rossberg): activate once machine ops are typed. 740 // TODO(rossberg): activate once machine ops are typed.
739 // CheckValueInputIs(node, 0, Type::Object()); 741 // CheckValueInputIs(node, 0, Type::Object());
740 // CheckValueInputIs(node, 1, FieldAccessOf(node->op()).type)); 742 // CheckValueInputIs(node, 1, FieldAccessOf(node->op()).type));
741 CheckNotTyped(node); 743 CheckNotTyped(node);
742 break; 744 break;
743 case IrOpcode::kStoreBuffer: 745 case IrOpcode::kStoreBuffer:
744 break; 746 break;
745 case IrOpcode::kStoreElement: 747 case IrOpcode::kStoreElement:
746 // (Object, elementtype) -> _|_ 748 // (Object, elementtype) -> _|_
747 // TODO(rossberg): activate once machine ops are typed. 749 // TODO(rossberg): activate once machine ops are typed.
748 // CheckValueInputIs(node, 0, Type::Object()); 750 // CheckValueInputIs(node, 0, Type::Object());
749 // CheckValueInputIs(node, 1, ElementAccessOf(node->op()).type)); 751 // CheckValueInputIs(node, 1, ElementAccessOf(node->op()).type));
750 CheckNotTyped(node); 752 CheckNotTyped(node);
751 break; 753 break;
752 754
753 // Machine operators 755 // Machine operators
754 // ----------------------- 756 // -----------------------
755 case IrOpcode::kLoad: 757 case IrOpcode::kLoad:
758 case IrOpcode::kLoadAtomic:
756 case IrOpcode::kStore: 759 case IrOpcode::kStore:
757 case IrOpcode::kWord32And: 760 case IrOpcode::kWord32And:
758 case IrOpcode::kWord32Or: 761 case IrOpcode::kWord32Or:
759 case IrOpcode::kWord32Xor: 762 case IrOpcode::kWord32Xor:
760 case IrOpcode::kWord32Shl: 763 case IrOpcode::kWord32Shl:
761 case IrOpcode::kWord32Shr: 764 case IrOpcode::kWord32Shr:
762 case IrOpcode::kWord32Sar: 765 case IrOpcode::kWord32Sar:
763 case IrOpcode::kWord32Ror: 766 case IrOpcode::kWord32Ror:
764 case IrOpcode::kWord32Equal: 767 case IrOpcode::kWord32Equal:
765 case IrOpcode::kWord32Clz: 768 case IrOpcode::kWord32Clz:
(...skipping 334 matching lines...) Expand 10 before | Expand all | Expand 10 after
1100 // Check inputs for all nodes in the block. 1103 // Check inputs for all nodes in the block.
1101 for (size_t i = 0; i < block->NodeCount(); i++) { 1104 for (size_t i = 0; i < block->NodeCount(); i++) {
1102 Node* node = block->NodeAt(i); 1105 Node* node = block->NodeAt(i);
1103 CheckInputsDominate(schedule, block, node, static_cast<int>(i) - 1); 1106 CheckInputsDominate(schedule, block, node, static_cast<int>(i) - 1);
1104 } 1107 }
1105 } 1108 }
1106 } 1109 }
1107 } 1110 }
1108 } 1111 }
1109 } // namespace v8::internal::compiler 1112 } // namespace v8::internal::compiler
OLDNEW
« no previous file with comments | « src/compiler/typer.cc ('k') | src/compiler/x64/instruction-selector-x64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698