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 214 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
225 // Read/modify the reference in the instruction this relocation | 225 // Read/modify the reference in the instruction this relocation |
226 // applies to; can only be called if rmode_ is external_reference | 226 // applies to; can only be called if rmode_ is external_reference |
227 INLINE(Address* target_reference_address()); | 227 INLINE(Address* target_reference_address()); |
228 | 228 |
229 // Read/modify the address of a call instruction. This is used to relocate | 229 // Read/modify the address of a call instruction. This is used to relocate |
230 // the break points where straight-line code is patched with a call | 230 // the break points where straight-line code is patched with a call |
231 // instruction. | 231 // instruction. |
232 INLINE(Address call_address()); | 232 INLINE(Address call_address()); |
233 INLINE(void set_call_address(Address target)); | 233 INLINE(void set_call_address(Address target)); |
234 INLINE(Object* call_object()); | 234 INLINE(Object* call_object()); |
| 235 INLINE(void set_call_object(Object* target)); |
235 INLINE(Object** call_object_address()); | 236 INLINE(Object** call_object_address()); |
236 INLINE(void set_call_object(Object* target)); | |
237 | 237 |
238 inline void Visit(ObjectVisitor* v); | 238 inline void Visit(ObjectVisitor* v); |
239 | 239 |
240 // Patch the code with some other code. | 240 // Patch the code with some other code. |
241 void PatchCode(byte* instructions, int instruction_count); | 241 void PatchCode(byte* instructions, int instruction_count); |
242 | 242 |
243 // Patch the code with a call. | 243 // Patch the code with a call. |
244 void PatchCodeWithCall(Address target, int guard_bytes); | 244 void PatchCodeWithCall(Address target, int guard_bytes); |
245 | 245 |
246 // Check whether this return sequence has been patched | 246 // Check whether this return sequence has been patched |
(...skipping 317 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
564 unsigned int num_bits_set; | 564 unsigned int num_bits_set; |
565 for (num_bits_set = 0; x; x >>= 1) { | 565 for (num_bits_set = 0; x; x >>= 1) { |
566 num_bits_set += x & 1; | 566 num_bits_set += x & 1; |
567 } | 567 } |
568 return num_bits_set; | 568 return num_bits_set; |
569 } | 569 } |
570 | 570 |
571 } } // namespace v8::internal | 571 } } // namespace v8::internal |
572 | 572 |
573 #endif // V8_ASSEMBLER_H_ | 573 #endif // V8_ASSEMBLER_H_ |
OLD | NEW |