blob: 8cb6d803ce646d6aca4d5dcae23165cc01a19af3 [file] [log] [blame]
// 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 AlwaysSharedSpaceJSObject {
waiter_queue_head: ExternalPointer;
state: uint32;
}
extern class JSAtomicsMutex extends JSSynchronizationPrimitive {
owner_thread_id: int32;
}
extern class JSAtomicsCondition extends JSSynchronizationPrimitive {
@if(TAGGED_SIZE_8_BYTES) optional_padding: uint32;
@ifnot(TAGGED_SIZE_8_BYTES) optional_padding: void;
}