Guest User

Untitled

a guest
May 13th, 2025
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.63 KB | None | 0 0
  1. // Copyright 2015 the V8 project authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4.  
  5. #include "src/execution/isolate.h"
  6. #include "src/objects/objects-inl.h"
  7.  
  8. using namespace v8::internal;
  9.  
  10. static void* ToWaitLocation(Tagged<JSArrayBuffer> array_buffer, size_t addr)
  11. {
  12. return static_cast<uint8_t*>(array_buffer->backing_store()) + addr;
  13. }
  14.  
  15. void WaitSync(Isolate* isolate, Handle<JSArrayBuffer> array_buffer, size_t addr, int64_t value)
  16. {
  17. void* wait_location = ToWaitLocation(*array_buffer, addr);
  18. std::atomic<int64_t>* p = reinterpret_cast<std::atomic<int64_t>*>(wait_location);
  19. p->load();
  20. }
  21.  
  22.  
  23. -----------------------------------------------------------------------------------------
  24. Disassembly of section .text._Z8WaitSyncPN2v88internal7IsolateENS0_6HandleINS0_13JSArrayBufferEEEjx:
  25.  
  26. 00000000 <_Z8WaitSyncPN2v88internal7IsolateENS0_6HandleINS0_13JSArrayBufferEEEjx>:
  27. {
  28. return static_cast<uint8_t*>(array_buffer->backing_store()) + addr;
  29. }
  30.  
  31. void WaitSync(Isolate* isolate, Handle<JSArrayBuffer> array_buffer, size_t addr, int64_t value)
  32. {
  33. 0: e52db004 push {fp} @ (str fp, [sp, #-4]!)
  34. 4: e28db000 add fp, sp, #0
  35. 8: e5913000 ldr r3, [r1]
  36. c: e5933017 ldr r3, [r3, #23]
  37. 10: f57ff05b dmb ish
  38. 14: e18320d2 ldrd r2, [r3, r2]
  39. 18: f57ff05b dmb ish
  40. void* wait_location = ToWaitLocation(*array_buffer, addr);
  41. std::atomic<int64_t>* p = reinterpret_cast<std::atomic<int64_t>*>(wait_location);
  42. p->load();
  43. }
  44. 1c: e28bd000 add sp, fp, #0
  45. 20: e49db004 pop {fp} @ (ldr fp, [sp], #4)
  46. 24: e12fff1e bx lr
  47.  
Advertisement
Add Comment
Please, Sign In to add comment