| OLD | NEW | 
|    1 // Copyright (c) 2011, the Dart project authors.  Please see the AUTHORS file |    1 // Copyright (c) 2011, 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  |    4  | 
|    5 #ifndef VM_STUB_CODE_H_ |    5 #ifndef VM_STUB_CODE_H_ | 
|    6 #define VM_STUB_CODE_H_ |    6 #define VM_STUB_CODE_H_ | 
|    7  |    7  | 
|    8 #include "vm/allocation.h" |    8 #include "vm/allocation.h" | 
|    9 #include "vm/assembler.h" |    9 #include "vm/assembler.h" | 
|   10  |   10  | 
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   45  |   45  | 
|   46 // Is it permitted for the stubs above to refer to Object::null(), which is |   46 // Is it permitted for the stubs above to refer to Object::null(), which is | 
|   47 // allocated in the VM isolate and shared across all isolates. |   47 // allocated in the VM isolate and shared across all isolates. | 
|   48 // However, in cases where a simple GC-safe placeholder is needed on the stack, |   48 // However, in cases where a simple GC-safe placeholder is needed on the stack, | 
|   49 // using Smi 0 instead of Object::null() is slightly more efficient, since a Smi |   49 // using Smi 0 instead of Object::null() is slightly more efficient, since a Smi | 
|   50 // does not require relocation. |   50 // does not require relocation. | 
|   51  |   51  | 
|   52 // List of stubs created per isolate, these stubs could potentially contain |   52 // List of stubs created per isolate, these stubs could potentially contain | 
|   53 // embedded objects and hence cannot be shared across isolates. |   53 // embedded objects and hence cannot be shared across isolates. | 
|   54 #define STUB_CODE_LIST(V)                                                      \ |   54 #define STUB_CODE_LIST(V)                                                      \ | 
|   55   V(InvokeDartCode)                                                            \ |  | 
|   56   V(AllocateContext)                                                           \ |   55   V(AllocateContext)                                                           \ | 
|   57   V(UpdateStoreBuffer)                                                         \ |   56   V(UpdateStoreBuffer)                                                         \ | 
|   58   V(OneArgCheckInlineCache)                                                    \ |   57   V(OneArgCheckInlineCache)                                                    \ | 
|   59   V(TwoArgsCheckInlineCache)                                                   \ |   58   V(TwoArgsCheckInlineCache)                                                   \ | 
|   60   V(ThreeArgsCheckInlineCache)                                                 \ |   59   V(ThreeArgsCheckInlineCache)                                                 \ | 
|   61   V(OneArgOptimizedCheckInlineCache)                                           \ |   60   V(OneArgOptimizedCheckInlineCache)                                           \ | 
|   62   V(TwoArgsOptimizedCheckInlineCache)                                          \ |   61   V(TwoArgsOptimizedCheckInlineCache)                                          \ | 
|   63   V(ThreeArgsOptimizedCheckInlineCache)                                        \ |   62   V(ThreeArgsOptimizedCheckInlineCache)                                        \ | 
|   64   V(ClosureCallInlineCache)                                                    \ |   63   V(ClosureCallInlineCache)                                                    \ | 
|   65   V(MegamorphicCall)                                                           \ |   64   V(MegamorphicCall)                                                           \ | 
|   66   V(ZeroArgsUnoptimizedStaticCall)                                             \ |   65   V(ZeroArgsUnoptimizedStaticCall)                                             \ | 
|   67   V(TwoArgsUnoptimizedStaticCall)                                              \ |   66   V(TwoArgsUnoptimizedStaticCall)                                              \ | 
|   68   V(OptimizeFunction)                                                          \ |   67   V(OptimizeFunction)                                                          \ | 
 |   68   V(InvokeDartCode)                                                            \ | 
|   69  |   69  | 
|   70 // class StubEntry is used to describe stub methods generated in dart to |   70 // class StubEntry is used to describe stub methods generated in dart to | 
|   71 // abstract out common code executed from generated dart code. |   71 // abstract out common code executed from generated dart code. | 
|   72 class StubEntry { |   72 class StubEntry { | 
|   73  public: |   73  public: | 
|   74   StubEntry(const char* name, const Code& code); |   74   StubEntry(const char* name, const Code& code); | 
|   75   ~StubEntry() {} |   75   ~StubEntry() {} | 
|   76  |   76  | 
|   77   const ExternalLabel& label() const { return label_; } |   77   const ExternalLabel& label() const { return label_; } | 
|   78   uword EntryPoint() const { return entry_point_; } |   78   uword EntryPoint() const { return entry_point_; } | 
| (...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  203       Assembler* assembler, |  203       Assembler* assembler, | 
|  204       const Register left, |  204       const Register left, | 
|  205       const Register right, |  205       const Register right, | 
|  206       const Register temp1 = kNoRegister, |  206       const Register temp1 = kNoRegister, | 
|  207       const Register temp2 = kNoRegister); |  207       const Register temp2 = kNoRegister); | 
|  208 }; |  208 }; | 
|  209  |  209  | 
|  210 }  // namespace dart |  210 }  // namespace dart | 
|  211  |  211  | 
|  212 #endif  // VM_STUB_CODE_H_ |  212 #endif  // VM_STUB_CODE_H_ | 
| OLD | NEW |