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

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

Issue 2365223003: Revert of [compiler] Properly guard the speculative optimizations for instanceof. (Closed)
Patch Set: Created 4 years, 2 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 1740 matching lines...) Expand 10 before | Expand all | Expand 10 after
1751 // object referenced by the accumulator. 1751 // object referenced by the accumulator.
1752 void Interpreter::DoTestIn(InterpreterAssembler* assembler) { 1752 void Interpreter::DoTestIn(InterpreterAssembler* assembler) {
1753 DoBinaryOp<HasPropertyStub>(assembler); 1753 DoBinaryOp<HasPropertyStub>(assembler);
1754 } 1754 }
1755 1755
1756 // TestInstanceOf <src> 1756 // TestInstanceOf <src>
1757 // 1757 //
1758 // Test if the object referenced by the <src> register is an an instance of type 1758 // Test if the object referenced by the <src> register is an an instance of type
1759 // referenced by the accumulator. 1759 // referenced by the accumulator.
1760 void Interpreter::DoTestInstanceOf(InterpreterAssembler* assembler) { 1760 void Interpreter::DoTestInstanceOf(InterpreterAssembler* assembler) {
1761 DoBinaryOpWithFeedback<InstanceOfWithFeedbackStub>(assembler); 1761 DoBinaryOp<InstanceOfStub>(assembler);
1762 } 1762 }
1763 1763
1764 // Jump <imm> 1764 // Jump <imm>
1765 // 1765 //
1766 // Jump by number of bytes represented by the immediate operand |imm|. 1766 // Jump by number of bytes represented by the immediate operand |imm|.
1767 void Interpreter::DoJump(InterpreterAssembler* assembler) { 1767 void Interpreter::DoJump(InterpreterAssembler* assembler) {
1768 Node* relative_jump = __ BytecodeOperandImm(0); 1768 Node* relative_jump = __ BytecodeOperandImm(0);
1769 __ Jump(relative_jump); 1769 __ Jump(relative_jump);
1770 } 1770 }
1771 1771
(...skipping 827 matching lines...) Expand 10 before | Expand all | Expand 10 after
2599 __ StoreObjectField(generator, JSGeneratorObject::kContinuationOffset, 2599 __ StoreObjectField(generator, JSGeneratorObject::kContinuationOffset,
2600 __ SmiTag(new_state)); 2600 __ SmiTag(new_state));
2601 __ SetAccumulator(old_state); 2601 __ SetAccumulator(old_state);
2602 2602
2603 __ Dispatch(); 2603 __ Dispatch();
2604 } 2604 }
2605 2605
2606 } // namespace interpreter 2606 } // namespace interpreter
2607 } // namespace internal 2607 } // namespace internal
2608 } // namespace v8 2608 } // namespace v8
OLDNEW
« no previous file with comments | « src/interpreter/bytecodes.h ('k') | test/cctest/interpreter/bytecode_expectations/IfConditions.golden » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698