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

Side by Side Diff: src/ppc/assembler-ppc.cc

Issue 2109613004: Remove position info from relocation info. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@turbosourcepos
Patch Set: fix Created 4 years, 5 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
« no previous file with comments | « src/ppc/assembler-ppc.h ('k') | src/s390/assembler-s390.h » ('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 5 // modification, are permitted provided that the following conditions
6 // are met: 6 // are 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 202 matching lines...) Expand 10 before | Expand all | Expand 10 after
213 MemOperand::MemOperand(Register ra, Register rb) { 213 MemOperand::MemOperand(Register ra, Register rb) {
214 ra_ = ra; 214 ra_ = ra;
215 rb_ = rb; 215 rb_ = rb;
216 offset_ = 0; 216 offset_ = 0;
217 } 217 }
218 218
219 219
220 // ----------------------------------------------------------------------------- 220 // -----------------------------------------------------------------------------
221 // Specific instructions, constants, and masks. 221 // Specific instructions, constants, and masks.
222 222
223
224 Assembler::Assembler(Isolate* isolate, void* buffer, int buffer_size) 223 Assembler::Assembler(Isolate* isolate, void* buffer, int buffer_size)
225 : AssemblerBase(isolate, buffer, buffer_size), 224 : AssemblerBase(isolate, buffer, buffer_size),
226 recorded_ast_id_(TypeFeedbackId::None()), 225 recorded_ast_id_(TypeFeedbackId::None()),
227 constant_pool_builder_(kLoadPtrMaxReachBits, kLoadDoubleMaxReachBits), 226 constant_pool_builder_(kLoadPtrMaxReachBits, kLoadDoubleMaxReachBits) {
228 positions_recorder_(this) {
229 reloc_info_writer.Reposition(buffer_ + buffer_size_, pc_); 227 reloc_info_writer.Reposition(buffer_ + buffer_size_, pc_);
230 228
231 no_trampoline_pool_before_ = 0; 229 no_trampoline_pool_before_ = 0;
232 trampoline_pool_blocked_nesting_ = 0; 230 trampoline_pool_blocked_nesting_ = 0;
233 constant_pool_entry_sharing_blocked_nesting_ = 0; 231 constant_pool_entry_sharing_blocked_nesting_ = 0;
234 next_trampoline_check_ = kMaxInt; 232 next_trampoline_check_ = kMaxInt;
235 internal_trampoline_exception_ = false; 233 internal_trampoline_exception_ = false;
236 last_bound_pos_ = 0; 234 last_bound_pos_ = 0;
237 optimizable_cmpi_pos_ = -1; 235 optimizable_cmpi_pos_ = -1;
238 trampoline_emitted_ = FLAG_force_long_branches; 236 trampoline_emitted_ = FLAG_force_long_branches;
(...skipping 2219 matching lines...) Expand 10 before | Expand all | Expand 10 after
2458 Memory::Address_at(pc) = buffer_ + pos; 2456 Memory::Address_at(pc) = buffer_ + pos;
2459 } else if (RelocInfo::IsInternalReferenceEncoded(rmode)) { 2457 } else if (RelocInfo::IsInternalReferenceEncoded(rmode)) {
2460 // mov sequence 2458 // mov sequence
2461 intptr_t pos = reinterpret_cast<intptr_t>(target_address_at(pc, code)); 2459 intptr_t pos = reinterpret_cast<intptr_t>(target_address_at(pc, code));
2462 set_target_address_at(isolate(), pc, code, buffer_ + pos, 2460 set_target_address_at(isolate(), pc, code, buffer_ + pos,
2463 SKIP_ICACHE_FLUSH); 2461 SKIP_ICACHE_FLUSH);
2464 } 2462 }
2465 2463
2466 reloc_info_writer.Write(&rinfo); 2464 reloc_info_writer.Write(&rinfo);
2467 } 2465 }
2468
2469 reloc_info_writer.Finish();
2470 } 2466 }
2471 2467
2472 2468
2473 void Assembler::BlockTrampolinePoolFor(int instructions) { 2469 void Assembler::BlockTrampolinePoolFor(int instructions) {
2474 BlockTrampolinePoolBefore(pc_offset() + instructions * kInstrSize); 2470 BlockTrampolinePoolBefore(pc_offset() + instructions * kInstrSize);
2475 } 2471 }
2476 2472
2477 2473
2478 void Assembler::CheckTrampolinePool() { 2474 void Assembler::CheckTrampolinePool() {
2479 // Some small sequences of instructions must not be broken up by the 2475 // Some small sequences of instructions must not be broken up by the
(...skipping 24 matching lines...) Expand all
2504 2500
2505 trampoline_ = Trampoline(pc_offset() - size, tracked_branch_count_); 2501 trampoline_ = Trampoline(pc_offset() - size, tracked_branch_count_);
2506 } 2502 }
2507 } 2503 }
2508 2504
2509 2505
2510 } // namespace internal 2506 } // namespace internal
2511 } // namespace v8 2507 } // namespace v8
2512 2508
2513 #endif // V8_TARGET_ARCH_PPC 2509 #endif // V8_TARGET_ARCH_PPC
OLDNEW
« no previous file with comments | « src/ppc/assembler-ppc.h ('k') | src/s390/assembler-s390.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698