graal tip does not build on Windows today

Caspole, Eric Eric.Caspole at
Wed Jun 12 10:53:12 PDT 2013

Hi Graal folks,
I am building on Windows today and getting an error I did not see before, previously it has worked to build on Windows.
If it is a matter to add an extra "return 0;" to keep the compiler happy, I can make a webrev for it.

c:\work\graal-openjdk\graal\src\cpu\x86\vm\codeinstaller_x86.hpp(56): error C2220: warning treated as error - no 'object' file gener
ated [c:\work\graal-openjdk\graal\build\vs-amd64\jvm.vcxproj]
c:\work\graal-openjdk\graal\src\cpu\x86\vm\codeinstaller_x86.hpp(56): warning C4715: 'CodeInstaller::pd_next_offset' : not all contr
ol paths return a value [c:\work\graal-openjdk\graal\build\vs-amd64\jvm.vcxproj]

the code here is doing a fatal where the error is:

inline jint CodeInstaller::pd_next_offset(NativeInstruction* inst, jint pc_offset, oop method) {
  if (inst->is_call() || inst->is_jump()) {
    assert(NativeCall::instruction_size == (int)NativeJump::instruction_size, "unexpected size");
    return (pc_offset + NativeCall::instruction_size);
  } else if (inst->is_mov_literal64()) {
    // mov+call instruction pair
    jint offset = pc_offset + NativeMovConstReg::instruction_size;
    u_char* call = (u_char*) (_instructions->start() + offset);
    assert((call[0] == 0x40 || call[0] == 0x41) && call[1] == 0xFF, "expected call with rex/rexb prefix byte");
    offset += 3; /* prefix byte + opcode byte + modrm byte */
    return (offset);
  } else if (inst->is_call_reg()) {
    // the inlined vtable stub contains a "call register" instruction
    assert(method != NULL, "only valid for virtual calls");
    return (pc_offset + ((NativeCallReg *) inst)->next_instruction_offset());
  } else {
    fatal("unsupported type of instruction for call site");

More information about the graal-dev mailing list