| 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 460 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 471 return o >> 2; | 471 return o >> 2; |
| 472 } | 472 } |
| 473 uint32_t jump_address(Label* L); | 473 uint32_t jump_address(Label* L); |
| 474 | 474 |
| 475 // Puts a labels target address at the given position. | 475 // Puts a labels target address at the given position. |
| 476 // The high 8 bits are set to zero. | 476 // The high 8 bits are set to zero. |
| 477 void label_at_put(Label* L, int at_offset); | 477 void label_at_put(Label* L, int at_offset); |
| 478 | 478 |
| 479 // Read/Modify the code target address in the branch/call instruction at pc. | 479 // Read/Modify the code target address in the branch/call instruction at pc. |
| 480 static Address target_address_at(Address pc); | 480 static Address target_address_at(Address pc); |
| 481 static void set_target_address_at(Address pc, Address target); | 481 static void set_target_address_at(Address pc, |
| 482 Address target, |
| 483 ICacheFlushMode icache_flush_mode = |
| 484 FLUSH_ICACHE_IF_NEEDED); |
| 482 // On MIPS there is no Constant Pool so we skip that parameter. | 485 // On MIPS there is no Constant Pool so we skip that parameter. |
| 483 INLINE(static Address target_address_at(Address pc, | 486 INLINE(static Address target_address_at(Address pc, |
| 484 ConstantPoolArray* constant_pool)) { | 487 ConstantPoolArray* constant_pool)) { |
| 485 return target_address_at(pc); | 488 return target_address_at(pc); |
| 486 } | 489 } |
| 487 INLINE(static void set_target_address_at(Address pc, | 490 INLINE(static void set_target_address_at(Address pc, |
| 488 ConstantPoolArray* constant_pool, | 491 ConstantPoolArray* constant_pool, |
| 489 Address target)) { | 492 Address target, |
| 490 set_target_address_at(pc, target); | 493 ICacheFlushMode icache_flush_mode = |
| 494 FLUSH_ICACHE_IF_NEEDED)) { |
| 495 set_target_address_at(pc, target, icache_flush_mode); |
| 491 } | 496 } |
| 492 INLINE(static Address target_address_at(Address pc, Code* code)) { | 497 INLINE(static Address target_address_at(Address pc, Code* code)) { |
| 493 ConstantPoolArray* constant_pool = code ? code->constant_pool() : NULL; | 498 ConstantPoolArray* constant_pool = code ? code->constant_pool() : NULL; |
| 494 return target_address_at(pc, constant_pool); | 499 return target_address_at(pc, constant_pool); |
| 495 } | 500 } |
| 496 INLINE(static void set_target_address_at(Address pc, | 501 INLINE(static void set_target_address_at(Address pc, |
| 497 Code* code, | 502 Code* code, |
| 498 Address target)) { | 503 Address target, |
| 504 ICacheFlushMode icache_flush_mode = |
| 505 FLUSH_ICACHE_IF_NEEDED)) { |
| 499 ConstantPoolArray* constant_pool = code ? code->constant_pool() : NULL; | 506 ConstantPoolArray* constant_pool = code ? code->constant_pool() : NULL; |
| 500 set_target_address_at(pc, constant_pool, target); | 507 set_target_address_at(pc, constant_pool, target, icache_flush_mode); |
| 501 } | 508 } |
| 502 | 509 |
| 503 // Return the code target address at a call site from the return address | 510 // Return the code target address at a call site from the return address |
| 504 // of that call in the instruction stream. | 511 // of that call in the instruction stream. |
| 505 inline static Address target_address_from_return_address(Address pc); | 512 inline static Address target_address_from_return_address(Address pc); |
| 506 | 513 |
| 507 static void JumpLabelToJumpRegister(Address pc); | 514 static void JumpLabelToJumpRegister(Address pc); |
| 508 | 515 |
| 509 static void QuietNaN(HeapObject* nan); | 516 static void QuietNaN(HeapObject* nan); |
| 510 | 517 |
| (...skipping 716 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1227 class EnsureSpace BASE_EMBEDDED { | 1234 class EnsureSpace BASE_EMBEDDED { |
| 1228 public: | 1235 public: |
| 1229 explicit EnsureSpace(Assembler* assembler) { | 1236 explicit EnsureSpace(Assembler* assembler) { |
| 1230 assembler->CheckBuffer(); | 1237 assembler->CheckBuffer(); |
| 1231 } | 1238 } |
| 1232 }; | 1239 }; |
| 1233 | 1240 |
| 1234 } } // namespace v8::internal | 1241 } } // namespace v8::internal |
| 1235 | 1242 |
| 1236 #endif // V8_ARM_ASSEMBLER_MIPS_H_ | 1243 #endif // V8_ARM_ASSEMBLER_MIPS_H_ |
| OLD | NEW |