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

Side by Side Diff: src/objects.cc

Issue 1055453006: Materialize booleans in the turbofan deoptimizer. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 8 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/deoptimizer.cc ('k') | test/mjsunit/mjsunit.status » ('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 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 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 <iomanip> 5 #include <iomanip>
6 #include <sstream> 6 #include <sstream>
7 7
8 #include "src/v8.h" 8 #include "src/v8.h"
9 9
10 #include "src/accessors.h" 10 #include "src/accessors.h"
(...skipping 11598 matching lines...) Expand 10 before | Expand all | Expand 10 after
11609 break; 11609 break;
11610 } 11610 }
11611 11611
11612 case Translation::UINT32_REGISTER: { 11612 case Translation::UINT32_REGISTER: {
11613 int reg_code = iterator.Next(); 11613 int reg_code = iterator.Next();
11614 os << "{input=" << converter.NameOfCPURegister(reg_code) 11614 os << "{input=" << converter.NameOfCPURegister(reg_code)
11615 << " (unsigned)}"; 11615 << " (unsigned)}";
11616 break; 11616 break;
11617 } 11617 }
11618 11618
11619 case Translation::BOOL_REGISTER: {
11620 int reg_code = iterator.Next();
11621 os << "{input=" << converter.NameOfCPURegister(reg_code)
11622 << " (bool)}";
11623 break;
11624 }
11625
11619 case Translation::DOUBLE_REGISTER: { 11626 case Translation::DOUBLE_REGISTER: {
11620 int reg_code = iterator.Next(); 11627 int reg_code = iterator.Next();
11621 os << "{input=" << DoubleRegister::AllocationIndexToString(reg_code) 11628 os << "{input=" << DoubleRegister::AllocationIndexToString(reg_code)
11622 << "}"; 11629 << "}";
11623 break; 11630 break;
11624 } 11631 }
11625 11632
11626 case Translation::STACK_SLOT: { 11633 case Translation::STACK_SLOT: {
11627 int input_slot_index = iterator.Next(); 11634 int input_slot_index = iterator.Next();
11628 os << "{input=" << input_slot_index << "}"; 11635 os << "{input=" << input_slot_index << "}";
11629 break; 11636 break;
11630 } 11637 }
11631 11638
11632 case Translation::INT32_STACK_SLOT: { 11639 case Translation::INT32_STACK_SLOT: {
11633 int input_slot_index = iterator.Next(); 11640 int input_slot_index = iterator.Next();
11634 os << "{input=" << input_slot_index << "}"; 11641 os << "{input=" << input_slot_index << "}";
11635 break; 11642 break;
11636 } 11643 }
11637 11644
11638 case Translation::UINT32_STACK_SLOT: { 11645 case Translation::UINT32_STACK_SLOT: {
11639 int input_slot_index = iterator.Next(); 11646 int input_slot_index = iterator.Next();
11640 os << "{input=" << input_slot_index << " (unsigned)}"; 11647 os << "{input=" << input_slot_index << " (unsigned)}";
11641 break; 11648 break;
11642 } 11649 }
11643 11650
11651 case Translation::BOOL_STACK_SLOT: {
11652 int input_slot_index = iterator.Next();
11653 os << "{input=" << input_slot_index << " (bool)}";
11654 break;
11655 }
11656
11644 case Translation::DOUBLE_STACK_SLOT: { 11657 case Translation::DOUBLE_STACK_SLOT: {
11645 int input_slot_index = iterator.Next(); 11658 int input_slot_index = iterator.Next();
11646 os << "{input=" << input_slot_index << "}"; 11659 os << "{input=" << input_slot_index << "}";
11647 break; 11660 break;
11648 } 11661 }
11649 11662
11650 case Translation::LITERAL: { 11663 case Translation::LITERAL: {
11651 unsigned literal_index = iterator.Next(); 11664 unsigned literal_index = iterator.Next();
11652 os << "{literal_id=" << literal_index << "}"; 11665 os << "{literal_id=" << literal_index << "}";
11653 break; 11666 break;
(...skipping 5463 matching lines...) Expand 10 before | Expand all | Expand 10 after
17117 void PropertyCell::SetValueWithInvalidation(Handle<PropertyCell> cell, 17130 void PropertyCell::SetValueWithInvalidation(Handle<PropertyCell> cell,
17118 Handle<Object> new_value) { 17131 Handle<Object> new_value) {
17119 if (cell->value() != *new_value) { 17132 if (cell->value() != *new_value) {
17120 cell->set_value(*new_value); 17133 cell->set_value(*new_value);
17121 Isolate* isolate = cell->GetIsolate(); 17134 Isolate* isolate = cell->GetIsolate();
17122 cell->dependent_code()->DeoptimizeDependentCodeGroup( 17135 cell->dependent_code()->DeoptimizeDependentCodeGroup(
17123 isolate, DependentCode::kPropertyCellChangedGroup); 17136 isolate, DependentCode::kPropertyCellChangedGroup);
17124 } 17137 }
17125 } 17138 }
17126 } } // namespace v8::internal 17139 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/deoptimizer.cc ('k') | test/mjsunit/mjsunit.status » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698