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

Side by Side Diff: test/unittests/interpreter/bytecode-array-builder-unittest.cc

Issue 2396353002: Revert "Add Smi::Zero and replace all Smi::FromInt(0) calls" (Closed)
Patch Set: Created 4 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
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/v8.h" 5 #include "src/v8.h"
6 6
7 #include "src/interpreter/bytecode-array-builder.h" 7 #include "src/interpreter/bytecode-array-builder.h"
8 #include "src/interpreter/bytecode-array-iterator.h" 8 #include "src/interpreter/bytecode-array-iterator.h"
9 #include "src/interpreter/bytecode-label.h" 9 #include "src/interpreter/bytecode-label.h"
10 #include "src/interpreter/bytecode-register-allocator.h" 10 #include "src/interpreter/bytecode-register-allocator.h"
(...skipping 24 matching lines...) Expand all
35 Register wide(128); 35 Register wide(128);
36 RegisterList reg_list; 36 RegisterList reg_list;
37 RegisterList pair(0, 2), triple(0, 3); 37 RegisterList pair(0, 2), triple(0, 3);
38 38
39 // Emit argument creation operations. 39 // Emit argument creation operations.
40 builder.CreateArguments(CreateArgumentsType::kMappedArguments) 40 builder.CreateArguments(CreateArgumentsType::kMappedArguments)
41 .CreateArguments(CreateArgumentsType::kUnmappedArguments) 41 .CreateArguments(CreateArgumentsType::kUnmappedArguments)
42 .CreateArguments(CreateArgumentsType::kRestParameter); 42 .CreateArguments(CreateArgumentsType::kRestParameter);
43 43
44 // Emit constant loads. 44 // Emit constant loads.
45 builder.LoadLiteral(Smi::kZero) 45 builder.LoadLiteral(Smi::FromInt(0))
46 .StoreAccumulatorInRegister(reg) 46 .StoreAccumulatorInRegister(reg)
47 .LoadLiteral(Smi::FromInt(8)) 47 .LoadLiteral(Smi::FromInt(8))
48 .CompareOperation(Token::Value::NE, reg, 48 .CompareOperation(Token::Value::NE, reg,
49 1) // Prevent peephole optimization 49 1) // Prevent peephole optimization
50 // LdaSmi, Star -> LdrSmi. 50 // LdaSmi, Star -> LdrSmi.
51 .StoreAccumulatorInRegister(reg) 51 .StoreAccumulatorInRegister(reg)
52 .LoadLiteral(Smi::FromInt(10000000)) 52 .LoadLiteral(Smi::FromInt(10000000))
53 .StoreAccumulatorInRegister(reg) 53 .StoreAccumulatorInRegister(reg)
54 .LoadLiteral(factory->NewStringFromStaticChars("A constant")) 54 .LoadLiteral(factory->NewStringFromStaticChars("A constant"))
55 .StoreAccumulatorInRegister(reg) 55 .StoreAccumulatorInRegister(reg)
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
212 // Longer jumps with constant operands 212 // Longer jumps with constant operands
213 BytecodeLabel end[8]; 213 BytecodeLabel end[8];
214 { 214 {
215 BytecodeLabel after_jump; 215 BytecodeLabel after_jump;
216 builder.Jump(&end[0]) 216 builder.Jump(&end[0])
217 .Bind(&after_jump) 217 .Bind(&after_jump)
218 .LoadTrue() 218 .LoadTrue()
219 .JumpIfTrue(&end[1]) 219 .JumpIfTrue(&end[1])
220 .LoadTrue() 220 .LoadTrue()
221 .JumpIfFalse(&end[2]) 221 .JumpIfFalse(&end[2])
222 .LoadLiteral(Smi::kZero) 222 .LoadLiteral(Smi::FromInt(0))
223 .JumpIfTrue(&end[3]) 223 .JumpIfTrue(&end[3])
224 .LoadLiteral(Smi::kZero) 224 .LoadLiteral(Smi::FromInt(0))
225 .JumpIfFalse(&end[4]) 225 .JumpIfFalse(&end[4])
226 .JumpIfNull(&end[5]) 226 .JumpIfNull(&end[5])
227 .JumpIfUndefined(&end[6]) 227 .JumpIfUndefined(&end[6])
228 .JumpIfNotHole(&end[7]); 228 .JumpIfNotHole(&end[7]);
229 } 229 }
230 230
231 // Perform an operation that returns boolean value to 231 // Perform an operation that returns boolean value to
232 // generate JumpIfTrue/False 232 // generate JumpIfTrue/False
233 { 233 {
234 BytecodeLabel after_jump1, after_jump2; 234 BytecodeLabel after_jump1, after_jump2;
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after
414 414
415 415
416 TEST_F(BytecodeArrayBuilderTest, FrameSizesLookGood) { 416 TEST_F(BytecodeArrayBuilderTest, FrameSizesLookGood) {
417 CanonicalHandleScope canonical(isolate()); 417 CanonicalHandleScope canonical(isolate());
418 for (int locals = 0; locals < 5; locals++) { 418 for (int locals = 0; locals < 5; locals++) {
419 for (int contexts = 0; contexts < 4; contexts++) { 419 for (int contexts = 0; contexts < 4; contexts++) {
420 for (int temps = 0; temps < 3; temps++) { 420 for (int temps = 0; temps < 3; temps++) {
421 BytecodeArrayBuilder builder(isolate(), zone(), 0, contexts, locals); 421 BytecodeArrayBuilder builder(isolate(), zone(), 0, contexts, locals);
422 BytecodeRegisterAllocator* allocator(builder.register_allocator()); 422 BytecodeRegisterAllocator* allocator(builder.register_allocator());
423 for (int i = 0; i < locals + contexts; i++) { 423 for (int i = 0; i < locals + contexts; i++) {
424 builder.LoadLiteral(Smi::kZero); 424 builder.LoadLiteral(Smi::FromInt(0));
425 builder.StoreAccumulatorInRegister(Register(i)); 425 builder.StoreAccumulatorInRegister(Register(i));
426 } 426 }
427 for (int i = 0; i < temps; i++) { 427 for (int i = 0; i < temps; i++) {
428 Register temp = allocator->NewRegister(); 428 Register temp = allocator->NewRegister();
429 builder.LoadLiteral(Smi::kZero); 429 builder.LoadLiteral(Smi::FromInt(0));
430 builder.StoreAccumulatorInRegister(temp); 430 builder.StoreAccumulatorInRegister(temp);
431 // Ensure temporaries are used so not optimized away by the 431 // Ensure temporaries are used so not optimized away by the
432 // register optimizer. 432 // register optimizer.
433 builder.ConvertAccumulatorToName(temp); 433 builder.ConvertAccumulatorToName(temp);
434 } 434 }
435 builder.Return(); 435 builder.Return();
436 436
437 Handle<BytecodeArray> the_array = builder.ToBytecodeArray(isolate()); 437 Handle<BytecodeArray> the_array = builder.ToBytecodeArray(isolate());
438 int total_registers = locals + contexts + temps; 438 int total_registers = locals + contexts + temps;
439 CHECK_EQ(the_array->frame_size(), total_registers * kPointerSize); 439 CHECK_EQ(the_array->frame_size(), total_registers * kPointerSize);
(...skipping 289 matching lines...) Expand 10 before | Expand all | Expand 10 after
729 iterator.Advance(); 729 iterator.Advance();
730 } 730 }
731 CHECK_EQ(iterator.current_bytecode(), Bytecode::kReturn); 731 CHECK_EQ(iterator.current_bytecode(), Bytecode::kReturn);
732 iterator.Advance(); 732 iterator.Advance();
733 CHECK(iterator.done()); 733 CHECK(iterator.done());
734 } 734 }
735 735
736 } // namespace interpreter 736 } // namespace interpreter
737 } // namespace internal 737 } // namespace internal
738 } // namespace v8 738 } // namespace v8
OLDNEW
« no previous file with comments | « test/cctest/test-macro-assembler-x64.cc ('k') | test/unittests/interpreter/bytecode-array-iterator-unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698