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

Side by Side Diff: src/arm64/macro-assembler-arm64.cc

Issue 592113002: Fix method dispatch in Keyed/StoreIC, and JumpIfNotUniqueName usage (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 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 | Annotate | Revision Log
« no previous file with comments | « src/arm64/macro-assembler-arm64.h ('k') | src/ia32/code-stubs-ia32.cc » ('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 "src/v8.h" 5 #include "src/v8.h"
6 6
7 #if V8_TARGET_ARCH_ARM64 7 #if V8_TARGET_ARCH_ARM64
8 8
9 #include "src/base/bits.h" 9 #include "src/base/bits.h"
10 #include "src/base/division-by-constant.h" 10 #include "src/base/division-by-constant.h"
(...skipping 2750 matching lines...) Expand 10 before | Expand all | Expand 10 after
2761 const int kFlatOneByteStringTag = 2761 const int kFlatOneByteStringTag =
2762 kStringTag | kOneByteStringTag | kSeqStringTag; 2762 kStringTag | kOneByteStringTag | kSeqStringTag;
2763 And(scratch1, first, kFlatOneByteStringMask); 2763 And(scratch1, first, kFlatOneByteStringMask);
2764 And(scratch2, second, kFlatOneByteStringMask); 2764 And(scratch2, second, kFlatOneByteStringMask);
2765 Cmp(scratch1, kFlatOneByteStringTag); 2765 Cmp(scratch1, kFlatOneByteStringTag);
2766 Ccmp(scratch2, kFlatOneByteStringTag, NoFlag, eq); 2766 Ccmp(scratch2, kFlatOneByteStringTag, NoFlag, eq);
2767 B(ne, failure); 2767 B(ne, failure);
2768 } 2768 }
2769 2769
2770 2770
2771 void MacroAssembler::JumpIfNotUniqueName(Register type, 2771 void MacroAssembler::JumpIfNotUniqueNameInstanceType(Register type,
2772 Label* not_unique_name) { 2772 Label* not_unique_name) {
2773 STATIC_ASSERT((kInternalizedTag == 0) && (kStringTag == 0)); 2773 STATIC_ASSERT((kInternalizedTag == 0) && (kStringTag == 0));
2774 // if ((type is string && type is internalized) || type == SYMBOL_TYPE) { 2774 // if ((type is string && type is internalized) || type == SYMBOL_TYPE) {
2775 // continue 2775 // continue
2776 // } else { 2776 // } else {
2777 // goto not_unique_name 2777 // goto not_unique_name
2778 // } 2778 // }
2779 Tst(type, kIsNotStringMask | kIsNotInternalizedMask); 2779 Tst(type, kIsNotStringMask | kIsNotInternalizedMask);
2780 Ccmp(type, SYMBOL_TYPE, ZFlag, ne); 2780 Ccmp(type, SYMBOL_TYPE, ZFlag, ne);
2781 B(ne, not_unique_name); 2781 B(ne, not_unique_name);
2782 } 2782 }
(...skipping 2613 matching lines...) Expand 10 before | Expand all | Expand 10 after
5396 } 5396 }
5397 } 5397 }
5398 5398
5399 5399
5400 #undef __ 5400 #undef __
5401 5401
5402 5402
5403 } } // namespace v8::internal 5403 } } // namespace v8::internal
5404 5404
5405 #endif // V8_TARGET_ARCH_ARM64 5405 #endif // V8_TARGET_ARCH_ARM64
OLDNEW
« no previous file with comments | « src/arm64/macro-assembler-arm64.h ('k') | src/ia32/code-stubs-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698