| OLD | NEW | 
|    1 // Copyright 2013 the V8 project authors. All rights reserved. |    1 // Copyright 2013 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 185 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  196                      Isolate* isolate = NULL, |  196                      Isolate* isolate = NULL, | 
|  197                      FILE* stream = stderr); |  197                      FILE* stream = stderr); | 
|  198   ~Simulator(); |  198   ~Simulator(); | 
|  199  |  199  | 
|  200   // System functions. |  200   // System functions. | 
|  201  |  201  | 
|  202   static void Initialize(Isolate* isolate); |  202   static void Initialize(Isolate* isolate); | 
|  203  |  203  | 
|  204   static Simulator* current(v8::internal::Isolate* isolate); |  204   static Simulator* current(v8::internal::Isolate* isolate); | 
|  205  |  205  | 
 |  206   class CallArgument; | 
 |  207  | 
|  206   // Call an arbitrary function taking an arbitrary number of arguments. The |  208   // Call an arbitrary function taking an arbitrary number of arguments. The | 
|  207   // varargs list must be a set of arguments with type CallArgument, and |  209   // varargs list must be a set of arguments with type CallArgument, and | 
|  208   // terminated by CallArgument::End(). |  210   // terminated by CallArgument::End(). | 
|  209   void CallVoid(byte* entry, ...); |  211   void CallVoid(byte* entry, CallArgument* args); | 
|  210   void CallVoid(byte* entry, va_list args); |  | 
|  211  |  212  | 
|  212   // Like CallVoid, but expect a return value. |  213   // Like CallVoid, but expect a return value. | 
|  213   int64_t CallInt64(byte* entry, ...); |  214   int64_t CallInt64(byte* entry, CallArgument* args); | 
|  214   double CallDouble(byte* entry, ...); |  215   double CallDouble(byte* entry, CallArgument* args); | 
|  215  |  216  | 
|  216   // V8 calls into generated JS code with 5 parameters and into |  217   // V8 calls into generated JS code with 5 parameters and into | 
|  217   // generated RegExp code with 10 parameters. These are convenience functions, |  218   // generated RegExp code with 10 parameters. These are convenience functions, | 
|  218   // which set up the simulator state and grab the result on return. |  219   // which set up the simulator state and grab the result on return. | 
|  219   int64_t CallJS(byte* entry, |  220   int64_t CallJS(byte* entry, | 
|  220                  byte* function_entry, |  221                  byte* function_entry, | 
|  221                  JSFunction* func, |  222                  JSFunction* func, | 
|  222                  Object* revc, |  223                  Object* revc, | 
|  223                  int64_t argc, |  224                  int64_t argc, | 
|  224                  Object*** argv); |  225                  Object*** argv); | 
| (...skipping 633 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  858   static void UnregisterCTryCatch() { |  859   static void UnregisterCTryCatch() { | 
|  859     Simulator::current(Isolate::Current())->PopAddress(); |  860     Simulator::current(Isolate::Current())->PopAddress(); | 
|  860   } |  861   } | 
|  861 }; |  862 }; | 
|  862  |  863  | 
|  863 #endif  // !defined(USE_SIMULATOR) |  864 #endif  // !defined(USE_SIMULATOR) | 
|  864  |  865  | 
|  865 } }  // namespace v8::internal |  866 } }  // namespace v8::internal | 
|  866  |  867  | 
|  867 #endif  // V8_A64_SIMULATOR_A64_H_ |  868 #endif  // V8_A64_SIMULATOR_A64_H_ | 
| OLD | NEW |