mirror of
https://github.com/corda/corda.git
synced 2025-06-20 16:10:26 +00:00
fix openjdk-src build with JDK 8
This commit is contained in:
@ -523,6 +523,9 @@ class MyClasspath : public Classpath {
|
|||||||
GcJobject* blockerLock = makeJobject(t);
|
GcJobject* blockerLock = makeJobject(t);
|
||||||
thread->setBlockerLock(t, blockerLock);
|
thread->setBlockerLock(t, blockerLock);
|
||||||
|
|
||||||
|
#if HAVE_ThreadName_Ljava_lang_String_
|
||||||
|
GcString* name = vm::makeString(t, "Thread-%p", thread);
|
||||||
|
#else
|
||||||
const unsigned BufferSize = 256;
|
const unsigned BufferSize = 256;
|
||||||
char buffer[BufferSize];
|
char buffer[BufferSize];
|
||||||
unsigned length = vm::snprintf(buffer, BufferSize, "Thread-%p", thread);
|
unsigned length = vm::snprintf(buffer, BufferSize, "Thread-%p", thread);
|
||||||
@ -530,6 +533,7 @@ class MyClasspath : public Classpath {
|
|||||||
for (unsigned i = 0; i < length; ++i) {
|
for (unsigned i = 0; i < length; ++i) {
|
||||||
name->body()[i] = buffer[i];
|
name->body()[i] = buffer[i];
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
thread->setName(t, name);
|
thread->setName(t, name);
|
||||||
|
|
||||||
return thread;
|
return thread;
|
||||||
|
@ -19,6 +19,7 @@
|
|||||||
#include <vector>
|
#include <vector>
|
||||||
#include <set>
|
#include <set>
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
|
#include <algorithm>
|
||||||
|
|
||||||
#include "avian/constants.h"
|
#include "avian/constants.h"
|
||||||
#include "avian/finder.h"
|
#include "avian/finder.h"
|
||||||
@ -908,8 +909,6 @@ std::string cppFieldType(Module& module, Field* f)
|
|||||||
|
|
||||||
void writeAccessor(Output* out, Class* cl, Field* f)
|
void writeAccessor(Output* out, Class* cl, Field* f)
|
||||||
{
|
{
|
||||||
std::string typeName = f->typeName;
|
|
||||||
|
|
||||||
out->write("const unsigned ");
|
out->write("const unsigned ");
|
||||||
out->write(capitalize(cl->name));
|
out->write(capitalize(cl->name));
|
||||||
out->write(capitalize(f->name));
|
out->write(capitalize(f->name));
|
||||||
@ -920,7 +919,22 @@ void writeAccessor(Output* out, Class* cl, Field* f)
|
|||||||
out->write("#define HAVE_");
|
out->write("#define HAVE_");
|
||||||
out->write(capitalize(cl->name));
|
out->write(capitalize(cl->name));
|
||||||
out->write(capitalize(f->name));
|
out->write(capitalize(f->name));
|
||||||
out->write(" 1\n\n");
|
out->write(" 1\n");
|
||||||
|
|
||||||
|
if (! f->javaSpec.empty()) {
|
||||||
|
std::string s = f->javaSpec;
|
||||||
|
std::replace(s.begin(), s.end(), '/', '_');
|
||||||
|
std::replace(s.begin(), s.end(), '$', '_');
|
||||||
|
std::replace(s.begin(), s.end(), ';', '_');
|
||||||
|
std::replace(s.begin(), s.end(), '[', '_');
|
||||||
|
|
||||||
|
out->write("#define HAVE_");
|
||||||
|
out->write(capitalize(cl->name));
|
||||||
|
out->write(capitalize(f->name));
|
||||||
|
out->write("_");
|
||||||
|
out->write(s);
|
||||||
|
out->write(" 1\n\n");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void writeAccessors(Output* out, Module& module)
|
void writeAccessors(Output* out, Module& module)
|
||||||
|
Reference in New Issue
Block a user