| OLD | NEW | 
|   1 // Copyright (c) 2011, the Dart project authors.  Please see the AUTHORS file |   1 // Copyright (c) 2012, the Dart project authors.  Please see the AUTHORS file | 
|   2 // for details. All rights reserved. Use of this source code is governed by a |   2 // for details. All rights reserved. Use of this source code is governed by a | 
|   3 // BSD-style license that can be found in the LICENSE file. |   3 // BSD-style license that can be found in the LICENSE file. | 
|   4 // Class for patching compiled code. |   4 // Class for patching compiled code. | 
|   5  |   5  | 
|   6 #ifndef VM_CODE_PATCHER_H_ |   6 #ifndef VM_CODE_PATCHER_H_ | 
|   7 #define VM_CODE_PATCHER_H_ |   7 #define VM_CODE_PATCHER_H_ | 
|   8  |   8  | 
|   9 #include "vm/allocation.h" |   9 #include "vm/allocation.h" | 
|  10  |  10  | 
|  11 namespace dart { |  11 namespace dart { | 
|  12  |  12  | 
|  13 // Forward declaration. |  13 // Forward declaration. | 
|  14 class Array; |  14 class Array; | 
|  15 class Code; |  15 class Code; | 
|  16 class ExternalLabel; |  16 class ExternalLabel; | 
|  17 class Function; |  17 class Function; | 
 |  18 class RawArray; | 
|  18 class RawICData; |  19 class RawICData; | 
|  19 class String; |  20 class String; | 
|  20  |  21  | 
|  21 class CodePatcher : public AllStatic { |  22 class CodePatcher : public AllStatic { | 
|  22  public: |  23  public: | 
|  23   // Dart static calls have a distinct, machine-dependent code pattern. |  24   // Dart static calls have a distinct, machine-dependent code pattern. | 
|  24  |  25  | 
|  25   // Patch static call to the new target. |  26   // Patch static call to the new target. | 
|  26   static void PatchStaticCallAt(uword addr, uword new_target_address); |  27   static void PatchStaticCallAt(uword addr, uword new_target_address); | 
|  27  |  28  | 
| (...skipping 30 matching lines...) Expand all  Loading... | 
|  58  |  59  | 
|  59   static intptr_t InstanceCallSizeInBytes(); |  60   static intptr_t InstanceCallSizeInBytes(); | 
|  60  |  61  | 
|  61   static RawArray* GetTypeTestArray(uword instruction_address); |  62   static RawArray* GetTypeTestArray(uword instruction_address); | 
|  62   static void SetTypeTestArray(uword instruction_address, const Array& value); |  63   static void SetTypeTestArray(uword instruction_address, const Array& value); | 
|  63 }; |  64 }; | 
|  64  |  65  | 
|  65 }  // namespace dart |  66 }  // namespace dart | 
|  66  |  67  | 
|  67 #endif  // VM_CODE_PATCHER_H_ |  68 #endif  // VM_CODE_PATCHER_H_ | 
| OLD | NEW |