fix bootimage=true build for Windows

This commit is contained in:
Joel Dice 2009-12-02 20:08:07 -07:00
parent b218117881
commit 7a3bf85caf
2 changed files with 9 additions and 4 deletions

View File

@ -64,12 +64,12 @@ makeCodeImage(Thread* t, Zone* zone, BootImage* image, uint8_t* code,
object method = arrayBody(t, classMethodTable(t, c), i); object method = arrayBody(t, classMethodTable(t, c), i);
if ((methodCode(t, method) or (methodFlags(t, method) & ACC_NATIVE)) if ((methodCode(t, method) or (methodFlags(t, method) & ACC_NATIVE))
and ((methodName == 0 and ((methodName == 0
or strcmp or ::strcmp
(reinterpret_cast<char*> (reinterpret_cast<char*>
(&byteArrayBody (&byteArrayBody
(t, vm::methodName(t, method), 0)), methodName) == 0) (t, vm::methodName(t, method), 0)), methodName) == 0)
and (methodSpec == 0 and (methodSpec == 0
or strcmp or ::strcmp
(reinterpret_cast<char*> (reinterpret_cast<char*>
(&byteArrayBody (&byteArrayBody
(t, vm::methodSpec(t, method), 0)), methodSpec) (t, vm::methodSpec(t, method), 0)), methodSpec)

View File

@ -15,6 +15,8 @@ using namespace vm;
namespace { namespace {
namespace local {
const uintptr_t PointerShift = log(BytesPerWord); const uintptr_t PointerShift = log(BytesPerWord);
class Context; class Context;
@ -157,7 +159,7 @@ find(Context* c, object p)
int int
Set::find(object value) Set::find(object value)
{ {
Set::Entry* e = ::find(context, value); Set::Entry* e = local::find(context, value);
if (e) { if (e) {
return e->number; return e->number;
} else { } else {
@ -328,6 +330,8 @@ class MyHeapWalker: public HeapWalker {
HeapVisitor* visitor; HeapVisitor* visitor;
}; };
} // namespace local
} // namespace } // namespace
namespace vm { namespace vm {
@ -335,7 +339,8 @@ namespace vm {
HeapWalker* HeapWalker*
makeHeapWalker(Thread* t, HeapVisitor* v) makeHeapWalker(Thread* t, HeapVisitor* v)
{ {
return new (t->m->heap->allocate(sizeof(MyHeapWalker))) MyHeapWalker(t, v); return new (t->m->heap->allocate(sizeof(local::MyHeapWalker)))
local::MyHeapWalker(t, v);
} }
} // namespace vm } // namespace vm