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

Side by Side Diff: src/x64/lithium-codegen-x64.cc

Issue 1287983002: [compiler] Remove broken support for undetectable strings. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 4 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/mips64/lithium-codegen-mips64.cc ('k') | no next file » | 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 "src/v8.h" 5 #include "src/v8.h"
6 6
7 #if V8_TARGET_ARCH_X64 7 #if V8_TARGET_ARCH_X64
8 8
9 #include "src/base/bits.h" 9 #include "src/base/bits.h"
10 #include "src/code-factory.h" 10 #include "src/code-factory.h"
(...skipping 5679 matching lines...) Expand 10 before | Expand all | Expand 10 after
5690 if (String::Equals(type_name, factory->number_string())) { 5690 if (String::Equals(type_name, factory->number_string())) {
5691 __ JumpIfSmi(input, true_label, true_distance); 5691 __ JumpIfSmi(input, true_label, true_distance);
5692 __ CompareRoot(FieldOperand(input, HeapObject::kMapOffset), 5692 __ CompareRoot(FieldOperand(input, HeapObject::kMapOffset),
5693 Heap::kHeapNumberMapRootIndex); 5693 Heap::kHeapNumberMapRootIndex);
5694 5694
5695 final_branch_condition = equal; 5695 final_branch_condition = equal;
5696 5696
5697 } else if (String::Equals(type_name, factory->string_string())) { 5697 } else if (String::Equals(type_name, factory->string_string())) {
5698 __ JumpIfSmi(input, false_label, false_distance); 5698 __ JumpIfSmi(input, false_label, false_distance);
5699 __ CmpObjectType(input, FIRST_NONSTRING_TYPE, input); 5699 __ CmpObjectType(input, FIRST_NONSTRING_TYPE, input);
5700 __ j(above_equal, false_label, false_distance); 5700 final_branch_condition = below;
5701 __ testb(FieldOperand(input, Map::kBitFieldOffset),
5702 Immediate(1 << Map::kIsUndetectable));
5703 final_branch_condition = zero;
5704 5701
5705 } else if (String::Equals(type_name, factory->symbol_string())) { 5702 } else if (String::Equals(type_name, factory->symbol_string())) {
5706 __ JumpIfSmi(input, false_label, false_distance); 5703 __ JumpIfSmi(input, false_label, false_distance);
5707 __ CmpObjectType(input, SYMBOL_TYPE, input); 5704 __ CmpObjectType(input, SYMBOL_TYPE, input);
5708 final_branch_condition = equal; 5705 final_branch_condition = equal;
5709 5706
5710 } else if (String::Equals(type_name, factory->boolean_string())) { 5707 } else if (String::Equals(type_name, factory->boolean_string())) {
5711 __ CompareRoot(input, Heap::kTrueValueRootIndex); 5708 __ CompareRoot(input, Heap::kTrueValueRootIndex);
5712 __ j(equal, true_label, true_distance); 5709 __ j(equal, true_label, true_distance);
5713 __ CompareRoot(input, Heap::kFalseValueRootIndex); 5710 __ CompareRoot(input, Heap::kFalseValueRootIndex);
(...skipping 338 matching lines...) Expand 10 before | Expand all | Expand 10 after
6052 RecordSafepoint(Safepoint::kNoLazyDeopt); 6049 RecordSafepoint(Safepoint::kNoLazyDeopt);
6053 } 6050 }
6054 6051
6055 6052
6056 #undef __ 6053 #undef __
6057 6054
6058 } // namespace internal 6055 } // namespace internal
6059 } // namespace v8 6056 } // namespace v8
6060 6057
6061 #endif // V8_TARGET_ARCH_X64 6058 #endif // V8_TARGET_ARCH_X64
OLDNEW
« no previous file with comments | « src/mips64/lithium-codegen-mips64.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698