| 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 | 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 3166 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3177 // to write pure data with no pointers and the constant pool should | 3177 // to write pure data with no pointers and the constant pool should |
| 3178 // be emitted before using dd. | 3178 // be emitted before using dd. |
| 3179 ASSERT(num_pending_reloc_info_ == 0); | 3179 ASSERT(num_pending_reloc_info_ == 0); |
| 3180 ASSERT(num_pending_64_bit_reloc_info_ == 0); | 3180 ASSERT(num_pending_64_bit_reloc_info_ == 0); |
| 3181 CheckBuffer(); | 3181 CheckBuffer(); |
| 3182 *reinterpret_cast<uint32_t*>(pc_) = data; | 3182 *reinterpret_cast<uint32_t*>(pc_) = data; |
| 3183 pc_ += sizeof(uint32_t); | 3183 pc_ += sizeof(uint32_t); |
| 3184 } | 3184 } |
| 3185 | 3185 |
| 3186 | 3186 |
| 3187 void Assembler::emit_code_stub_address(Code* stub) { |
| 3188 CheckBuffer(); |
| 3189 *reinterpret_cast<uint32_t*>(pc_) = |
| 3190 reinterpret_cast<uint32_t>(stub->instruction_start()); |
| 3191 pc_ += sizeof(uint32_t); |
| 3192 } |
| 3193 |
| 3194 |
| 3187 void Assembler::RecordRelocInfo(RelocInfo::Mode rmode, intptr_t data, | 3195 void Assembler::RecordRelocInfo(RelocInfo::Mode rmode, intptr_t data, |
| 3188 UseConstantPoolMode mode) { | 3196 UseConstantPoolMode mode) { |
| 3189 // We do not try to reuse pool constants. | 3197 // We do not try to reuse pool constants. |
| 3190 RelocInfo rinfo(pc_, rmode, data, NULL); | 3198 RelocInfo rinfo(pc_, rmode, data, NULL); |
| 3191 if (((rmode >= RelocInfo::JS_RETURN) && | 3199 if (((rmode >= RelocInfo::JS_RETURN) && |
| 3192 (rmode <= RelocInfo::DEBUG_BREAK_SLOT)) || | 3200 (rmode <= RelocInfo::DEBUG_BREAK_SLOT)) || |
| 3193 (rmode == RelocInfo::CONST_POOL) || | 3201 (rmode == RelocInfo::CONST_POOL) || |
| 3194 mode == DONT_USE_CONSTANT_POOL) { | 3202 mode == DONT_USE_CONSTANT_POOL) { |
| 3195 // Adjust code for new modes. | 3203 // Adjust code for new modes. |
| 3196 ASSERT(RelocInfo::IsDebugBreakSlot(rmode) | 3204 ASSERT(RelocInfo::IsDebugBreakSlot(rmode) |
| (...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3438 | 3446 |
| 3439 // Since a constant pool was just emitted, move the check offset forward by | 3447 // Since a constant pool was just emitted, move the check offset forward by |
| 3440 // the standard interval. | 3448 // the standard interval. |
| 3441 next_buffer_check_ = pc_offset() + kCheckPoolInterval; | 3449 next_buffer_check_ = pc_offset() + kCheckPoolInterval; |
| 3442 } | 3450 } |
| 3443 | 3451 |
| 3444 | 3452 |
| 3445 } } // namespace v8::internal | 3453 } } // namespace v8::internal |
| 3446 | 3454 |
| 3447 #endif // V8_TARGET_ARCH_ARM | 3455 #endif // V8_TARGET_ARCH_ARM |
| OLD | NEW |