OLD | NEW |
---|---|
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_TYPING_H_ | 5 #ifndef V8_TYPING_H_ |
6 #define V8_TYPING_H_ | 6 #define V8_TYPING_H_ |
7 | 7 |
8 #include "src/v8.h" | 8 #include "src/v8.h" |
9 | 9 |
10 #include "src/allocation.h" | 10 #include "src/allocation.h" |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
65 int stack_local_index(int index) { return index; } | 65 int stack_local_index(int index) { return index; } |
66 | 66 |
67 int variable_index(Variable* var) { | 67 int variable_index(Variable* var) { |
68 // Stack locals have the range [0 .. l] | 68 // Stack locals have the range [0 .. l] |
69 // Parameters have the range [-1 .. p] | 69 // Parameters have the range [-1 .. p] |
70 // We map this to [-p-2 .. -1, 0 .. l] | 70 // We map this to [-p-2 .. -1, 0 .. l] |
71 return var->IsStackLocal() ? stack_local_index(var->index()) : | 71 return var->IsStackLocal() ? stack_local_index(var->index()) : |
72 var->IsParameter() ? parameter_index(var->index()) : kNoVar; | 72 var->IsParameter() ? parameter_index(var->index()) : kNoVar; |
73 } | 73 } |
74 | 74 |
75 void VisitDeclarations(ZoneList<Declaration*>* declarations); | 75 void VisitDeclarations(ZoneList<Declaration*>* declarations); |
Jakob Kummerow
2014/10/29 10:17:45
...and one more VisitDeclarations
Nico
2014/10/29 15:43:39
Yes: https://code.google.com/p/v8/issues/attachmen
| |
76 void VisitStatements(ZoneList<Statement*>* statements); | 76 void VisitStatements(ZoneList<Statement*>* statements); |
Nico
2014/10/29 15:43:39
This one too: https://code.google.com/p/v8/issues/
| |
77 | 77 |
78 #define DECLARE_VISIT(type) virtual void Visit##type(type* node); | 78 #define DECLARE_VISIT(type) virtual void Visit##type(type* node) OVERRIDE; |
79 AST_NODE_LIST(DECLARE_VISIT) | 79 AST_NODE_LIST(DECLARE_VISIT) |
80 #undef DECLARE_VISIT | 80 #undef DECLARE_VISIT |
81 | 81 |
82 DISALLOW_COPY_AND_ASSIGN(AstTyper); | 82 DISALLOW_COPY_AND_ASSIGN(AstTyper); |
83 }; | 83 }; |
84 | 84 |
85 } } // namespace v8::internal | 85 } } // namespace v8::internal |
86 | 86 |
87 #endif // V8_TYPING_H_ | 87 #endif // V8_TYPING_H_ |
OLD | NEW |