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

Side by Side Diff: src/assembler.cc

Issue 256653004: Always include debugger support. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Makefile Created 6 years, 8 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 | Annotate | Revision Log
« no previous file with comments | « src/assembler.h ('k') | src/bootstrapper.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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
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
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
OLDNEW
« no previous file with comments | « src/assembler.h ('k') | src/bootstrapper.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698