OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 4621 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4632 void LCodeGen::DoCheckMaps(LCheckMaps* instr) { | 4632 void LCodeGen::DoCheckMaps(LCheckMaps* instr) { |
4633 Register scratch = scratch0(); | 4633 Register scratch = scratch0(); |
4634 LOperand* input = instr->value(); | 4634 LOperand* input = instr->value(); |
4635 ASSERT(input->IsRegister()); | 4635 ASSERT(input->IsRegister()); |
4636 Register reg = ToRegister(input); | 4636 Register reg = ToRegister(input); |
4637 Label success; | 4637 Label success; |
4638 SmallMapList* map_set = instr->hydrogen()->map_set(); | 4638 SmallMapList* map_set = instr->hydrogen()->map_set(); |
4639 for (int i = 0; i < map_set->length() - 1; i++) { | 4639 for (int i = 0; i < map_set->length() - 1; i++) { |
4640 Handle<Map> map = map_set->at(i); | 4640 Handle<Map> map = map_set->at(i); |
4641 __ CompareMapAndBranch( | 4641 __ CompareMapAndBranch( |
4642 reg, scratch, map, &success, eq, &success, instr->hydrogen()->mode()); | 4642 reg, scratch, map, &success, eq, &success, REQUIRE_EXACT_MAP); |
4643 } | 4643 } |
4644 Handle<Map> map = map_set->last(); | 4644 Handle<Map> map = map_set->last(); |
4645 DoCheckMapCommon(reg, scratch, map, instr->hydrogen()->mode(), | 4645 DoCheckMapCommon(reg, scratch, map, REQUIRE_EXACT_MAP, instr->environment()); |
4646 instr->environment()); | |
4647 __ bind(&success); | 4646 __ bind(&success); |
4648 } | 4647 } |
4649 | 4648 |
4650 | 4649 |
4651 void LCodeGen::DoClampDToUint8(LClampDToUint8* instr) { | 4650 void LCodeGen::DoClampDToUint8(LClampDToUint8* instr) { |
4652 DoubleRegister value_reg = ToDoubleRegister(instr->unclamped()); | 4651 DoubleRegister value_reg = ToDoubleRegister(instr->unclamped()); |
4653 Register result_reg = ToRegister(instr->result()); | 4652 Register result_reg = ToRegister(instr->result()); |
4654 DoubleRegister temp_reg = ToDoubleRegister(instr->temp()); | 4653 DoubleRegister temp_reg = ToDoubleRegister(instr->temp()); |
4655 __ ClampDoubleToUint8(result_reg, value_reg, temp_reg); | 4654 __ ClampDoubleToUint8(result_reg, value_reg, temp_reg); |
4656 } | 4655 } |
(...skipping 845 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5502 __ Subu(scratch, result, scratch); | 5501 __ Subu(scratch, result, scratch); |
5503 __ lw(result, FieldMemOperand(scratch, | 5502 __ lw(result, FieldMemOperand(scratch, |
5504 FixedArray::kHeaderSize - kPointerSize)); | 5503 FixedArray::kHeaderSize - kPointerSize)); |
5505 __ bind(&done); | 5504 __ bind(&done); |
5506 } | 5505 } |
5507 | 5506 |
5508 | 5507 |
5509 #undef __ | 5508 #undef __ |
5510 | 5509 |
5511 } } // namespace v8::internal | 5510 } } // namespace v8::internal |
OLD | NEW |