Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1)

Side by Side Diff: src/s390/simulator-s390.h

Issue 2852983002: [simulator] Make reference redirection thread-safe. (Closed)
Patch Set: Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/ppc/simulator-ppc.cc ('k') | src/s390/simulator-s390.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Declares a Simulator for S390 instructions if we are not generating a native 5 // Declares a Simulator for S390 instructions if we are not generating a native
6 // S390 binary. This Simulator allows us to run and debug S390 code generation 6 // S390 binary. This Simulator allows us to run and debug S390 code generation
7 // on regular desktop machines. 7 // on regular desktop machines.
8 // V8 calls into generated code by "calling" the CALL_GENERATED_CODE macro, 8 // V8 calls into generated code by "calling" the CALL_GENERATED_CODE macro,
9 // which will start execution in the Simulator or forwards to the real entry 9 // which will start execution in the Simulator or forwards to the real entry
10 // on a S390 hardware platform. 10 // on a S390 hardware platform.
(...skipping 422 matching lines...) Expand 10 before | Expand all | Expand 10 after
433 void ExecuteInstruction(Instruction* instr, bool auto_incr_pc = true); 433 void ExecuteInstruction(Instruction* instr, bool auto_incr_pc = true);
434 434
435 // ICache. 435 // ICache.
436 static void CheckICache(base::CustomMatcherHashMap* i_cache, 436 static void CheckICache(base::CustomMatcherHashMap* i_cache,
437 Instruction* instr); 437 Instruction* instr);
438 static void FlushOnePage(base::CustomMatcherHashMap* i_cache, intptr_t start, 438 static void FlushOnePage(base::CustomMatcherHashMap* i_cache, intptr_t start,
439 int size); 439 int size);
440 static CachePage* GetCachePage(base::CustomMatcherHashMap* i_cache, 440 static CachePage* GetCachePage(base::CustomMatcherHashMap* i_cache,
441 void* page); 441 void* page);
442 442
443 // Runtime call support. 443 // Runtime call support. Uses the isolate in a thread-safe way.
444 static void* RedirectExternalReference( 444 static void* RedirectExternalReference(
445 Isolate* isolate, void* external_function, 445 Isolate* isolate, void* external_function,
446 v8::internal::ExternalReference::Type type); 446 v8::internal::ExternalReference::Type type);
447 447
448 // Handle arguments and return value for runtime FP functions. 448 // Handle arguments and return value for runtime FP functions.
449 void GetFpArgs(double* x, double* y, intptr_t* z); 449 void GetFpArgs(double* x, double* y, intptr_t* z);
450 void SetFpResult(const double& result); 450 void SetFpResult(const double& result);
451 void TrashCallerSaveRegisters(); 451 void TrashCallerSaveRegisters();
452 452
453 void CallInternal(byte* entry, int reg_arg_count = 3); 453 void CallInternal(byte* entry, int reg_arg_count = 3);
(...skipping 827 matching lines...) Expand 10 before | Expand all | Expand 10 after
1281 static inline void UnregisterCTryCatch(v8::internal::Isolate* isolate) { 1281 static inline void UnregisterCTryCatch(v8::internal::Isolate* isolate) {
1282 Simulator::current(isolate)->PopAddress(); 1282 Simulator::current(isolate)->PopAddress();
1283 } 1283 }
1284 }; 1284 };
1285 1285
1286 } // namespace internal 1286 } // namespace internal
1287 } // namespace v8 1287 } // namespace v8
1288 1288
1289 #endif // !defined(USE_SIMULATOR) 1289 #endif // !defined(USE_SIMULATOR)
1290 #endif // V8_S390_SIMULATOR_S390_H_ 1290 #endif // V8_S390_SIMULATOR_S390_H_
OLDNEW
« no previous file with comments | « src/ppc/simulator-ppc.cc ('k') | src/s390/simulator-s390.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698