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

Side by Side Diff: src/interpreter/interpreter-assembler.h

Issue 2122183002: [Interpreter] Collect type feedback for calls in the bytecode handler (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: updated cctest.status Created 4 years, 5 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
OLDNEW
1 // Copyright 2015 the V8 project authors. All rights reserved. 1 // Copyright 2015 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_INTERPRETER_INTERPRETER_ASSEMBLER_H_ 5 #ifndef V8_INTERPRETER_INTERPRETER_ASSEMBLER_H_
6 #define V8_INTERPRETER_INTERPRETER_ASSEMBLER_H_ 6 #define V8_INTERPRETER_INTERPRETER_ASSEMBLER_H_
7 7
8 #include "src/allocation.h" 8 #include "src/allocation.h"
9 #include "src/base/smart-pointers.h" 9 #include "src/base/smart-pointers.h"
10 #include "src/builtins.h" 10 #include "src/builtins.h"
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
84 // Stores |value| into |slot_index| of |context|. 84 // Stores |value| into |slot_index| of |context|.
85 compiler::Node* StoreContextSlot(compiler::Node* context, 85 compiler::Node* StoreContextSlot(compiler::Node* context,
86 compiler::Node* slot_index, 86 compiler::Node* slot_index,
87 compiler::Node* value); 87 compiler::Node* value);
88 88
89 // Load the TypeFeedbackVector for the current function. 89 // Load the TypeFeedbackVector for the current function.
90 compiler::Node* LoadTypeFeedbackVector(); 90 compiler::Node* LoadTypeFeedbackVector();
91 91
92 // Call JSFunction or Callable |function| with |arg_count| 92 // Call JSFunction or Callable |function| with |arg_count|
93 // arguments (not including receiver) and the first argument 93 // arguments (not including receiver) and the first argument
94 // located at |first_arg|. Type feedback is collected in the
95 // slot at index |slot_id|.
96 compiler::Node* CallJSWithFeedback(compiler::Node* function,
97 compiler::Node* context,
98 compiler::Node* first_arg,
99 compiler::Node* arg_count,
100 compiler::Node* slot_id,
101 compiler::Node* type_feedback_vector,
102 TailCallMode tail_call_mode);
103
104 // Call JSFunction or Callable |function| with |arg_count|
105 // arguments (not including receiver) and the first argument
94 // located at |first_arg|. 106 // located at |first_arg|.
95 compiler::Node* CallJS(compiler::Node* function, compiler::Node* context, 107 compiler::Node* CallJS(compiler::Node* function, compiler::Node* context,
96 compiler::Node* first_arg, compiler::Node* arg_count, 108 compiler::Node* first_arg, compiler::Node* arg_count,
97 TailCallMode tail_call_mode); 109 TailCallMode tail_call_mode);
98
rmcilroy 2016/07/12 09:36:20 nit - add back newline
99 // Call constructor |constructor| with |arg_count| arguments (not 110 // Call constructor |constructor| with |arg_count| arguments (not
100 // including receiver) and the first argument located at 111 // including receiver) and the first argument located at
101 // |first_arg|. The |new_target| is the same as the 112 // |first_arg|. The |new_target| is the same as the
102 // |constructor| for the new keyword, but differs for the super 113 // |constructor| for the new keyword, but differs for the super
103 // keyword. 114 // keyword.
104 compiler::Node* CallConstruct(compiler::Node* constructor, 115 compiler::Node* CallConstruct(compiler::Node* constructor,
105 compiler::Node* context, 116 compiler::Node* context,
106 compiler::Node* new_target, 117 compiler::Node* new_target,
107 compiler::Node* first_arg, 118 compiler::Node* first_arg,
108 compiler::Node* arg_count); 119 compiler::Node* arg_count);
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after
247 compiler::Node* stack_pointer_before_call_; 258 compiler::Node* stack_pointer_before_call_;
248 259
249 DISALLOW_COPY_AND_ASSIGN(InterpreterAssembler); 260 DISALLOW_COPY_AND_ASSIGN(InterpreterAssembler);
250 }; 261 };
251 262
252 } // namespace interpreter 263 } // namespace interpreter
253 } // namespace internal 264 } // namespace internal
254 } // namespace v8 265 } // namespace v8
255 266
256 #endif // V8_INTERPRETER_INTERPRETER_ASSEMBLER_H_ 267 #endif // V8_INTERPRETER_INTERPRETER_ASSEMBLER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698