| OLD | NEW |
| 1 // Copyright (c) 1994-2006 Sun Microsystems Inc. | 1 // Copyright (c) 1994-2006 Sun Microsystems Inc. |
| 2 // All Rights Reserved. | 2 // All Rights Reserved. |
| 3 // | 3 // |
| 4 // Redistribution and use in source and binary forms, with or without | 4 // Redistribution and use in source and binary forms, with or without |
| 5 // modification, are permitted provided that the following conditions are | 5 // modification, are permitted provided that the following conditions are |
| 6 // met: | 6 // met: |
| 7 // | 7 // |
| 8 // - Redistributions of source code must retain the above copyright notice, | 8 // - Redistributions of source code must retain the above copyright notice, |
| 9 // this list of conditions and the following disclaimer. | 9 // this list of conditions and the following disclaimer. |
| 10 // | 10 // |
| (...skipping 761 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 772 switch (rmode) { | 772 switch (rmode) { |
| 773 case RelocInfo::NONE32: | 773 case RelocInfo::NONE32: |
| 774 return "no reloc 32"; | 774 return "no reloc 32"; |
| 775 case RelocInfo::NONE64: | 775 case RelocInfo::NONE64: |
| 776 return "no reloc 64"; | 776 return "no reloc 64"; |
| 777 case RelocInfo::EMBEDDED_OBJECT: | 777 case RelocInfo::EMBEDDED_OBJECT: |
| 778 return "embedded object"; | 778 return "embedded object"; |
| 779 case RelocInfo::CONSTRUCT_CALL: | 779 case RelocInfo::CONSTRUCT_CALL: |
| 780 return "code target (js construct call)"; | 780 return "code target (js construct call)"; |
| 781 case RelocInfo::DEBUG_BREAK: | 781 case RelocInfo::DEBUG_BREAK: |
| 782 #ifndef ENABLE_DEBUGGER_SUPPORT | |
| 783 UNREACHABLE(); | |
| 784 #endif | |
| 785 return "debug break"; | 782 return "debug break"; |
| 786 case RelocInfo::CODE_TARGET: | 783 case RelocInfo::CODE_TARGET: |
| 787 return "code target"; | 784 return "code target"; |
| 788 case RelocInfo::CODE_TARGET_WITH_ID: | 785 case RelocInfo::CODE_TARGET_WITH_ID: |
| 789 return "code target with id"; | 786 return "code target with id"; |
| 790 case RelocInfo::CELL: | 787 case RelocInfo::CELL: |
| 791 return "property cell"; | 788 return "property cell"; |
| 792 case RelocInfo::RUNTIME_ENTRY: | 789 case RelocInfo::RUNTIME_ENTRY: |
| 793 return "runtime entry"; | 790 return "runtime entry"; |
| 794 case RelocInfo::JS_RETURN: | 791 case RelocInfo::JS_RETURN: |
| 795 return "js return"; | 792 return "js return"; |
| 796 case RelocInfo::COMMENT: | 793 case RelocInfo::COMMENT: |
| 797 return "comment"; | 794 return "comment"; |
| 798 case RelocInfo::POSITION: | 795 case RelocInfo::POSITION: |
| 799 return "position"; | 796 return "position"; |
| 800 case RelocInfo::STATEMENT_POSITION: | 797 case RelocInfo::STATEMENT_POSITION: |
| 801 return "statement position"; | 798 return "statement position"; |
| 802 case RelocInfo::EXTERNAL_REFERENCE: | 799 case RelocInfo::EXTERNAL_REFERENCE: |
| 803 return "external reference"; | 800 return "external reference"; |
| 804 case RelocInfo::INTERNAL_REFERENCE: | 801 case RelocInfo::INTERNAL_REFERENCE: |
| 805 return "internal reference"; | 802 return "internal reference"; |
| 806 case RelocInfo::CONST_POOL: | 803 case RelocInfo::CONST_POOL: |
| 807 return "constant pool"; | 804 return "constant pool"; |
| 808 case RelocInfo::VENEER_POOL: | 805 case RelocInfo::VENEER_POOL: |
| 809 return "veneer pool"; | 806 return "veneer pool"; |
| 810 case RelocInfo::DEBUG_BREAK_SLOT: | 807 case RelocInfo::DEBUG_BREAK_SLOT: |
| 811 #ifndef ENABLE_DEBUGGER_SUPPORT | |
| 812 UNREACHABLE(); | |
| 813 #endif | |
| 814 return "debug break slot"; | 808 return "debug break slot"; |
| 815 case RelocInfo::CODE_AGE_SEQUENCE: | 809 case RelocInfo::CODE_AGE_SEQUENCE: |
| 816 return "code_age_sequence"; | 810 return "code_age_sequence"; |
| 817 case RelocInfo::NUMBER_OF_MODES: | 811 case RelocInfo::NUMBER_OF_MODES: |
| 818 UNREACHABLE(); | 812 UNREACHABLE(); |
| 819 return "number_of_modes"; | 813 return "number_of_modes"; |
| 820 } | 814 } |
| 821 return "unknown relocation type"; | 815 return "unknown relocation type"; |
| 822 } | 816 } |
| 823 | 817 |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 862 #ifdef VERIFY_HEAP | 856 #ifdef VERIFY_HEAP |
| 863 void RelocInfo::Verify() { | 857 void RelocInfo::Verify() { |
| 864 switch (rmode_) { | 858 switch (rmode_) { |
| 865 case EMBEDDED_OBJECT: | 859 case EMBEDDED_OBJECT: |
| 866 Object::VerifyPointer(target_object()); | 860 Object::VerifyPointer(target_object()); |
| 867 break; | 861 break; |
| 868 case CELL: | 862 case CELL: |
| 869 Object::VerifyPointer(target_cell()); | 863 Object::VerifyPointer(target_cell()); |
| 870 break; | 864 break; |
| 871 case DEBUG_BREAK: | 865 case DEBUG_BREAK: |
| 872 #ifndef ENABLE_DEBUGGER_SUPPORT | |
| 873 UNREACHABLE(); | |
| 874 break; | |
| 875 #endif | |
| 876 case CONSTRUCT_CALL: | 866 case CONSTRUCT_CALL: |
| 877 case CODE_TARGET_WITH_ID: | 867 case CODE_TARGET_WITH_ID: |
| 878 case CODE_TARGET: { | 868 case CODE_TARGET: { |
| 879 // convert inline target address to code object | 869 // convert inline target address to code object |
| 880 Address addr = target_address(); | 870 Address addr = target_address(); |
| 881 CHECK(addr != NULL); | 871 CHECK(addr != NULL); |
| 882 // Check that we can find the right code object. | 872 // Check that we can find the right code object. |
| 883 Code* code = Code::GetCodeFromTargetAddress(addr); | 873 Code* code = Code::GetCodeFromTargetAddress(addr); |
| 884 Object* found = code->GetIsolate()->FindCodeObject(addr); | 874 Object* found = code->GetIsolate()->FindCodeObject(addr); |
| 885 CHECK(found->IsCode()); | 875 CHECK(found->IsCode()); |
| (...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1007 | 997 |
| 1008 ExternalReference ExternalReference::isolate_address(Isolate* isolate) { | 998 ExternalReference ExternalReference::isolate_address(Isolate* isolate) { |
| 1009 return ExternalReference(isolate); | 999 return ExternalReference(isolate); |
| 1010 } | 1000 } |
| 1011 | 1001 |
| 1012 | 1002 |
| 1013 ExternalReference::ExternalReference(const IC_Utility& ic_utility, | 1003 ExternalReference::ExternalReference(const IC_Utility& ic_utility, |
| 1014 Isolate* isolate) | 1004 Isolate* isolate) |
| 1015 : address_(Redirect(isolate, ic_utility.address())) {} | 1005 : address_(Redirect(isolate, ic_utility.address())) {} |
| 1016 | 1006 |
| 1017 #ifdef ENABLE_DEBUGGER_SUPPORT | |
| 1018 ExternalReference::ExternalReference(const Debug_Address& debug_address, | 1007 ExternalReference::ExternalReference(const Debug_Address& debug_address, |
| 1019 Isolate* isolate) | 1008 Isolate* isolate) |
| 1020 : address_(debug_address.address(isolate)) {} | 1009 : address_(debug_address.address(isolate)) {} |
| 1021 #endif | |
| 1022 | 1010 |
| 1023 ExternalReference::ExternalReference(StatsCounter* counter) | 1011 ExternalReference::ExternalReference(StatsCounter* counter) |
| 1024 : address_(reinterpret_cast<Address>(counter->GetInternalPointer())) {} | 1012 : address_(reinterpret_cast<Address>(counter->GetInternalPointer())) {} |
| 1025 | 1013 |
| 1026 | 1014 |
| 1027 ExternalReference::ExternalReference(Isolate::AddressId id, Isolate* isolate) | 1015 ExternalReference::ExternalReference(Isolate::AddressId id, Isolate* isolate) |
| 1028 : address_(isolate->get_address_from_id(id)) {} | 1016 : address_(isolate->get_address_from_id(id)) {} |
| 1029 | 1017 |
| 1030 | 1018 |
| 1031 ExternalReference::ExternalReference(const SCTableReference& table_ref) | 1019 ExternalReference::ExternalReference(const SCTableReference& table_ref) |
| (...skipping 487 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1519 | 1507 |
| 1520 | 1508 |
| 1521 ExternalReference ExternalReference::mod_two_doubles_operation( | 1509 ExternalReference ExternalReference::mod_two_doubles_operation( |
| 1522 Isolate* isolate) { | 1510 Isolate* isolate) { |
| 1523 return ExternalReference(Redirect(isolate, | 1511 return ExternalReference(Redirect(isolate, |
| 1524 FUNCTION_ADDR(modulo), | 1512 FUNCTION_ADDR(modulo), |
| 1525 BUILTIN_FP_FP_CALL)); | 1513 BUILTIN_FP_FP_CALL)); |
| 1526 } | 1514 } |
| 1527 | 1515 |
| 1528 | 1516 |
| 1529 #ifdef ENABLE_DEBUGGER_SUPPORT | |
| 1530 ExternalReference ExternalReference::debug_break(Isolate* isolate) { | 1517 ExternalReference ExternalReference::debug_break(Isolate* isolate) { |
| 1531 return ExternalReference(Redirect(isolate, FUNCTION_ADDR(Debug_Break))); | 1518 return ExternalReference(Redirect(isolate, FUNCTION_ADDR(Debug_Break))); |
| 1532 } | 1519 } |
| 1533 | 1520 |
| 1534 | 1521 |
| 1535 ExternalReference ExternalReference::debug_step_in_fp_address( | 1522 ExternalReference ExternalReference::debug_step_in_fp_address( |
| 1536 Isolate* isolate) { | 1523 Isolate* isolate) { |
| 1537 return ExternalReference(isolate->debug()->step_in_fp_addr()); | 1524 return ExternalReference(isolate->debug()->step_in_fp_addr()); |
| 1538 } | 1525 } |
| 1539 #endif | |
| 1540 | 1526 |
| 1541 | 1527 |
| 1542 void PositionsRecorder::RecordPosition(int pos) { | 1528 void PositionsRecorder::RecordPosition(int pos) { |
| 1543 ASSERT(pos != RelocInfo::kNoPosition); | 1529 ASSERT(pos != RelocInfo::kNoPosition); |
| 1544 ASSERT(pos >= 0); | 1530 ASSERT(pos >= 0); |
| 1545 state_.current_position = pos; | 1531 state_.current_position = pos; |
| 1546 #ifdef ENABLE_GDB_JIT_INTERFACE | 1532 #ifdef ENABLE_GDB_JIT_INTERFACE |
| 1547 if (gdbjit_lineinfo_ != NULL) { | 1533 if (gdbjit_lineinfo_ != NULL) { |
| 1548 gdbjit_lineinfo_->SetPosition(assembler_->pc_offset(), pos, false); | 1534 gdbjit_lineinfo_->SetPosition(assembler_->pc_offset(), pos, false); |
| 1549 } | 1535 } |
| (...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1627 r2 = r2 - ad; | 1613 r2 = r2 - ad; |
| 1628 } | 1614 } |
| 1629 delta = ad - r2; | 1615 delta = ad - r2; |
| 1630 } while (q1 < delta || (q1 == delta && r1 == 0)); | 1616 } while (q1 < delta || (q1 == delta && r1 == 0)); |
| 1631 int32_t mul = static_cast<int32_t>(q2 + 1); | 1617 int32_t mul = static_cast<int32_t>(q2 + 1); |
| 1632 multiplier_ = (d < 0) ? -mul : mul; | 1618 multiplier_ = (d < 0) ? -mul : mul; |
| 1633 shift_ = p - 32; | 1619 shift_ = p - 32; |
| 1634 } | 1620 } |
| 1635 | 1621 |
| 1636 } } // namespace v8::internal | 1622 } } // namespace v8::internal |
| OLD | NEW |