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

Side by Side Diff: src/arm/assembler-arm-inl.h

Issue 2869683004: [arm] Share constant pool entries in snapshot. (Closed)
Patch Set: Update tools/v8heapconst.py Created 3 years, 7 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
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 382 matching lines...) Expand 10 before | Expand all | Expand 10 after
393 } 393 }
394 394
395 395
396 void Assembler::deserialization_set_target_internal_reference_at( 396 void Assembler::deserialization_set_target_internal_reference_at(
397 Isolate* isolate, Address pc, Address target, RelocInfo::Mode mode) { 397 Isolate* isolate, Address pc, Address target, RelocInfo::Mode mode) {
398 Memory::Address_at(pc) = target; 398 Memory::Address_at(pc) = target;
399 } 399 }
400 400
401 401
402 bool Assembler::is_constant_pool_load(Address pc) { 402 bool Assembler::is_constant_pool_load(Address pc) {
403 if (CpuFeatures::IsSupported(ARMv7)) { 403 return IsLdrPcImmediateOffset(Memory::int32_at(pc));
404 return !Assembler::IsMovW(Memory::int32_at(pc));
405 } else {
406 return !Assembler::IsMovImmed(Memory::int32_at(pc));
407 }
408 } 404 }
409 405
410 406
411 Address Assembler::constant_pool_entry_address(Address pc, 407 Address Assembler::constant_pool_entry_address(Address pc,
412 Address constant_pool) { 408 Address constant_pool) {
413 DCHECK(Assembler::IsLdrPcImmediateOffset(Memory::int32_at(pc))); 409 DCHECK(Assembler::IsLdrPcImmediateOffset(Memory::int32_at(pc)));
414 Instr instr = Memory::int32_at(pc); 410 Instr instr = Memory::int32_at(pc);
415 return pc + GetLdrRegisterImmediateOffset(instr) + kPcLoadDelta; 411 return pc + GetLdrRegisterImmediateOffset(instr) + kPcLoadDelta;
416 } 412 }
417 413
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
510 Address constant_pool = code ? code->constant_pool() : NULL; 506 Address constant_pool = code ? code->constant_pool() : NULL;
511 set_target_address_at(isolate, pc, constant_pool, target, icache_flush_mode); 507 set_target_address_at(isolate, pc, constant_pool, target, icache_flush_mode);
512 } 508 }
513 509
514 EnsureSpace::EnsureSpace(Assembler* assembler) { assembler->CheckBuffer(); } 510 EnsureSpace::EnsureSpace(Assembler* assembler) { assembler->CheckBuffer(); }
515 511
516 } // namespace internal 512 } // namespace internal
517 } // namespace v8 513 } // namespace v8
518 514
519 #endif // V8_ARM_ASSEMBLER_ARM_INL_H_ 515 #endif // V8_ARM_ASSEMBLER_ARM_INL_H_
OLDNEW
« no previous file with comments | « src/arm/assembler-arm.cc ('k') | src/assembler.h » ('j') | src/disassembler.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698