blob: ee946052461c2c27be0bc7abf6876453c7066f8a [file] [log] [blame]
//===----------- Lock.cpp - Implementation of the Lock class -------------===//
//
// The VMKit project
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
#include "JavaObject.h"
#include "JavaString.h"
#include "JavaThread.h"
#include "mvm/Threads/Locks.h"
using namespace j3;
struct Lock {
JavaObject base;
mvm::SpinLock spin;
JavaString* name;
};
extern "C" void Java_org_j3_mmtk_Lock_acquire__(Lock* l) {
l->spin.acquire();
}
extern "C" void Java_org_j3_mmtk_Lock_check__I () { JavaThread::get()->printBacktrace(); abort(); }
extern "C" void Java_org_j3_mmtk_Lock_release__(Lock* l) {
l->spin.release();
}