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

Side by Side Diff: src/compiler/ast-graph-builder.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 | « 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/js-graph.h" 9 #include "src/compiler/js-graph.h"
10 #include "src/compiler/liveness-analyzer.h" 10 #include "src/compiler/liveness-analyzer.h"
(...skipping 296 matching lines...) Expand 10 before | Expand all | Expand 10 after
307 Handle<Name> name, const VectorSlotPair& feedback); 307 Handle<Name> name, const VectorSlotPair& feedback);
308 Node* BuildKeyedSuperLoad(Node* receiver, Node* home_object, Node* key, 308 Node* BuildKeyedSuperLoad(Node* receiver, Node* home_object, Node* key,
309 const VectorSlotPair& feedback); 309 const VectorSlotPair& feedback);
310 310
311 // Builders for global variable loads and stores. 311 // Builders for global variable loads and stores.
312 Node* BuildGlobalLoad(Handle<Name> name, const VectorSlotPair& feedback, 312 Node* BuildGlobalLoad(Handle<Name> name, const VectorSlotPair& feedback,
313 TypeofMode typeof_mode); 313 TypeofMode typeof_mode);
314 Node* BuildGlobalStore(Handle<Name> name, Node* value, 314 Node* BuildGlobalStore(Handle<Name> name, Node* value,
315 const VectorSlotPair& feedback); 315 const VectorSlotPair& feedback);
316 316
317 // Builders for dynamic variable loads and stores.
318 Node* BuildDynamicLoad(Handle<Name> name, TypeofMode typeof_mode);
319 Node* BuildDynamicStore(Handle<Name> name, Node* value);
320
317 // Builders for accessing the function context. 321 // Builders for accessing the function context.
318 Node* BuildLoadGlobalObject(); 322 Node* BuildLoadGlobalObject();
319 Node* BuildLoadNativeContextField(int index); 323 Node* BuildLoadNativeContextField(int index);
320 Node* BuildLoadFeedbackVector();
321
322 // Builder for accessing a (potentially immutable) object field.
323 Node* BuildLoadImmutableObjectField(Node* object, int offset);
324 324
325 // Builders for automatic type conversion. 325 // Builders for automatic type conversion.
326 Node* BuildToBoolean(Node* input, TypeFeedbackId feedback_id); 326 Node* BuildToBoolean(Node* input, TypeFeedbackId feedback_id);
327 Node* BuildToName(Node* input, BailoutId bailout_id); 327 Node* BuildToName(Node* input, BailoutId bailout_id);
328 Node* BuildToObject(Node* input, BailoutId bailout_id); 328 Node* BuildToObject(Node* input, BailoutId bailout_id);
329 329
330 // Builder for adding the [[HomeObject]] to a value if the value came from a 330 // Builder for adding the [[HomeObject]] to a value if the value came from a
331 // function literal and needs a home object. Do nothing otherwise. 331 // function literal and needs a home object. Do nothing otherwise.
332 Node* BuildSetHomeObject(Node* value, Node* home_object, 332 Node* BuildSetHomeObject(Node* value, Node* home_object,
333 ObjectLiteralProperty* property, 333 ObjectLiteralProperty* property,
(...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after
583 583
584 // Prepare environment to be used as loop header. 584 // Prepare environment to be used as loop header.
585 void PrepareForLoop(BitVector* assigned, bool is_osr = false); 585 void PrepareForLoop(BitVector* assigned, bool is_osr = false);
586 }; 586 };
587 587
588 } // namespace compiler 588 } // namespace compiler
589 } // namespace internal 589 } // namespace internal
590 } // namespace v8 590 } // namespace v8
591 591
592 #endif // V8_COMPILER_AST_GRAPH_BUILDER_H_ 592 #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