| 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 496 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 507         next_position_candidate_pos_delta_ += pos_delta; | 507         next_position_candidate_pos_delta_ += pos_delta; | 
| 508       } | 508       } | 
| 509       next_position_candidate_flushed_ = false; | 509       next_position_candidate_flushed_ = false; | 
| 510     } | 510     } | 
| 511     last_position_ = static_cast<int>(rinfo->data()); | 511     last_position_ = static_cast<int>(rinfo->data()); | 
| 512   } else { | 512   } else { | 
| 513     WriteModeAndPC(pc_delta, rmode); | 513     WriteModeAndPC(pc_delta, rmode); | 
| 514     if (RelocInfo::IsComment(rmode)) { | 514     if (RelocInfo::IsComment(rmode)) { | 
| 515       WriteData(rinfo->data()); | 515       WriteData(rinfo->data()); | 
| 516     } else if (RelocInfo::IsConstPool(rmode) || | 516     } else if (RelocInfo::IsConstPool(rmode) || | 
| 517                RelocInfo::IsVeneerPool(rmode)) { | 517                RelocInfo::IsVeneerPool(rmode) || | 
|  | 518                RelocInfo::IsDeoptId(rmode)) { | 
| 518       WriteIntData(static_cast<int>(rinfo->data())); | 519       WriteIntData(static_cast<int>(rinfo->data())); | 
| 519     } | 520     } | 
| 520   } | 521   } | 
| 521   last_pc_ = rinfo->pc(); | 522   last_pc_ = rinfo->pc(); | 
| 522   last_mode_ = rmode; | 523   last_mode_ = rmode; | 
| 523 #ifdef DEBUG | 524 #ifdef DEBUG | 
| 524   DCHECK(begin_pos - pos_ <= kMaxSize); | 525   DCHECK(begin_pos - pos_ <= kMaxSize); | 
| 525 #endif | 526 #endif | 
| 526 } | 527 } | 
| 527 | 528 | 
| (...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 698         } else if (RelocInfo::IsPosition(rmode)) { | 699         } else if (RelocInfo::IsPosition(rmode)) { | 
| 699           if (mode_mask_ & RelocInfo::kPositionMask) { | 700           if (mode_mask_ & RelocInfo::kPositionMask) { | 
| 700             // Always update the position if we are interested in either | 701             // Always update the position if we are interested in either | 
| 701             // statement positions or non-statement positions. | 702             // statement positions or non-statement positions. | 
| 702             AdvanceReadPosition(); | 703             AdvanceReadPosition(); | 
| 703             if (SetMode(rmode)) return; | 704             if (SetMode(rmode)) return; | 
| 704           } else { | 705           } else { | 
| 705             Advance(kIntSize); | 706             Advance(kIntSize); | 
| 706           } | 707           } | 
| 707         } else if (RelocInfo::IsConstPool(rmode) || | 708         } else if (RelocInfo::IsConstPool(rmode) || | 
| 708                    RelocInfo::IsVeneerPool(rmode)) { | 709                    RelocInfo::IsVeneerPool(rmode) || | 
|  | 710                    RelocInfo::IsDeoptId(rmode)) { | 
| 709           if (SetMode(rmode)) { | 711           if (SetMode(rmode)) { | 
| 710             AdvanceReadInt(); | 712             AdvanceReadInt(); | 
| 711             return; | 713             return; | 
| 712           } | 714           } | 
| 713           Advance(kIntSize); | 715           Advance(kIntSize); | 
| 714         } else if (SetMode(static_cast<RelocInfo::Mode>(rmode))) { | 716         } else if (SetMode(static_cast<RelocInfo::Mode>(rmode))) { | 
| 715           return; | 717           return; | 
| 716         } | 718         } | 
| 717       } | 719       } | 
| 718     } | 720     } | 
| (...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 821     case STATEMENT_POSITION: | 823     case STATEMENT_POSITION: | 
| 822       return "statement position"; | 824       return "statement position"; | 
| 823     case EXTERNAL_REFERENCE: | 825     case EXTERNAL_REFERENCE: | 
| 824       return "external reference"; | 826       return "external reference"; | 
| 825     case INTERNAL_REFERENCE: | 827     case INTERNAL_REFERENCE: | 
| 826       return "internal reference"; | 828       return "internal reference"; | 
| 827     case INTERNAL_REFERENCE_ENCODED: | 829     case INTERNAL_REFERENCE_ENCODED: | 
| 828       return "encoded internal reference"; | 830       return "encoded internal reference"; | 
| 829     case DEOPT_REASON: | 831     case DEOPT_REASON: | 
| 830       return "deopt reason"; | 832       return "deopt reason"; | 
|  | 833     case DEOPT_ID: | 
|  | 834       return "deopt inlining id"; | 
| 831     case CONST_POOL: | 835     case CONST_POOL: | 
| 832       return "constant pool"; | 836       return "constant pool"; | 
| 833     case VENEER_POOL: | 837     case VENEER_POOL: | 
| 834       return "veneer pool"; | 838       return "veneer pool"; | 
| 835     case DEBUG_BREAK_SLOT_AT_POSITION: | 839     case DEBUG_BREAK_SLOT_AT_POSITION: | 
| 836       return "debug break slot at position"; | 840       return "debug break slot at position"; | 
| 837     case DEBUG_BREAK_SLOT_AT_RETURN: | 841     case DEBUG_BREAK_SLOT_AT_RETURN: | 
| 838       return "debug break slot at return"; | 842       return "debug break slot at return"; | 
| 839     case DEBUG_BREAK_SLOT_AT_CALL: | 843     case DEBUG_BREAK_SLOT_AT_CALL: | 
| 840       return "debug break slot at call"; | 844       return "debug break slot at call"; | 
| (...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 928       CHECK(target >= code->instruction_start()); | 932       CHECK(target >= code->instruction_start()); | 
| 929       CHECK(target <= code->instruction_end()); | 933       CHECK(target <= code->instruction_end()); | 
| 930       break; | 934       break; | 
| 931     } | 935     } | 
| 932     case RUNTIME_ENTRY: | 936     case RUNTIME_ENTRY: | 
| 933     case COMMENT: | 937     case COMMENT: | 
| 934     case POSITION: | 938     case POSITION: | 
| 935     case STATEMENT_POSITION: | 939     case STATEMENT_POSITION: | 
| 936     case EXTERNAL_REFERENCE: | 940     case EXTERNAL_REFERENCE: | 
| 937     case DEOPT_REASON: | 941     case DEOPT_REASON: | 
|  | 942     case DEOPT_ID: | 
| 938     case CONST_POOL: | 943     case CONST_POOL: | 
| 939     case VENEER_POOL: | 944     case VENEER_POOL: | 
| 940     case DEBUG_BREAK_SLOT_AT_POSITION: | 945     case DEBUG_BREAK_SLOT_AT_POSITION: | 
| 941     case DEBUG_BREAK_SLOT_AT_RETURN: | 946     case DEBUG_BREAK_SLOT_AT_RETURN: | 
| 942     case DEBUG_BREAK_SLOT_AT_CALL: | 947     case DEBUG_BREAK_SLOT_AT_CALL: | 
| 943     case DEBUG_BREAK_SLOT_AT_TAIL_CALL: | 948     case DEBUG_BREAK_SLOT_AT_TAIL_CALL: | 
| 944     case GENERATOR_CONTINUATION: | 949     case GENERATOR_CONTINUATION: | 
| 945     case WASM_MEMORY_REFERENCE: | 950     case WASM_MEMORY_REFERENCE: | 
| 946     case WASM_MEMORY_SIZE_REFERENCE: | 951     case WASM_MEMORY_SIZE_REFERENCE: | 
| 947     case NONE32: | 952     case NONE32: | 
| (...skipping 1097 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 2045       } | 2050       } | 
| 2046     } | 2051     } | 
| 2047   } | 2052   } | 
| 2048 | 2053 | 
| 2049   return !empty ? emitted_label_.pos() : 0; | 2054   return !empty ? emitted_label_.pos() : 0; | 
| 2050 } | 2055 } | 
| 2051 | 2056 | 
| 2052 | 2057 | 
| 2053 // Platform specific but identical code for all the platforms. | 2058 // Platform specific but identical code for all the platforms. | 
| 2054 | 2059 | 
| 2055 | 2060 void Assembler::RecordDeoptReason(const int reason, int raw_position, | 
| 2056 void Assembler::RecordDeoptReason(const int reason, int raw_position) { | 2061                                   int inlining_id) { | 
| 2057   if (FLAG_trace_deopt || isolate()->cpu_profiler()->is_profiling()) { | 2062   if (FLAG_trace_deopt || isolate()->cpu_profiler()->is_profiling()) { | 
| 2058     EnsureSpace ensure_space(this); | 2063     EnsureSpace ensure_space(this); | 
| 2059     RecordRelocInfo(RelocInfo::POSITION, raw_position); | 2064     RecordRelocInfo(RelocInfo::POSITION, raw_position); | 
| 2060     RecordRelocInfo(RelocInfo::DEOPT_REASON, reason); | 2065     RecordRelocInfo(RelocInfo::DEOPT_REASON, reason); | 
|  | 2066     RecordRelocInfo(RelocInfo::DEOPT_ID, inlining_id); | 
| 2061   } | 2067   } | 
| 2062 } | 2068 } | 
| 2063 | 2069 | 
| 2064 | 2070 | 
| 2065 void Assembler::RecordComment(const char* msg) { | 2071 void Assembler::RecordComment(const char* msg) { | 
| 2066   if (FLAG_code_comments) { | 2072   if (FLAG_code_comments) { | 
| 2067     EnsureSpace ensure_space(this); | 2073     EnsureSpace ensure_space(this); | 
| 2068     RecordRelocInfo(RelocInfo::COMMENT, reinterpret_cast<intptr_t>(msg)); | 2074     RecordRelocInfo(RelocInfo::COMMENT, reinterpret_cast<intptr_t>(msg)); | 
| 2069   } | 2075   } | 
| 2070 } | 2076 } | 
| (...skipping 13 matching lines...) Expand all  Loading... | 
| 2084 | 2090 | 
| 2085 | 2091 | 
| 2086 void Assembler::DataAlign(int m) { | 2092 void Assembler::DataAlign(int m) { | 
| 2087   DCHECK(m >= 2 && base::bits::IsPowerOfTwo32(m)); | 2093   DCHECK(m >= 2 && base::bits::IsPowerOfTwo32(m)); | 
| 2088   while ((pc_offset() & (m - 1)) != 0) { | 2094   while ((pc_offset() & (m - 1)) != 0) { | 
| 2089     db(0); | 2095     db(0); | 
| 2090   } | 2096   } | 
| 2091 } | 2097 } | 
| 2092 }  // namespace internal | 2098 }  // namespace internal | 
| 2093 }  // namespace v8 | 2099 }  // namespace v8 | 
| OLD | NEW | 
|---|