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

Side by Side Diff: test/unittests/compiler/js-typed-lowering-unittest.cc

Issue 1409763004: [types] Use the TypeCache consistently for common types. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 1 month 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 | « test/unittests/compiler/js-intrinsic-lowering-unittest.cc ('k') | tools/gyp/v8.gyp » ('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 #include "src/code-factory.h" 5 #include "src/code-factory.h"
6 #include "src/compiler/access-builder.h" 6 #include "src/compiler/access-builder.h"
7 #include "src/compiler/js-graph.h" 7 #include "src/compiler/js-graph.h"
8 #include "src/compiler/js-operator.h" 8 #include "src/compiler/js-operator.h"
9 #include "src/compiler/js-typed-lowering.h" 9 #include "src/compiler/js-typed-lowering.h"
10 #include "src/compiler/machine-operator.h" 10 #include "src/compiler/machine-operator.h"
(...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after
184 EXPECT_THAT(r.replacement(), IsFalseConstant()); 184 EXPECT_THAT(r.replacement(), IsFalseConstant());
185 } 185 }
186 186
187 187
188 TEST_F(JSTypedLoweringTest, JSUnaryNotWithString) { 188 TEST_F(JSTypedLoweringTest, JSUnaryNotWithString) {
189 Node* input = Parameter(Type::String(), 0); 189 Node* input = Parameter(Type::String(), 0);
190 Node* context = Parameter(Type::Any(), 1); 190 Node* context = Parameter(Type::Any(), 1);
191 Reduction r = Reduce(graph()->NewNode(javascript()->UnaryNot(), input, 191 Reduction r = Reduce(graph()->NewNode(javascript()->UnaryNot(), input,
192 context, graph()->start())); 192 context, graph()->start()));
193 ASSERT_TRUE(r.Changed()); 193 ASSERT_TRUE(r.Changed());
194 EXPECT_THAT( 194 EXPECT_THAT(r.replacement(),
195 r.replacement(), 195 IsNumberEqual(IsLoadField(AccessBuilder::ForStringLength(), input,
196 IsNumberEqual(IsLoadField(AccessBuilder::ForStringLength(zone()), input, 196 graph()->start(), graph()->start()),
197 graph()->start(), graph()->start()), 197 IsNumberConstant(0.0)));
198 IsNumberConstant(0.0)));
199 } 198 }
200 199
201 200
202 TEST_F(JSTypedLoweringTest, JSUnaryNotWithAny) { 201 TEST_F(JSTypedLoweringTest, JSUnaryNotWithAny) {
203 Node* input = Parameter(Type::Any(), 0); 202 Node* input = Parameter(Type::Any(), 0);
204 Node* context = Parameter(Type::Any(), 1); 203 Node* context = Parameter(Type::Any(), 1);
205 Reduction r = Reduce(graph()->NewNode(javascript()->UnaryNot(), input, 204 Reduction r = Reduce(graph()->NewNode(javascript()->UnaryNot(), input,
206 context, graph()->start())); 205 context, graph()->start()));
207 ASSERT_FALSE(r.Changed()); 206 ASSERT_FALSE(r.Changed());
208 } 207 }
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after
383 382
384 TEST_F(JSTypedLoweringTest, JSToBooleanWithString) { 383 TEST_F(JSTypedLoweringTest, JSToBooleanWithString) {
385 Node* input = Parameter(Type::String(), 0); 384 Node* input = Parameter(Type::String(), 0);
386 Node* context = Parameter(Type::Any(), 1); 385 Node* context = Parameter(Type::Any(), 1);
387 Reduction r = Reduce(graph()->NewNode(javascript()->ToBoolean(), input, 386 Reduction r = Reduce(graph()->NewNode(javascript()->ToBoolean(), input,
388 context, graph()->start())); 387 context, graph()->start()));
389 ASSERT_TRUE(r.Changed()); 388 ASSERT_TRUE(r.Changed());
390 EXPECT_THAT( 389 EXPECT_THAT(
391 r.replacement(), 390 r.replacement(),
392 IsNumberLessThan(IsNumberConstant(0.0), 391 IsNumberLessThan(IsNumberConstant(0.0),
393 IsLoadField(AccessBuilder::ForStringLength(zone()), 392 IsLoadField(AccessBuilder::ForStringLength(), input,
394 input, graph()->start(), graph()->start()))); 393 graph()->start(), graph()->start())));
395 } 394 }
396 395
397 396
398 TEST_F(JSTypedLoweringTest, JSToBooleanWithAny) { 397 TEST_F(JSTypedLoweringTest, JSToBooleanWithAny) {
399 Node* input = Parameter(Type::Any(), 0); 398 Node* input = Parameter(Type::Any(), 0);
400 Node* context = Parameter(Type::Any(), 1); 399 Node* context = Parameter(Type::Any(), 1);
401 Reduction r = Reduce(graph()->NewNode(javascript()->ToBoolean(), input, 400 Reduction r = Reduce(graph()->NewNode(javascript()->ToBoolean(), input,
402 context, graph()->start())); 401 context, graph()->start()));
403 ASSERT_FALSE(r.Changed()); 402 ASSERT_FALSE(r.Changed());
404 } 403 }
(...skipping 469 matching lines...) Expand 10 before | Expand all | Expand 10 after
874 Node* const vector = Parameter(Type::Internal(), 1); 873 Node* const vector = Parameter(Type::Internal(), 1);
875 Node* const context = UndefinedConstant(); 874 Node* const context = UndefinedConstant();
876 Node* const effect = graph()->start(); 875 Node* const effect = graph()->start();
877 Node* const control = graph()->start(); 876 Node* const control = graph()->start();
878 TRACED_FOREACH(LanguageMode, language_mode, kLanguageModes) { 877 TRACED_FOREACH(LanguageMode, language_mode, kLanguageModes) {
879 Reduction const r = Reduce( 878 Reduction const r = Reduce(
880 graph()->NewNode(javascript()->LoadNamed(language_mode, name, feedback), 879 graph()->NewNode(javascript()->LoadNamed(language_mode, name, feedback),
881 receiver, vector, context, EmptyFrameState(), 880 receiver, vector, context, EmptyFrameState(),
882 EmptyFrameState(), effect, control)); 881 EmptyFrameState(), effect, control));
883 ASSERT_TRUE(r.Changed()); 882 ASSERT_TRUE(r.Changed());
884 EXPECT_THAT(r.replacement(), 883 EXPECT_THAT(r.replacement(), IsLoadField(AccessBuilder::ForStringLength(),
885 IsLoadField(AccessBuilder::ForStringLength(zone()), receiver, 884 receiver, effect, control));
886 effect, control));
887 } 885 }
888 } 886 }
889 887
890 888
891 // ----------------------------------------------------------------------------- 889 // -----------------------------------------------------------------------------
892 // JSLoadDynamicGlobal 890 // JSLoadDynamicGlobal
893 891
894 892
895 TEST_F(JSTypedLoweringTest, JSLoadDynamicGlobal) { 893 TEST_F(JSTypedLoweringTest, JSLoadDynamicGlobal) {
896 Node* const context = Parameter(Type::Any()); 894 Node* const context = Parameter(Type::Any());
(...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after
1108 EXPECT_THAT(r.replacement(), 1106 EXPECT_THAT(r.replacement(),
1109 IsFinishRegion(IsAllocate(IsNumberConstant(Context::SizeFor( 1107 IsFinishRegion(IsAllocate(IsNumberConstant(Context::SizeFor(
1110 Context::MIN_CONTEXT_SLOTS)), 1108 Context::MIN_CONTEXT_SLOTS)),
1111 IsBeginRegion(effect), control), 1109 IsBeginRegion(effect), control),
1112 _)); 1110 _));
1113 } 1111 }
1114 1112
1115 } // namespace compiler 1113 } // namespace compiler
1116 } // namespace internal 1114 } // namespace internal
1117 } // namespace v8 1115 } // namespace v8
OLDNEW
« no previous file with comments | « test/unittests/compiler/js-intrinsic-lowering-unittest.cc ('k') | tools/gyp/v8.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698