summaryrefslogtreecommitdiff
path: root/deps/v8/src/objects/js-atomics-synchronization.tq
blob: 791020f0f645a6eead1c0cba9363ab02b7ab41cf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// Copyright 2022 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

@abstract
extern class JSSynchronizationPrimitive extends JSObject {
  @if(TAGGED_SIZE_8_BYTES) state: uintptr;
  @ifnot(TAGGED_SIZE_8_BYTES) state: uint32;
}

extern class JSAtomicsMutex extends JSSynchronizationPrimitive {
  owner_thread_id: int32;

  @if(TAGGED_SIZE_8_BYTES) optional_padding: uint32;
  @ifnot(TAGGED_SIZE_8_BYTES) optional_padding: void;
}

extern class JSAtomicsCondition extends JSSynchronizationPrimitive {}