| 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 178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 189 if (distance == kNear) { | 189 if (distance == kNear) { |
| 190 near_link_pos_ = pos + 1; | 190 near_link_pos_ = pos + 1; |
| 191 ASSERT(is_near_linked()); | 191 ASSERT(is_near_linked()); |
| 192 } else { | 192 } else { |
| 193 pos_ = pos + 1; | 193 pos_ = pos + 1; |
| 194 ASSERT(is_linked()); | 194 ASSERT(is_linked()); |
| 195 } | 195 } |
| 196 } | 196 } |
| 197 | 197 |
| 198 friend class Assembler; | 198 friend class Assembler; |
| 199 friend class RegexpAssembler; | |
| 200 friend class Displacement; | 199 friend class Displacement; |
| 201 friend class RegExpMacroAssemblerIrregexp; | 200 friend class RegExpMacroAssemblerIrregexp; |
| 202 }; | 201 }; |
| 203 | 202 |
| 204 | 203 |
| 205 enum SaveFPRegsMode { kDontSaveFPRegs, kSaveFPRegs }; | 204 enum SaveFPRegsMode { kDontSaveFPRegs, kSaveFPRegs }; |
| 206 | 205 |
| 207 | 206 |
| 208 // ----------------------------------------------------------------------------- | 207 // ----------------------------------------------------------------------------- |
| 209 // Relocation information | 208 // Relocation information |
| (...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 418 // Read/modify the address of a call instruction. This is used to relocate | 417 // Read/modify the address of a call instruction. This is used to relocate |
| 419 // the break points where straight-line code is patched with a call | 418 // the break points where straight-line code is patched with a call |
| 420 // instruction. | 419 // instruction. |
| 421 INLINE(Address call_address()); | 420 INLINE(Address call_address()); |
| 422 INLINE(void set_call_address(Address target)); | 421 INLINE(void set_call_address(Address target)); |
| 423 INLINE(Object* call_object()); | 422 INLINE(Object* call_object()); |
| 424 INLINE(void set_call_object(Object* target)); | 423 INLINE(void set_call_object(Object* target)); |
| 425 INLINE(Object** call_object_address()); | 424 INLINE(Object** call_object_address()); |
| 426 | 425 |
| 427 template<typename StaticVisitor> inline void Visit(Heap* heap); | 426 template<typename StaticVisitor> inline void Visit(Heap* heap); |
| 428 inline void Visit(ObjectVisitor* v); | 427 inline void Visit(Isolate* isolate, ObjectVisitor* v); |
| 429 | 428 |
| 430 // Patch the code with some other code. | 429 // Patch the code with some other code. |
| 431 void PatchCode(byte* instructions, int instruction_count); | 430 void PatchCode(byte* instructions, int instruction_count); |
| 432 | 431 |
| 433 // Patch the code with a call. | 432 // Patch the code with a call. |
| 434 void PatchCodeWithCall(Address target, int guard_bytes); | 433 void PatchCodeWithCall(Address target, int guard_bytes); |
| 435 | 434 |
| 436 // Check whether this return sequence has been patched | 435 // Check whether this return sequence has been patched |
| 437 // with a call to the debugger. | 436 // with a call to the debugger. |
| 438 INLINE(bool IsPatchedReturnSequence()); | 437 INLINE(bool IsPatchedReturnSequence()); |
| (...skipping 592 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1031 public: | 1030 public: |
| 1032 NullCallWrapper() { } | 1031 NullCallWrapper() { } |
| 1033 virtual ~NullCallWrapper() { } | 1032 virtual ~NullCallWrapper() { } |
| 1034 virtual void BeforeCall(int call_size) const { } | 1033 virtual void BeforeCall(int call_size) const { } |
| 1035 virtual void AfterCall() const { } | 1034 virtual void AfterCall() const { } |
| 1036 }; | 1035 }; |
| 1037 | 1036 |
| 1038 } } // namespace v8::internal | 1037 } } // namespace v8::internal |
| 1039 | 1038 |
| 1040 #endif // V8_ASSEMBLER_H_ | 1039 #endif // V8_ASSEMBLER_H_ |
| OLD | NEW |