| OLD | NEW |
| 1 // Copyright 2006-2008 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2008 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 432 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 443 | 443 |
| 444 | 444 |
| 445 ExternalReferenceTable* ExternalReferenceTable::instance_ = NULL; | 445 ExternalReferenceTable* ExternalReferenceTable::instance_ = NULL; |
| 446 | 446 |
| 447 | 447 |
| 448 void ExternalReferenceTable::AddFromId(TypeCode type, | 448 void ExternalReferenceTable::AddFromId(TypeCode type, |
| 449 uint16_t id, | 449 uint16_t id, |
| 450 const char* name) { | 450 const char* name) { |
| 451 Address address; | 451 Address address; |
| 452 switch (type) { | 452 switch (type) { |
| 453 case C_BUILTIN: | 453 case C_BUILTIN: { |
| 454 address = Builtins::c_function_address( | 454 ExternalReference ref(static_cast<Builtins::CFunctionId>(id)); |
| 455 static_cast<Builtins::CFunctionId>(id)); | 455 address = ref.address(); |
| 456 break; | 456 break; |
| 457 case BUILTIN: | 457 } |
| 458 address = Builtins::builtin_address(static_cast<Builtins::Name>(id)); | 458 case BUILTIN: { |
| 459 ExternalReference ref(static_cast<Builtins::Name>(id)); |
| 460 address = ref.address(); |
| 459 break; | 461 break; |
| 460 case RUNTIME_FUNCTION: | 462 } |
| 461 address = Runtime::FunctionForId( | 463 case RUNTIME_FUNCTION: { |
| 462 static_cast<Runtime::FunctionId>(id))->entry; | 464 ExternalReference ref(static_cast<Runtime::FunctionId>(id)); |
| 465 address = ref.address(); |
| 463 break; | 466 break; |
| 464 case IC_UTILITY: | 467 } |
| 465 address = IC::AddressFromUtilityId(static_cast<IC::UtilityId>(id)); | 468 case IC_UTILITY: { |
| 469 ExternalReference ref(IC_Utility(static_cast<IC::UtilityId>(id))); |
| 470 address = ref.address(); |
| 466 break; | 471 break; |
| 472 } |
| 467 default: | 473 default: |
| 468 UNREACHABLE(); | 474 UNREACHABLE(); |
| 469 return; | 475 return; |
| 470 } | 476 } |
| 471 Add(address, type, id, name); | 477 Add(address, type, id, name); |
| 472 } | 478 } |
| 473 | 479 |
| 474 | 480 |
| 475 void ExternalReferenceTable::Add(Address address, | 481 void ExternalReferenceTable::Add(Address address, |
| 476 TypeCode type, | 482 TypeCode type, |
| (...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 635 Add(SCTableReference::keyReference(StubCache::kSecondary).address(), | 641 Add(SCTableReference::keyReference(StubCache::kSecondary).address(), |
| 636 STUB_CACHE_TABLE, | 642 STUB_CACHE_TABLE, |
| 637 3, | 643 3, |
| 638 "StubCache::secondary_->key"); | 644 "StubCache::secondary_->key"); |
| 639 Add(SCTableReference::valueReference(StubCache::kSecondary).address(), | 645 Add(SCTableReference::valueReference(StubCache::kSecondary).address(), |
| 640 STUB_CACHE_TABLE, | 646 STUB_CACHE_TABLE, |
| 641 4, | 647 4, |
| 642 "StubCache::secondary_->value"); | 648 "StubCache::secondary_->value"); |
| 643 | 649 |
| 644 // Runtime entries | 650 // Runtime entries |
| 645 Add(FUNCTION_ADDR(Runtime::PerformGC), | 651 Add(ExternalReference::perform_gc_function().address(), |
| 646 RUNTIME_ENTRY, | 652 RUNTIME_ENTRY, |
| 647 1, | 653 1, |
| 648 "Runtime::PerformGC"); | 654 "Runtime::PerformGC"); |
| 649 | 655 |
| 650 // Miscellaneous | 656 // Miscellaneous |
| 651 Add(ExternalReference::builtin_passed_function().address(), | 657 Add(ExternalReference::builtin_passed_function().address(), |
| 652 UNCLASSIFIED, | 658 UNCLASSIFIED, |
| 653 1, | 659 1, |
| 654 "Builtins::builtin_passed_function"); | 660 "Builtins::builtin_passed_function"); |
| 655 Add(ExternalReference::the_hole_value_location().address(), | 661 Add(ExternalReference::the_hole_value_location().address(), |
| (...skipping 957 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1613 ASSERT(index < large_objects_.length()); | 1619 ASSERT(index < large_objects_.length()); |
| 1614 } | 1620 } |
| 1615 return large_objects_[index]; // s.page_offset() is ignored. | 1621 return large_objects_[index]; // s.page_offset() is ignored. |
| 1616 } | 1622 } |
| 1617 UNREACHABLE(); | 1623 UNREACHABLE(); |
| 1618 return NULL; | 1624 return NULL; |
| 1619 } | 1625 } |
| 1620 | 1626 |
| 1621 | 1627 |
| 1622 } } // namespace v8::internal | 1628 } } // namespace v8::internal |
| OLD | NEW |