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

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

Issue 1584813002: [Interpreter] Make ForInPrepare take a kRegTriple8 and ForInNext take kRegPair8 for cache state (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@int_forin
Patch Set: Fix release Created 4 years, 11 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/interpreter-assembler.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/bytecodes.h" 9 #include "src/interpreter/bytecodes.h"
10 #include "src/interpreter/constant-array-builder.h" 10 #include "src/interpreter/constant-array-builder.h"
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after
214 BytecodeArrayBuilder& Jump(BytecodeLabel* label); 214 BytecodeArrayBuilder& Jump(BytecodeLabel* label);
215 BytecodeArrayBuilder& JumpIfTrue(BytecodeLabel* label); 215 BytecodeArrayBuilder& JumpIfTrue(BytecodeLabel* label);
216 BytecodeArrayBuilder& JumpIfFalse(BytecodeLabel* label); 216 BytecodeArrayBuilder& JumpIfFalse(BytecodeLabel* label);
217 BytecodeArrayBuilder& JumpIfNull(BytecodeLabel* label); 217 BytecodeArrayBuilder& JumpIfNull(BytecodeLabel* label);
218 BytecodeArrayBuilder& JumpIfUndefined(BytecodeLabel* label); 218 BytecodeArrayBuilder& JumpIfUndefined(BytecodeLabel* label);
219 219
220 BytecodeArrayBuilder& Throw(); 220 BytecodeArrayBuilder& Throw();
221 BytecodeArrayBuilder& Return(); 221 BytecodeArrayBuilder& Return();
222 222
223 // Complex flow control. 223 // Complex flow control.
224 BytecodeArrayBuilder& ForInPrepare(Register cache_type, Register cache_array, 224 BytecodeArrayBuilder& ForInPrepare(Register cache_info_triple);
225 Register cache_length);
226 BytecodeArrayBuilder& ForInDone(Register index, Register cache_length); 225 BytecodeArrayBuilder& ForInDone(Register index, Register cache_length);
227 BytecodeArrayBuilder& ForInNext(Register receiver, Register cache_type, 226 BytecodeArrayBuilder& ForInNext(Register receiver, Register index,
228 Register cache_array, Register index); 227 Register cache_type_array_pair);
229 BytecodeArrayBuilder& ForInStep(Register index); 228 BytecodeArrayBuilder& ForInStep(Register index);
230 229
231 // Accessors 230 // Accessors
232 Zone* zone() const { return zone_; } 231 Zone* zone() const { return zone_; }
233 232
234 private: 233 private:
235 ZoneVector<uint8_t>* bytecodes() { return &bytecodes_; } 234 ZoneVector<uint8_t>* bytecodes() { return &bytecodes_; }
236 const ZoneVector<uint8_t>* bytecodes() const { return &bytecodes_; } 235 const ZoneVector<uint8_t>* bytecodes() const { return &bytecodes_; }
237 Isolate* isolate() const { return isolate_; } 236 Isolate* isolate() const { return isolate_; }
238 ConstantArrayBuilder* constant_array_builder() { 237 ConstantArrayBuilder* constant_array_builder() {
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
378 size_t offset_; 377 size_t offset_;
379 378
380 friend class BytecodeArrayBuilder; 379 friend class BytecodeArrayBuilder;
381 }; 380 };
382 381
383 } // namespace interpreter 382 } // namespace interpreter
384 } // namespace internal 383 } // namespace internal
385 } // namespace v8 384 } // namespace v8
386 385
387 #endif // V8_INTERPRETER_BYTECODE_ARRAY_BUILDER_H_ 386 #endif // V8_INTERPRETER_BYTECODE_ARRAY_BUILDER_H_
OLDNEW
« no previous file with comments | « src/compiler/interpreter-assembler.cc ('k') | src/interpreter/bytecode-array-builder.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698