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

Side by Side Diff: src/interpreter/interpreter.cc

Issue 2650943011: [debug] remove StepFrame (Closed)
Patch Set: Created 3 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
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 #include "src/interpreter/interpreter.h" 5 #include "src/interpreter/interpreter.h"
6 6
7 #include <fstream> 7 #include <fstream>
8 #include <memory> 8 #include <memory>
9 9
10 #include "src/ast/prettyprinter.h" 10 #include "src/ast/prettyprinter.h"
(...skipping 3234 matching lines...) Expand 10 before | Expand all | Expand 10 after
3245 // offset (for debugging purposes) into the generator. 3245 // offset (for debugging purposes) into the generator.
3246 void Interpreter::DoSuspendGenerator(InterpreterAssembler* assembler) { 3246 void Interpreter::DoSuspendGenerator(InterpreterAssembler* assembler) {
3247 Node* generator_reg = __ BytecodeOperandReg(0); 3247 Node* generator_reg = __ BytecodeOperandReg(0);
3248 Node* generator = __ LoadRegister(generator_reg); 3248 Node* generator = __ LoadRegister(generator_reg);
3249 3249
3250 Label if_stepping(assembler, Label::kDeferred), ok(assembler); 3250 Label if_stepping(assembler, Label::kDeferred), ok(assembler);
3251 Node* step_action_address = __ ExternalConstant( 3251 Node* step_action_address = __ ExternalConstant(
3252 ExternalReference::debug_last_step_action_address(isolate_)); 3252 ExternalReference::debug_last_step_action_address(isolate_));
3253 Node* step_action = __ Load(MachineType::Int8(), step_action_address); 3253 Node* step_action = __ Load(MachineType::Int8(), step_action_address);
3254 STATIC_ASSERT(StepIn > StepNext); 3254 STATIC_ASSERT(StepIn > StepNext);
3255 STATIC_ASSERT(StepFrame > StepNext); 3255 STATIC_ASSERT(LastStepAction == StepIn);
3256 STATIC_ASSERT(LastStepAction == StepFrame);
3257 Node* step_next = __ Int32Constant(StepNext); 3256 Node* step_next = __ Int32Constant(StepNext);
3258 __ Branch(__ Int32LessThanOrEqual(step_next, step_action), &if_stepping, &ok); 3257 __ Branch(__ Int32LessThanOrEqual(step_next, step_action), &if_stepping, &ok);
3259 __ Bind(&ok); 3258 __ Bind(&ok);
3260 3259
3261 Node* array = 3260 Node* array =
3262 __ LoadObjectField(generator, JSGeneratorObject::kRegisterFileOffset); 3261 __ LoadObjectField(generator, JSGeneratorObject::kRegisterFileOffset);
3263 Node* context = __ GetContext(); 3262 Node* context = __ GetContext();
3264 Node* state = __ GetAccumulator(); 3263 Node* state = __ GetAccumulator();
3265 3264
3266 __ ExportRegisterFile(array); 3265 __ ExportRegisterFile(array);
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
3299 __ StoreObjectField(generator, JSGeneratorObject::kContinuationOffset, 3298 __ StoreObjectField(generator, JSGeneratorObject::kContinuationOffset,
3300 __ SmiTag(new_state)); 3299 __ SmiTag(new_state));
3301 __ SetAccumulator(old_state); 3300 __ SetAccumulator(old_state);
3302 3301
3303 __ Dispatch(); 3302 __ Dispatch();
3304 } 3303 }
3305 3304
3306 } // namespace interpreter 3305 } // namespace interpreter
3307 } // namespace internal 3306 } // namespace internal
3308 } // namespace v8 3307 } // namespace v8
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698