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

Side by Side Diff: src/code-stubs.cc

Issue 1780193003: [turbofan] Byte and word memory operands in x64 cmp/test. Fixes arithmetic_op_8 in assembler-x64.cc (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Fixes cmpb. Created 4 years, 9 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 | « no previous file | src/compiler/code-stub-assembler.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 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 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/code-stubs.h" 5 #include "src/code-stubs.h"
6 6
7 #include <sstream> 7 #include <sstream>
8 8
9 #include "src/bootstrapper.h" 9 #include "src/bootstrapper.h"
10 #include "src/code-factory.h" 10 #include "src/code-factory.h"
(...skipping 1835 matching lines...) Expand 10 before | Expand all | Expand 10 after
1846 1846
1847 assembler->Bind(&if_valueissame); 1847 assembler->Bind(&if_valueissame);
1848 { 1848 {
1849 // Advance to next character. 1849 // Advance to next character.
1850 var_offset.Bind( 1850 var_offset.Bind(
1851 assembler->IntPtrAdd(offset, assembler->IntPtrConstant(1))); 1851 assembler->IntPtrAdd(offset, assembler->IntPtrConstant(1)));
1852 } 1852 }
1853 assembler->Goto(&loop); 1853 assembler->Goto(&loop);
1854 1854
1855 assembler->Bind(&if_valueisnotsame); 1855 assembler->Bind(&if_valueisnotsame);
1856 assembler->BranchIfInt32LessThan(lhs_value, rhs_value, &if_less, 1856 assembler->BranchIf(assembler->Uint32LessThan(lhs_value, rhs_value),
1857 &if_greater); 1857 &if_less, &if_greater);
1858 } 1858 }
1859 1859
1860 assembler->Bind(&if_done); 1860 assembler->Bind(&if_done);
1861 { 1861 {
1862 // All characters up to the min length are equal, decide based on 1862 // All characters up to the min length are equal, decide based on
1863 // string length. 1863 // string length.
1864 Label if_lengthisequal(assembler), if_lengthisnotequal(assembler); 1864 Label if_lengthisequal(assembler), if_lengthisnotequal(assembler);
1865 assembler->Branch(assembler->SmiEqual(lhs_length, rhs_length), 1865 assembler->Branch(assembler->SmiEqual(lhs_length, rhs_length),
1866 &if_lengthisequal, &if_lengthisnotequal); 1866 &if_lengthisequal, &if_lengthisnotequal);
1867 1867
(...skipping 888 matching lines...) Expand 10 before | Expand all | Expand 10 after
2756 if (type->Is(Type::UntaggedPointer())) { 2756 if (type->Is(Type::UntaggedPointer())) {
2757 return Representation::External(); 2757 return Representation::External();
2758 } 2758 }
2759 2759
2760 DCHECK(!type->Is(Type::Untagged())); 2760 DCHECK(!type->Is(Type::Untagged()));
2761 return Representation::Tagged(); 2761 return Representation::Tagged();
2762 } 2762 }
2763 2763
2764 } // namespace internal 2764 } // namespace internal
2765 } // namespace v8 2765 } // namespace v8
OLDNEW
« no previous file with comments | « no previous file | src/compiler/code-stub-assembler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698