// 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 { @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 {}