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

Side by Side Diff: src/compiler/ast-graph-builder.h

Issue 2544123004: [fullcodegen] Remove super property access support. (Closed)
Patch Set: Created 4 years 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 | « no previous file | src/compiler/ast-graph-builder.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 #ifndef V8_COMPILER_AST_GRAPH_BUILDER_H_ 5 #ifndef V8_COMPILER_AST_GRAPH_BUILDER_H_
6 #define V8_COMPILER_AST_GRAPH_BUILDER_H_ 6 #define V8_COMPILER_AST_GRAPH_BUILDER_H_
7 7
8 #include "src/ast/ast.h" 8 #include "src/ast/ast.h"
9 #include "src/compiler/compiler-source-position-table.h" 9 #include "src/compiler/compiler-source-position-table.h"
10 #include "src/compiler/js-graph.h" 10 #include "src/compiler/js-graph.h"
(...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after
281 // Builders for property loads and stores. 281 // Builders for property loads and stores.
282 Node* BuildKeyedLoad(Node* receiver, Node* key, 282 Node* BuildKeyedLoad(Node* receiver, Node* key,
283 const VectorSlotPair& feedback); 283 const VectorSlotPair& feedback);
284 Node* BuildNamedLoad(Node* receiver, Handle<Name> name, 284 Node* BuildNamedLoad(Node* receiver, Handle<Name> name,
285 const VectorSlotPair& feedback); 285 const VectorSlotPair& feedback);
286 Node* BuildKeyedStore(Node* receiver, Node* key, Node* value, 286 Node* BuildKeyedStore(Node* receiver, Node* key, Node* value,
287 const VectorSlotPair& feedback); 287 const VectorSlotPair& feedback);
288 Node* BuildNamedStore(Node* receiver, Handle<Name> name, Node* value, 288 Node* BuildNamedStore(Node* receiver, Handle<Name> name, Node* value,
289 const VectorSlotPair& feedback); 289 const VectorSlotPair& feedback);
290 290
291 // Builders for super property loads and stores.
292 Node* BuildKeyedSuperStore(Node* receiver, Node* home_object, Node* key,
293 Node* value);
294 Node* BuildNamedSuperStore(Node* receiver, Node* home_object,
295 Handle<Name> name, Node* value);
296 Node* BuildNamedSuperLoad(Node* receiver, Node* home_object,
297 Handle<Name> name, const VectorSlotPair& feedback);
298 Node* BuildKeyedSuperLoad(Node* receiver, Node* home_object, Node* key,
299 const VectorSlotPair& feedback);
300
301 // Builders for global variable loads and stores. 291 // Builders for global variable loads and stores.
302 Node* BuildGlobalLoad(Handle<Name> name, const VectorSlotPair& feedback, 292 Node* BuildGlobalLoad(Handle<Name> name, const VectorSlotPair& feedback,
303 TypeofMode typeof_mode); 293 TypeofMode typeof_mode);
304 Node* BuildGlobalStore(Handle<Name> name, Node* value, 294 Node* BuildGlobalStore(Handle<Name> name, Node* value,
305 const VectorSlotPair& feedback); 295 const VectorSlotPair& feedback);
306 296
307 // Builders for accessing the function context. 297 // Builders for accessing the function context.
308 Node* BuildLoadGlobalObject(); 298 Node* BuildLoadGlobalObject();
309 Node* BuildLoadNativeContextField(int index); 299 Node* BuildLoadNativeContextField(int index);
310 300
311 // Builders for automatic type conversion. 301 // Builders for automatic type conversion.
312 Node* BuildToBoolean(Node* input, TypeFeedbackId feedback_id); 302 Node* BuildToBoolean(Node* input, TypeFeedbackId feedback_id);
313 Node* BuildToObject(Node* input, BailoutId bailout_id); 303 Node* BuildToObject(Node* input, BailoutId bailout_id);
314 304
315 // Builder for adding the [[HomeObject]] to a value if the value came from a 305 // Builder for adding the [[HomeObject]] to a value if the value came from a
316 // function literal and needs a home object. Do nothing otherwise. 306 // function literal and needs a home object. Do nothing otherwise.
317 Node* BuildSetHomeObject(Node* value, Node* home_object, 307 Node* BuildSetHomeObject(Node* value, Node* home_object,
318 LiteralProperty* property, int slot_number = 0); 308 LiteralProperty* property, int slot_number = 0);
319 309
320 // Builders for error reporting at runtime. 310 // Builders for error reporting at runtime.
321 Node* BuildThrowError(Node* exception, BailoutId bailout_id); 311 Node* BuildThrowError(Node* exception, BailoutId bailout_id);
322 Node* BuildThrowReferenceError(Variable* var, BailoutId bailout_id); 312 Node* BuildThrowReferenceError(Variable* var, BailoutId bailout_id);
323 Node* BuildThrowConstAssignError(BailoutId bailout_id); 313 Node* BuildThrowConstAssignError(BailoutId bailout_id);
324 Node* BuildThrowUnsupportedSuperError(BailoutId bailout_id);
325 314
326 // Builders for dynamic hole-checks at runtime. 315 // Builders for dynamic hole-checks at runtime.
327 Node* BuildHoleCheckThenThrow(Node* value, Variable* var, Node* not_hole, 316 Node* BuildHoleCheckThenThrow(Node* value, Variable* var, Node* not_hole,
328 BailoutId bailout_id); 317 BailoutId bailout_id);
329 Node* BuildHoleCheckElseThrow(Node* value, Variable* var, Node* for_hole, 318 Node* BuildHoleCheckElseThrow(Node* value, Variable* var, Node* for_hole,
330 BailoutId bailout_id); 319 BailoutId bailout_id);
331 320
332 // Builders for non-local control flow. 321 // Builders for non-local control flow.
333 Node* BuildReturn(Node* return_value); 322 Node* BuildReturn(Node* return_value);
334 Node* BuildThrow(Node* exception_value); 323 Node* BuildThrow(Node* exception_value);
(...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after
596 private: 585 private:
597 SourcePositionTable* const source_positions_; 586 SourcePositionTable* const source_positions_;
598 SourcePosition const start_position_; 587 SourcePosition const start_position_;
599 }; 588 };
600 589
601 } // namespace compiler 590 } // namespace compiler
602 } // namespace internal 591 } // namespace internal
603 } // namespace v8 592 } // namespace v8
604 593
605 #endif // V8_COMPILER_AST_GRAPH_BUILDER_H_ 594 #endif // V8_COMPILER_AST_GRAPH_BUILDER_H_
OLDNEW
« no previous file with comments | « no previous file | src/compiler/ast-graph-builder.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698