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

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

Issue 2944013002: Remove TypeFeedbackId parameters from assembler and full-code. (Closed)
Patch Set: REBASE+fixes. Created 3 years, 6 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/mips64/assembler-mips64.h ('k') | src/mips64/macro-assembler-mips64.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 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 252 matching lines...) Expand 10 before | Expand all | Expand 10 after
263 263
264 const Instr kSwRegFpNegOffsetPattern = SW | (Register::kCode_fp << kRsShift) | 264 const Instr kSwRegFpNegOffsetPattern = SW | (Register::kCode_fp << kRsShift) |
265 (kNegOffset & kImm16Mask); // NOLINT 265 (kNegOffset & kImm16Mask); // NOLINT
266 // A mask for the Rt register for push, pop, lw, sw instructions. 266 // A mask for the Rt register for push, pop, lw, sw instructions.
267 const Instr kRtMask = kRtFieldMask; 267 const Instr kRtMask = kRtFieldMask;
268 const Instr kLwSwInstrTypeMask = 0xffe00000; 268 const Instr kLwSwInstrTypeMask = 0xffe00000;
269 const Instr kLwSwInstrArgumentMask = ~kLwSwInstrTypeMask; 269 const Instr kLwSwInstrArgumentMask = ~kLwSwInstrTypeMask;
270 const Instr kLwSwOffsetMask = kImm16Mask; 270 const Instr kLwSwOffsetMask = kImm16Mask;
271 271
272 Assembler::Assembler(IsolateData isolate_data, void* buffer, int buffer_size) 272 Assembler::Assembler(IsolateData isolate_data, void* buffer, int buffer_size)
273 : AssemblerBase(isolate_data, buffer, buffer_size), 273 : AssemblerBase(isolate_data, buffer, buffer_size) {
274 recorded_ast_id_(TypeFeedbackId::None()) {
275 reloc_info_writer.Reposition(buffer_ + buffer_size_, pc_); 274 reloc_info_writer.Reposition(buffer_ + buffer_size_, pc_);
276 275
277 last_trampoline_pool_end_ = 0; 276 last_trampoline_pool_end_ = 0;
278 no_trampoline_pool_before_ = 0; 277 no_trampoline_pool_before_ = 0;
279 trampoline_pool_blocked_nesting_ = 0; 278 trampoline_pool_blocked_nesting_ = 0;
280 // We leave space (16 * kTrampolineSlotsSize) 279 // We leave space (16 * kTrampolineSlotsSize)
281 // for BlockTrampolinePoolScope buffer. 280 // for BlockTrampolinePoolScope buffer.
282 next_buffer_check_ = FLAG_force_long_branches 281 next_buffer_check_ = FLAG_force_long_branches
283 ? kMaxInt : kMaxBranchOffset - kTrampolineSlotsSize * 16; 282 ? kMaxInt : kMaxBranchOffset - kTrampolineSlotsSize * 16;
284 internal_trampoline_exception_ = false; 283 internal_trampoline_exception_ = false;
285 last_bound_pos_ = 0; 284 last_bound_pos_ = 0;
286 285
287 trampoline_emitted_ = FLAG_force_long_branches; 286 trampoline_emitted_ = FLAG_force_long_branches;
288 unbound_labels_count_ = 0; 287 unbound_labels_count_ = 0;
289 block_buffer_growth_ = false; 288 block_buffer_growth_ = false;
290
291 ClearRecordedAstId();
292 } 289 }
293 290
294 void Assembler::GetCode(Isolate* isolate, CodeDesc* desc) { 291 void Assembler::GetCode(Isolate* isolate, CodeDesc* desc) {
295 EmitForbiddenSlotInstruction(); 292 EmitForbiddenSlotInstruction();
296 DCHECK(pc_ <= reloc_info_writer.pos()); // No overlap. 293 DCHECK(pc_ <= reloc_info_writer.pos()); // No overlap.
297 // Set up code descriptor. 294 // Set up code descriptor.
298 desc->buffer = buffer_; 295 desc->buffer = buffer_;
299 desc->buffer_size = buffer_size_; 296 desc->buffer_size = buffer_size_;
300 desc->instr_size = pc_offset(); 297 desc->instr_size = pc_offset();
301 desc->reloc_size = 298 desc->reloc_size =
(...skipping 3619 matching lines...) Expand 10 before | Expand all | Expand 10 after
3921 DCHECK(RelocInfo::IsDebugBreakSlot(rmode) || RelocInfo::IsComment(rmode)); 3918 DCHECK(RelocInfo::IsDebugBreakSlot(rmode) || RelocInfo::IsComment(rmode));
3922 // These modes do not need an entry in the constant pool. 3919 // These modes do not need an entry in the constant pool.
3923 } 3920 }
3924 if (!RelocInfo::IsNone(rinfo.rmode())) { 3921 if (!RelocInfo::IsNone(rinfo.rmode())) {
3925 // Don't record external references unless the heap will be serialized. 3922 // Don't record external references unless the heap will be serialized.
3926 if (rmode == RelocInfo::EXTERNAL_REFERENCE && 3923 if (rmode == RelocInfo::EXTERNAL_REFERENCE &&
3927 !serializer_enabled() && !emit_debug_code()) { 3924 !serializer_enabled() && !emit_debug_code()) {
3928 return; 3925 return;
3929 } 3926 }
3930 DCHECK(buffer_space() >= kMaxRelocSize); // Too late to grow buffer here. 3927 DCHECK(buffer_space() >= kMaxRelocSize); // Too late to grow buffer here.
3931 if (rmode == RelocInfo::CODE_TARGET_WITH_ID) { 3928 DCHECK(rmode != RelocInfo::CODE_TARGET_WITH_ID);
3932 RelocInfo reloc_info_with_ast_id(pc_, rmode, RecordedAstId().ToInt(), 3929 reloc_info_writer.Write(&rinfo);
3933 NULL);
3934 ClearRecordedAstId();
3935 reloc_info_writer.Write(&reloc_info_with_ast_id);
3936 } else {
3937 reloc_info_writer.Write(&rinfo);
3938 }
3939 } 3930 }
3940 } 3931 }
3941 3932
3942 3933
3943 void Assembler::BlockTrampolinePoolFor(int instructions) { 3934 void Assembler::BlockTrampolinePoolFor(int instructions) {
3944 CheckTrampolinePoolQuick(instructions); 3935 CheckTrampolinePoolQuick(instructions);
3945 BlockTrampolinePoolBefore(pc_offset() + instructions * kInstrSize); 3936 BlockTrampolinePoolBefore(pc_offset() + instructions * kInstrSize);
3946 } 3937 }
3947 3938
3948 3939
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
4085 4076
4086 if (icache_flush_mode != SKIP_ICACHE_FLUSH) { 4077 if (icache_flush_mode != SKIP_ICACHE_FLUSH) {
4087 Assembler::FlushICache(isolate, pc, 4 * Assembler::kInstrSize); 4078 Assembler::FlushICache(isolate, pc, 4 * Assembler::kInstrSize);
4088 } 4079 }
4089 } 4080 }
4090 4081
4091 } // namespace internal 4082 } // namespace internal
4092 } // namespace v8 4083 } // namespace v8
4093 4084
4094 #endif // V8_TARGET_ARCH_MIPS64 4085 #endif // V8_TARGET_ARCH_MIPS64
OLDNEW
« no previous file with comments | « src/mips64/assembler-mips64.h ('k') | src/mips64/macro-assembler-mips64.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698