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

Side by Side Diff: src/objects.cc

Issue 2031873002: [deoptimizer] Support float registers and slots. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Fix compile. Created 4 years, 6 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') | src/utils.h » ('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 #include "src/objects.h" 5 #include "src/objects.h"
6 6
7 #include <cmath> 7 #include <cmath>
8 #include <iomanip> 8 #include <iomanip>
9 #include <sstream> 9 #include <sstream>
10 10
(...skipping 13956 matching lines...) Expand 10 before | Expand all | Expand 10 after
13967 break; 13967 break;
13968 } 13968 }
13969 13969
13970 case Translation::BOOL_REGISTER: { 13970 case Translation::BOOL_REGISTER: {
13971 int reg_code = iterator.Next(); 13971 int reg_code = iterator.Next();
13972 os << "{input=" << converter.NameOfCPURegister(reg_code) 13972 os << "{input=" << converter.NameOfCPURegister(reg_code)
13973 << " (bool)}"; 13973 << " (bool)}";
13974 break; 13974 break;
13975 } 13975 }
13976 13976
13977 case Translation::FLOAT_REGISTER: {
13978 int reg_code = iterator.Next();
13979 os << "{input=" << FloatRegister::from_code(reg_code).ToString()
13980 << "}";
13981 break;
13982 }
13983
13977 case Translation::DOUBLE_REGISTER: { 13984 case Translation::DOUBLE_REGISTER: {
13978 int reg_code = iterator.Next(); 13985 int reg_code = iterator.Next();
13979 os << "{input=" << DoubleRegister::from_code(reg_code).ToString() 13986 os << "{input=" << DoubleRegister::from_code(reg_code).ToString()
13980 << "}"; 13987 << "}";
13981 break; 13988 break;
13982 } 13989 }
13983 13990
13984 case Translation::STACK_SLOT: { 13991 case Translation::STACK_SLOT: {
13985 int input_slot_index = iterator.Next(); 13992 int input_slot_index = iterator.Next();
13986 os << "{input=" << input_slot_index << "}"; 13993 os << "{input=" << input_slot_index << "}";
(...skipping 11 matching lines...) Expand all
13998 os << "{input=" << input_slot_index << " (unsigned)}"; 14005 os << "{input=" << input_slot_index << " (unsigned)}";
13999 break; 14006 break;
14000 } 14007 }
14001 14008
14002 case Translation::BOOL_STACK_SLOT: { 14009 case Translation::BOOL_STACK_SLOT: {
14003 int input_slot_index = iterator.Next(); 14010 int input_slot_index = iterator.Next();
14004 os << "{input=" << input_slot_index << " (bool)}"; 14011 os << "{input=" << input_slot_index << " (bool)}";
14005 break; 14012 break;
14006 } 14013 }
14007 14014
14015 case Translation::FLOAT_STACK_SLOT:
14008 case Translation::DOUBLE_STACK_SLOT: { 14016 case Translation::DOUBLE_STACK_SLOT: {
14009 int input_slot_index = iterator.Next(); 14017 int input_slot_index = iterator.Next();
14010 os << "{input=" << input_slot_index << "}"; 14018 os << "{input=" << input_slot_index << "}";
14011 break; 14019 break;
14012 } 14020 }
14013 14021
14014 case Translation::LITERAL: { 14022 case Translation::LITERAL: {
14015 int literal_index = iterator.Next(); 14023 int literal_index = iterator.Next();
14016 Object* literal_value = LiteralArray()->get(literal_index); 14024 Object* literal_value = LiteralArray()->get(literal_index);
14017 os << "{literal_id=" << literal_index << " (" << Brief(literal_value) 14025 os << "{literal_id=" << literal_index << " (" << Brief(literal_value)
(...skipping 4722 matching lines...) Expand 10 before | Expand all | Expand 10 after
18740 if (cell->value() != *new_value) { 18748 if (cell->value() != *new_value) {
18741 cell->set_value(*new_value); 18749 cell->set_value(*new_value);
18742 Isolate* isolate = cell->GetIsolate(); 18750 Isolate* isolate = cell->GetIsolate();
18743 cell->dependent_code()->DeoptimizeDependentCodeGroup( 18751 cell->dependent_code()->DeoptimizeDependentCodeGroup(
18744 isolate, DependentCode::kPropertyCellChangedGroup); 18752 isolate, DependentCode::kPropertyCellChangedGroup);
18745 } 18753 }
18746 } 18754 }
18747 18755
18748 } // namespace internal 18756 } // namespace internal
18749 } // namespace v8 18757 } // namespace v8
OLDNEW
« no previous file with comments | « src/deoptimizer.cc ('k') | src/utils.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698