| 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 251 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 262 // static | 262 // static |
| 263 void BinaryOpICWithAllocationSiteStub::GenerateAheadOfTime( | 263 void BinaryOpICWithAllocationSiteStub::GenerateAheadOfTime( |
| 264 Isolate* isolate, const BinaryOpIC::State& state) { | 264 Isolate* isolate, const BinaryOpIC::State& state) { |
| 265 if (state.CouldCreateAllocationMementos()) { | 265 if (state.CouldCreateAllocationMementos()) { |
| 266 BinaryOpICWithAllocationSiteStub stub(state); | 266 BinaryOpICWithAllocationSiteStub stub(state); |
| 267 stub.GetCode(isolate); | 267 stub.GetCode(isolate); |
| 268 } | 268 } |
| 269 } | 269 } |
| 270 | 270 |
| 271 | 271 |
| 272 void NewStringAddStub::PrintBaseName(StringStream* stream) { | 272 void StringAddStub::PrintBaseName(StringStream* stream) { |
| 273 stream->Add("NewStringAddStub"); | 273 stream->Add("StringAddStub"); |
| 274 if ((flags() & STRING_ADD_CHECK_BOTH) == STRING_ADD_CHECK_BOTH) { | 274 if ((flags() & STRING_ADD_CHECK_BOTH) == STRING_ADD_CHECK_BOTH) { |
| 275 stream->Add("_CheckBoth"); | 275 stream->Add("_CheckBoth"); |
| 276 } else if ((flags() & STRING_ADD_CHECK_LEFT) == STRING_ADD_CHECK_LEFT) { | 276 } else if ((flags() & STRING_ADD_CHECK_LEFT) == STRING_ADD_CHECK_LEFT) { |
| 277 stream->Add("_CheckLeft"); | 277 stream->Add("_CheckLeft"); |
| 278 } else if ((flags() & STRING_ADD_CHECK_RIGHT) == STRING_ADD_CHECK_RIGHT) { | 278 } else if ((flags() & STRING_ADD_CHECK_RIGHT) == STRING_ADD_CHECK_RIGHT) { |
| 279 stream->Add("_CheckRight"); | 279 stream->Add("_CheckRight"); |
| 280 } | 280 } |
| 281 if (pretenure_flag() == TENURED) { | 281 if (pretenure_flag() == TENURED) { |
| 282 stream->Add("_Tenured"); | 282 stream->Add("_Tenured"); |
| 283 } | 283 } |
| (...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 469 SimpleListPrinter printer(stream); | 469 SimpleListPrinter printer(stream); |
| 470 if (IsEmpty()) printer.Add("None"); | 470 if (IsEmpty()) printer.Add("None"); |
| 471 if (Contains(UNDEFINED)) printer.Add("Undefined"); | 471 if (Contains(UNDEFINED)) printer.Add("Undefined"); |
| 472 if (Contains(NULL_TYPE)) printer.Add("Null"); | 472 if (Contains(NULL_TYPE)) printer.Add("Null"); |
| 473 if (Contains(MONOMORPHIC_MAP)) printer.Add("MonomorphicMap"); | 473 if (Contains(MONOMORPHIC_MAP)) printer.Add("MonomorphicMap"); |
| 474 if (Contains(GENERIC)) printer.Add("Generic"); | 474 if (Contains(GENERIC)) printer.Add("Generic"); |
| 475 stream->Add(")"); | 475 stream->Add(")"); |
| 476 } | 476 } |
| 477 | 477 |
| 478 | 478 |
| 479 Handle<Type> CompareNilICStub::GetType( | 479 Type* CompareNilICStub::GetType(Zone* zone, Handle<Map> map) { |
| 480 Isolate* isolate, | |
| 481 Handle<Map> map) { | |
| 482 if (state_.Contains(CompareNilICStub::GENERIC)) { | 480 if (state_.Contains(CompareNilICStub::GENERIC)) { |
| 483 return Type::Any(isolate); | 481 return Type::Any(zone); |
| 484 } | 482 } |
| 485 | 483 |
| 486 Handle<Type> result = Type::None(isolate); | 484 Type* result = Type::None(zone); |
| 487 if (state_.Contains(CompareNilICStub::UNDEFINED)) { | 485 if (state_.Contains(CompareNilICStub::UNDEFINED)) { |
| 488 result = Type::Union(result, Type::Undefined(isolate), isolate); | 486 result = Type::Union(result, Type::Undefined(zone), zone); |
| 489 } | 487 } |
| 490 if (state_.Contains(CompareNilICStub::NULL_TYPE)) { | 488 if (state_.Contains(CompareNilICStub::NULL_TYPE)) { |
| 491 result = Type::Union(result, Type::Null(isolate), isolate); | 489 result = Type::Union(result, Type::Null(zone), zone); |
| 492 } | 490 } |
| 493 if (state_.Contains(CompareNilICStub::MONOMORPHIC_MAP)) { | 491 if (state_.Contains(CompareNilICStub::MONOMORPHIC_MAP)) { |
| 494 Handle<Type> type = map.is_null() | 492 Type* type = |
| 495 ? Type::Detectable(isolate) : Type::Class(map, isolate); | 493 map.is_null() ? Type::Detectable(zone) : Type::Class(map, zone); |
| 496 result = Type::Union(result, type, isolate); | 494 result = Type::Union(result, type, zone); |
| 497 } | 495 } |
| 498 | 496 |
| 499 return result; | 497 return result; |
| 500 } | 498 } |
| 501 | 499 |
| 502 | 500 |
| 503 Handle<Type> CompareNilICStub::GetInputType( | 501 Type* CompareNilICStub::GetInputType(Zone* zone, Handle<Map> map) { |
| 504 Isolate* isolate, | 502 Type* output_type = GetType(zone, map); |
| 505 Handle<Map> map) { | 503 Type* nil_type = |
| 506 Handle<Type> output_type = GetType(isolate, map); | 504 nil_value_ == kNullValue ? Type::Null(zone) : Type::Undefined(zone); |
| 507 Handle<Type> nil_type = nil_value_ == kNullValue | 505 return Type::Union(output_type, nil_type, zone); |
| 508 ? Type::Null(isolate) : Type::Undefined(isolate); | |
| 509 return Type::Union(output_type, nil_type, isolate); | |
| 510 } | 506 } |
| 511 | 507 |
| 512 | 508 |
| 513 void InstanceofStub::PrintName(StringStream* stream) { | 509 void InstanceofStub::PrintName(StringStream* stream) { |
| 514 const char* args = ""; | 510 const char* args = ""; |
| 515 if (HasArgsInRegisters()) { | 511 if (HasArgsInRegisters()) { |
| 516 args = "_REGS"; | 512 args = "_REGS"; |
| 517 } | 513 } |
| 518 | 514 |
| 519 const char* inline_check = ""; | 515 const char* inline_check = ""; |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 563 case FAST_HOLEY_DOUBLE_ELEMENTS: | 559 case FAST_HOLEY_DOUBLE_ELEMENTS: |
| 564 case EXTERNAL_BYTE_ELEMENTS: | 560 case EXTERNAL_BYTE_ELEMENTS: |
| 565 case EXTERNAL_UNSIGNED_BYTE_ELEMENTS: | 561 case EXTERNAL_UNSIGNED_BYTE_ELEMENTS: |
| 566 case EXTERNAL_SHORT_ELEMENTS: | 562 case EXTERNAL_SHORT_ELEMENTS: |
| 567 case EXTERNAL_UNSIGNED_SHORT_ELEMENTS: | 563 case EXTERNAL_UNSIGNED_SHORT_ELEMENTS: |
| 568 case EXTERNAL_INT_ELEMENTS: | 564 case EXTERNAL_INT_ELEMENTS: |
| 569 case EXTERNAL_UNSIGNED_INT_ELEMENTS: | 565 case EXTERNAL_UNSIGNED_INT_ELEMENTS: |
| 570 case EXTERNAL_FLOAT_ELEMENTS: | 566 case EXTERNAL_FLOAT_ELEMENTS: |
| 571 case EXTERNAL_DOUBLE_ELEMENTS: | 567 case EXTERNAL_DOUBLE_ELEMENTS: |
| 572 case EXTERNAL_PIXEL_ELEMENTS: | 568 case EXTERNAL_PIXEL_ELEMENTS: |
| 569 case UINT8_ELEMENTS: |
| 570 case INT8_ELEMENTS: |
| 571 case UINT16_ELEMENTS: |
| 572 case INT16_ELEMENTS: |
| 573 case UINT32_ELEMENTS: |
| 574 case INT32_ELEMENTS: |
| 575 case FLOAT32_ELEMENTS: |
| 576 case FLOAT64_ELEMENTS: |
| 577 case UINT8_CLAMPED_ELEMENTS: |
| 573 UNREACHABLE(); | 578 UNREACHABLE(); |
| 574 break; | 579 break; |
| 575 case DICTIONARY_ELEMENTS: | 580 case DICTIONARY_ELEMENTS: |
| 576 KeyedStoreStubCompiler::GenerateStoreDictionaryElement(masm); | 581 KeyedStoreStubCompiler::GenerateStoreDictionaryElement(masm); |
| 577 break; | 582 break; |
| 578 case NON_STRICT_ARGUMENTS_ELEMENTS: | 583 case NON_STRICT_ARGUMENTS_ELEMENTS: |
| 579 UNREACHABLE(); | 584 UNREACHABLE(); |
| 580 break; | 585 break; |
| 581 } | 586 } |
| 582 } | 587 } |
| (...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 754 InstallDescriptor(isolate, &stub); | 759 InstallDescriptor(isolate, &stub); |
| 755 } | 760 } |
| 756 | 761 |
| 757 | 762 |
| 758 void FastNewClosureStub::InstallDescriptors(Isolate* isolate) { | 763 void FastNewClosureStub::InstallDescriptors(Isolate* isolate) { |
| 759 FastNewClosureStub stub(STRICT_MODE, false); | 764 FastNewClosureStub stub(STRICT_MODE, false); |
| 760 InstallDescriptor(isolate, &stub); | 765 InstallDescriptor(isolate, &stub); |
| 761 } | 766 } |
| 762 | 767 |
| 763 | 768 |
| 769 void FastNewContextStub::InstallDescriptors(Isolate* isolate) { |
| 770 FastNewContextStub stub(FastNewContextStub::kMaximumSlots); |
| 771 InstallDescriptor(isolate, &stub); |
| 772 } |
| 773 |
| 774 |
| 764 // static | 775 // static |
| 765 void BinaryOpICStub::InstallDescriptors(Isolate* isolate) { | 776 void BinaryOpICStub::InstallDescriptors(Isolate* isolate) { |
| 766 BinaryOpICStub stub(Token::ADD, NO_OVERWRITE); | 777 BinaryOpICStub stub(Token::ADD, NO_OVERWRITE); |
| 767 InstallDescriptor(isolate, &stub); | 778 InstallDescriptor(isolate, &stub); |
| 768 } | 779 } |
| 769 | 780 |
| 770 | 781 |
| 771 // static | 782 // static |
| 772 void BinaryOpWithAllocationSiteStub::InstallDescriptors(Isolate* isolate) { | 783 void BinaryOpWithAllocationSiteStub::InstallDescriptors(Isolate* isolate) { |
| 773 BinaryOpWithAllocationSiteStub stub(Token::ADD, NO_OVERWRITE); | 784 BinaryOpWithAllocationSiteStub stub(Token::ADD, NO_OVERWRITE); |
| 774 InstallDescriptor(isolate, &stub); | 785 InstallDescriptor(isolate, &stub); |
| 775 } | 786 } |
| 776 | 787 |
| 777 | 788 |
| 778 // static | 789 // static |
| 779 void NewStringAddStub::InstallDescriptors(Isolate* isolate) { | 790 void StringAddStub::InstallDescriptors(Isolate* isolate) { |
| 780 NewStringAddStub stub(STRING_ADD_CHECK_NONE, NOT_TENURED); | 791 StringAddStub stub(STRING_ADD_CHECK_NONE, NOT_TENURED); |
| 781 InstallDescriptor(isolate, &stub); | 792 InstallDescriptor(isolate, &stub); |
| 782 } | 793 } |
| 783 | 794 |
| 784 | 795 |
| 785 ArrayConstructorStub::ArrayConstructorStub(Isolate* isolate) | 796 ArrayConstructorStub::ArrayConstructorStub(Isolate* isolate) |
| 786 : argument_count_(ANY) { | 797 : argument_count_(ANY) { |
| 787 ArrayConstructorStubBase::GenerateStubsAheadOfTime(isolate); | 798 ArrayConstructorStubBase::GenerateStubsAheadOfTime(isolate); |
| 788 } | 799 } |
| 789 | 800 |
| 790 | 801 |
| (...skipping 21 matching lines...) Expand all Loading... |
| 812 InstallDescriptor(isolate, &stub3); | 823 InstallDescriptor(isolate, &stub3); |
| 813 } | 824 } |
| 814 | 825 |
| 815 InternalArrayConstructorStub::InternalArrayConstructorStub( | 826 InternalArrayConstructorStub::InternalArrayConstructorStub( |
| 816 Isolate* isolate) { | 827 Isolate* isolate) { |
| 817 InternalArrayConstructorStubBase::GenerateStubsAheadOfTime(isolate); | 828 InternalArrayConstructorStubBase::GenerateStubsAheadOfTime(isolate); |
| 818 } | 829 } |
| 819 | 830 |
| 820 | 831 |
| 821 } } // namespace v8::internal | 832 } } // namespace v8::internal |
| OLD | NEW |