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

Side by Side Diff: src/hydrogen.cc

Issue 1273353003: [simd.js] Single SIMD128_VALUE_TYPE for all Simd128Values. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Fix slow check failures. REBASE. 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/heap/objects-visiting.cc ('k') | src/hydrogen-instructions.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/hydrogen.h" 5 #include "src/hydrogen.h"
6 6
7 #include <sstream> 7 #include <sstream>
8 8
9 #include "src/v8.h" 9 #include "src/v8.h"
10 10
(...skipping 2111 matching lines...) Expand 10 before | Expand all | Expand 10 after
2122 receiver_is_symbol.If<HCompareNumericAndBranch>( 2122 receiver_is_symbol.If<HCompareNumericAndBranch>(
2123 receiver_instance_type, Add<HConstant>(SYMBOL_TYPE), Token::EQ); 2123 receiver_instance_type, Add<HConstant>(SYMBOL_TYPE), Token::EQ);
2124 receiver_is_symbol.Then(); 2124 receiver_is_symbol.Then();
2125 { 2125 {
2126 // Load global Symbol function. 2126 // Load global Symbol function.
2127 HValue* constructor = Add<HLoadNamedField>( 2127 HValue* constructor = Add<HLoadNamedField>(
2128 native_context, nullptr, HObjectAccess::ForContextSlot( 2128 native_context, nullptr, HObjectAccess::ForContextSlot(
2129 Context::SYMBOL_FUNCTION_INDEX)); 2129 Context::SYMBOL_FUNCTION_INDEX));
2130 Push(constructor); 2130 Push(constructor);
2131 } 2131 }
2132 receiver_is_symbol.Else(); 2132 // TODO(bmeurer): Don't inline this into crankshaft code, as it will
2133 { 2133 // deoptimize on all SIMD128 objects.
2134 IfBuilder receiver_is_float32x4(this); 2134 receiver_is_symbol.ElseDeopt(
2135 receiver_is_float32x4.If<HCompareNumericAndBranch>( 2135 Deoptimizer::kUndefinedOrNullInToObject);
2136 receiver_instance_type, Add<HConstant>(FLOAT32X4_TYPE),
2137 Token::EQ);
2138 receiver_is_float32x4.Then();
2139 {
2140 // Load global Float32x4 function.
2141 HValue* constructor = Add<HLoadNamedField>(
2142 native_context, nullptr,
2143 HObjectAccess::ForContextSlot(
2144 Context::FLOAT32X4_FUNCTION_INDEX));
2145 Push(constructor);
2146 }
2147 receiver_is_float32x4.ElseDeopt(
2148 Deoptimizer::kUndefinedOrNullInToObject);
2149 receiver_is_float32x4.JoinContinuation(&wrap);
2150 }
2151 receiver_is_symbol.JoinContinuation(&wrap); 2136 receiver_is_symbol.JoinContinuation(&wrap);
2152 } 2137 }
2153 receiver_is_string.JoinContinuation(&wrap); 2138 receiver_is_string.JoinContinuation(&wrap);
2154 } 2139 }
2155 receiver_is_boolean.JoinContinuation(&wrap); 2140 receiver_is_boolean.JoinContinuation(&wrap);
2156 } 2141 }
2157 receiver_is_heap_number.JoinContinuation(&wrap); 2142 receiver_is_heap_number.JoinContinuation(&wrap);
2158 } 2143 }
2159 receiver_is_not_spec_object.JoinContinuation(&wrap); 2144 receiver_is_not_spec_object.JoinContinuation(&wrap);
2160 } 2145 }
(...skipping 11346 matching lines...) Expand 10 before | Expand all | Expand 10 after
13507 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); 13492 isolate()->GetHTracer()->TraceHydrogen(name(), graph_);
13508 } 13493 }
13509 13494
13510 #ifdef DEBUG 13495 #ifdef DEBUG
13511 graph_->Verify(false); // No full verify. 13496 graph_->Verify(false); // No full verify.
13512 #endif 13497 #endif
13513 } 13498 }
13514 13499
13515 } // namespace internal 13500 } // namespace internal
13516 } // namespace v8 13501 } // namespace v8
OLDNEW
« no previous file with comments | « src/heap/objects-visiting.cc ('k') | src/hydrogen-instructions.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698