| OLD | NEW | 
|---|
| 1 // Copyright 2006-2009 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2009 the V8 project authors. All rights reserved. | 
| 2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without | 
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are | 
| 4 // met: | 4 // met: | 
| 5 // | 5 // | 
| 6 //     * Redistributions of source code must retain the above copyright | 6 //     * Redistributions of source code must retain the above copyright | 
| 7 //       notice, this list of conditions and the following disclaimer. | 7 //       notice, this list of conditions and the following disclaimer. | 
| 8 //     * Redistributions in binary form must reproduce the above | 8 //     * Redistributions in binary form must reproduce the above | 
| 9 //       copyright notice, this list of conditions and the following | 9 //       copyright notice, this list of conditions and the following | 
| 10 //       disclaimer in the documentation and/or other materials provided | 10 //       disclaimer in the documentation and/or other materials provided | 
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 57   void Jump(intptr_t target, RelocInfo::Mode rmode, Condition cond = al); | 57   void Jump(intptr_t target, RelocInfo::Mode rmode, Condition cond = al); | 
| 58   void Call(intptr_t target, RelocInfo::Mode rmode, Condition cond = al); | 58   void Call(intptr_t target, RelocInfo::Mode rmode, Condition cond = al); | 
| 59  public: | 59  public: | 
| 60   void Jump(Register target, Condition cond = al); | 60   void Jump(Register target, Condition cond = al); | 
| 61   void Jump(byte* target, RelocInfo::Mode rmode, Condition cond = al); | 61   void Jump(byte* target, RelocInfo::Mode rmode, Condition cond = al); | 
| 62   void Jump(Handle<Code> code, RelocInfo::Mode rmode, Condition cond = al); | 62   void Jump(Handle<Code> code, RelocInfo::Mode rmode, Condition cond = al); | 
| 63   void Call(Register target, Condition cond = al); | 63   void Call(Register target, Condition cond = al); | 
| 64   void Call(byte* target, RelocInfo::Mode rmode, Condition cond = al); | 64   void Call(byte* target, RelocInfo::Mode rmode, Condition cond = al); | 
| 65   void Call(Handle<Code> code, RelocInfo::Mode rmode, Condition cond = al); | 65   void Call(Handle<Code> code, RelocInfo::Mode rmode, Condition cond = al); | 
| 66   void Ret(Condition cond = al); | 66   void Ret(Condition cond = al); | 
|  | 67   void Drop(int stack_elements, Condition cond = al); | 
|  | 68   void Call(Label* target); | 
|  | 69   void Move(Register dst, Handle<Object> value); | 
| 67   // Jumps to the label at the index given by the Smi in "index". | 70   // Jumps to the label at the index given by the Smi in "index". | 
| 68   void SmiJumpTable(Register index, Vector<Label*> targets); | 71   void SmiJumpTable(Register index, Vector<Label*> targets); | 
| 69   // Load an object from the root table. | 72   // Load an object from the root table. | 
| 70   void LoadRoot(Register destination, | 73   void LoadRoot(Register destination, | 
| 71                 Heap::RootListIndex index, | 74                 Heap::RootListIndex index, | 
| 72                 Condition cond = al); | 75                 Condition cond = al); | 
| 73 | 76 | 
| 74   // Sets the remembered set bit for [address+offset], where address is the | 77   // Sets the remembered set bit for [address+offset], where address is the | 
| 75   // address of the heap object 'object'.  The address must be in the first 8K | 78   // address of the heap object 'object'.  The address must be in the first 8K | 
| 76   // of an allocated page. The 'scratch' register is used in the | 79   // of an allocated page. The 'scratch' register is used in the | 
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 141 #endif | 144 #endif | 
| 142 | 145 | 
| 143   // --------------------------------------------------------------------------- | 146   // --------------------------------------------------------------------------- | 
| 144   // Exception handling | 147   // Exception handling | 
| 145 | 148 | 
| 146   // Push a new try handler and link into try handler chain. | 149   // Push a new try handler and link into try handler chain. | 
| 147   // The return address must be passed in register lr. | 150   // The return address must be passed in register lr. | 
| 148   // On exit, r0 contains TOS (code slot). | 151   // On exit, r0 contains TOS (code slot). | 
| 149   void PushTryHandler(CodeLocation try_location, HandlerType type); | 152   void PushTryHandler(CodeLocation try_location, HandlerType type); | 
| 150 | 153 | 
|  | 154   // Unlink the stack handler on top of the stack from the try handler chain. | 
|  | 155   void PopTryHandler(); | 
| 151 | 156 | 
| 152   // --------------------------------------------------------------------------- | 157   // --------------------------------------------------------------------------- | 
| 153   // Inline caching support | 158   // Inline caching support | 
| 154 | 159 | 
| 155   // Generates code that verifies that the maps of objects in the | 160   // Generates code that verifies that the maps of objects in the | 
| 156   // prototype chain of object hasn't changed since the code was | 161   // prototype chain of object hasn't changed since the code was | 
| 157   // generated and branches to the miss label if any map has. If | 162   // generated and branches to the miss label if any map has. If | 
| 158   // necessary the function also generates code for security check | 163   // necessary the function also generates code for security check | 
| 159   // in case of global object holders. The scratch and holder | 164   // in case of global object holders. The scratch and holder | 
| 160   // registers are always clobbered, but the object register is only | 165   // registers are always clobbered, but the object register is only | 
| (...skipping 243 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 404 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) | 409 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) | 
| 405 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> | 410 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> | 
| 406 #else | 411 #else | 
| 407 #define ACCESS_MASM(masm) masm-> | 412 #define ACCESS_MASM(masm) masm-> | 
| 408 #endif | 413 #endif | 
| 409 | 414 | 
| 410 | 415 | 
| 411 } }  // namespace v8::internal | 416 } }  // namespace v8::internal | 
| 412 | 417 | 
| 413 #endif  // V8_ARM_MACRO_ASSEMBLER_ARM_H_ | 418 #endif  // V8_ARM_MACRO_ASSEMBLER_ARM_H_ | 
| OLD | NEW | 
|---|