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

Side by Side Diff: src/ic/mips64/ic-compiler-mips64.cc

Issue 1319123004: Reland Vector ICs: platform support for vector-based stores. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Fix for arm[64] release build failure. Created 5 years, 3 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/ic/mips64/handler-compiler-mips64.cc ('k') | src/ic/mips64/ic-mips64.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 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 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 #if V8_TARGET_ARCH_MIPS64 5 #if V8_TARGET_ARCH_MIPS64
6 6
7 #include "src/ic/ic.h" 7 #include "src/ic/ic.h"
8 #include "src/ic/ic-compiler.h" 8 #include "src/ic/ic-compiler.h"
9 9
10 namespace v8 { 10 namespace v8 {
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
93 for (int i = 0; i < receiver_count; ++i) { 93 for (int i = 0; i < receiver_count; ++i) {
94 Handle<WeakCell> cell = Map::WeakCellForMap(receiver_maps->at(i)); 94 Handle<WeakCell> cell = Map::WeakCellForMap(receiver_maps->at(i));
95 __ GetWeakValue(match, cell); 95 __ GetWeakValue(match, cell);
96 if (transitioned_maps->at(i).is_null()) { 96 if (transitioned_maps->at(i).is_null()) {
97 __ Jump(handler_stubs->at(i), RelocInfo::CODE_TARGET, eq, match, 97 __ Jump(handler_stubs->at(i), RelocInfo::CODE_TARGET, eq, match,
98 Operand(map_reg)); 98 Operand(map_reg));
99 } else { 99 } else {
100 Label next_map; 100 Label next_map;
101 __ Branch(&next_map, ne, match, Operand(map_reg)); 101 __ Branch(&next_map, ne, match, Operand(map_reg));
102 Handle<WeakCell> cell = Map::WeakCellForMap(transitioned_maps->at(i)); 102 Handle<WeakCell> cell = Map::WeakCellForMap(transitioned_maps->at(i));
103 __ LoadWeakValue(transition_map(), cell, &miss); 103 Register transition_map = scratch1();
104 DCHECK(!FLAG_vector_stores &&
105 transition_map.is(StoreTransitionDescriptor::MapRegister()));
106 __ LoadWeakValue(transition_map, cell, &miss);
104 __ Jump(handler_stubs->at(i), RelocInfo::CODE_TARGET); 107 __ Jump(handler_stubs->at(i), RelocInfo::CODE_TARGET);
105 __ bind(&next_map); 108 __ bind(&next_map);
106 } 109 }
107 } 110 }
108 111
109 __ bind(&miss); 112 __ bind(&miss);
110 TailCallBuiltin(masm(), MissBuiltin(kind())); 113 TailCallBuiltin(masm(), MissBuiltin(kind()));
111 114
112 // Return the generated code. 115 // Return the generated code.
113 return GetCode(kind(), Code::NORMAL, factory()->empty_string(), POLYMORPHIC); 116 return GetCode(kind(), Code::NORMAL, factory()->empty_string(), POLYMORPHIC);
(...skipping 15 matching lines...) Expand all
129 // Do tail-call to runtime routine. 132 // Do tail-call to runtime routine.
130 __ TailCallRuntime(Runtime::kSetProperty, 4, 1); 133 __ TailCallRuntime(Runtime::kSetProperty, 4, 1);
131 } 134 }
132 135
133 136
134 #undef __ 137 #undef __
135 } // namespace internal 138 } // namespace internal
136 } // namespace v8 139 } // namespace v8
137 140
138 #endif // V8_TARGET_ARCH_MIPS64 141 #endif // V8_TARGET_ARCH_MIPS64
OLDNEW
« no previous file with comments | « src/ic/mips64/handler-compiler-mips64.cc ('k') | src/ic/mips64/ic-mips64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698