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

Side by Side Diff: src/interpreter/bytecode-array-builder.h

Issue 1979523002: [interpreter] Remove BytecodeArrayBuilder::Illegal(). (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Rebase Created 4 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/bytecode-graph-builder.cc ('k') | src/interpreter/bytecode-array-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 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_BYTECODE_ARRAY_BUILDER_H_ 5 #ifndef V8_INTERPRETER_BYTECODE_ARRAY_BUILDER_H_
6 #define V8_INTERPRETER_BYTECODE_ARRAY_BUILDER_H_ 6 #define V8_INTERPRETER_BYTECODE_ARRAY_BUILDER_H_
7 7
8 #include "src/ast/ast.h" 8 #include "src/ast/ast.h"
9 #include "src/interpreter/bytecode-array-writer.h" 9 #include "src/interpreter/bytecode-array-writer.h"
10 #include "src/interpreter/bytecode-register-allocator.h" 10 #include "src/interpreter/bytecode-register-allocator.h"
(...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after
225 BytecodeArrayBuilder& JumpIfNotHole(BytecodeLabel* label); 225 BytecodeArrayBuilder& JumpIfNotHole(BytecodeLabel* label);
226 BytecodeArrayBuilder& JumpIfNull(BytecodeLabel* label); 226 BytecodeArrayBuilder& JumpIfNull(BytecodeLabel* label);
227 BytecodeArrayBuilder& JumpIfUndefined(BytecodeLabel* label); 227 BytecodeArrayBuilder& JumpIfUndefined(BytecodeLabel* label);
228 228
229 BytecodeArrayBuilder& StackCheck(int position); 229 BytecodeArrayBuilder& StackCheck(int position);
230 230
231 BytecodeArrayBuilder& Throw(); 231 BytecodeArrayBuilder& Throw();
232 BytecodeArrayBuilder& ReThrow(); 232 BytecodeArrayBuilder& ReThrow();
233 BytecodeArrayBuilder& Return(); 233 BytecodeArrayBuilder& Return();
234 234
235 BytecodeArrayBuilder& Illegal();
236
237 // Debugger. 235 // Debugger.
238 BytecodeArrayBuilder& Debugger(); 236 BytecodeArrayBuilder& Debugger();
239 237
240 // Complex flow control. 238 // Complex flow control.
241 BytecodeArrayBuilder& ForInPrepare(Register cache_info_triple); 239 BytecodeArrayBuilder& ForInPrepare(Register cache_info_triple);
242 BytecodeArrayBuilder& ForInDone(Register index, Register cache_length); 240 BytecodeArrayBuilder& ForInDone(Register index, Register cache_length);
243 BytecodeArrayBuilder& ForInNext(Register receiver, Register index, 241 BytecodeArrayBuilder& ForInNext(Register receiver, Register index,
244 Register cache_type_array_pair, 242 Register cache_type_array_pair,
245 int feedback_slot); 243 int feedback_slot);
246 BytecodeArrayBuilder& ForInStep(Register index); 244 BytecodeArrayBuilder& ForInStep(Register index);
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
327 325
328 // Attach latest source position to |node|. 326 // Attach latest source position to |node|.
329 void AttachSourceInfo(BytecodeNode* node); 327 void AttachSourceInfo(BytecodeNode* node);
330 328
331 // Set position for return. 329 // Set position for return.
332 void SetReturnPosition(); 330 void SetReturnPosition();
333 331
334 // Gets a constant pool entry for the |object|. 332 // Gets a constant pool entry for the |object|.
335 size_t GetConstantPoolEntry(Handle<Object> object); 333 size_t GetConstantPoolEntry(Handle<Object> object);
336 334
335 // Not implemented as the illegal bytecode is used inside internally
336 // to indicate a bytecode field is not valid or an error has occured
337 // during bytecode generation.
338 BytecodeArrayBuilder& Illegal();
339
337 Isolate* isolate() const { return isolate_; } 340 Isolate* isolate() const { return isolate_; }
338 BytecodeArrayWriter* bytecode_array_writer() { 341 BytecodeArrayWriter* bytecode_array_writer() {
339 return &bytecode_array_writer_; 342 return &bytecode_array_writer_;
340 } 343 }
341 BytecodePipelineStage* pipeline() { return pipeline_; } 344 BytecodePipelineStage* pipeline() { return pipeline_; }
342 ConstantArrayBuilder* constant_array_builder() { 345 ConstantArrayBuilder* constant_array_builder() {
343 return &constant_array_builder_; 346 return &constant_array_builder_;
344 } 347 }
345 const ConstantArrayBuilder* constant_array_builder() const { 348 const ConstantArrayBuilder* constant_array_builder() const {
346 return &constant_array_builder_; 349 return &constant_array_builder_;
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
411 size_t offset_; 414 size_t offset_;
412 415
413 friend class BytecodeArrayBuilder; 416 friend class BytecodeArrayBuilder;
414 }; 417 };
415 418
416 } // namespace interpreter 419 } // namespace interpreter
417 } // namespace internal 420 } // namespace internal
418 } // namespace v8 421 } // namespace v8
419 422
420 #endif // V8_INTERPRETER_BYTECODE_ARRAY_BUILDER_H_ 423 #endif // V8_INTERPRETER_BYTECODE_ARRAY_BUILDER_H_
OLDNEW
« no previous file with comments | « src/compiler/bytecode-graph-builder.cc ('k') | src/interpreter/bytecode-array-builder.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698