src/jdk.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotLoadConfigValueOp.java
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
hotspot Cdiff src/jdk.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotLoadConfigValueOp.java
src/jdk.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotLoadConfigValueOp.java
Print this page
*** 1,7 ****
/*
! * Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
--- 1,7 ----
/*
! * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*** 22,33 ****
--- 22,37 ----
*/
package org.graalvm.compiler.hotspot.amd64;
import static org.graalvm.compiler.core.common.GraalOptions.GeneratePIC;
import static jdk.vm.ci.code.ValueUtil.asRegister;
+
+ import jdk.vm.ci.amd64.AMD64Kind;
+ import jdk.vm.ci.code.Register;
import jdk.vm.ci.meta.AllocatableValue;
+ import org.graalvm.compiler.asm.amd64.AMD64Address;
import org.graalvm.compiler.asm.amd64.AMD64MacroAssembler;
import org.graalvm.compiler.debug.GraalError;
import org.graalvm.compiler.lir.LIRInstructionClass;
import org.graalvm.compiler.lir.amd64.AMD64LIRInstruction;
import org.graalvm.compiler.lir.asm.CompilationResultBuilder;
*** 46,56 ****
}
@Override
public void emitCode(CompilationResultBuilder crb, AMD64MacroAssembler masm) {
if (GeneratePIC.getValue()) {
! masm.movq(asRegister(result), masm.getPlaceholder(-1));
} else {
throw GraalError.unimplemented();
}
crb.recordMark(markId);
}
--- 50,78 ----
}
@Override
public void emitCode(CompilationResultBuilder crb, AMD64MacroAssembler masm) {
if (GeneratePIC.getValue()) {
! AMD64Kind kind = (AMD64Kind) result.getPlatformKind();
! Register reg = asRegister(result);
! AMD64Address placeholder = masm.getPlaceholder(-1);
! switch (kind) {
! case BYTE:
! masm.movsbl(reg, placeholder);
! break;
! case WORD:
! masm.movswl(reg, placeholder);
! break;
! case DWORD:
! masm.movl(reg, placeholder);
! break;
! case QWORD:
! masm.movq(reg, placeholder);
! break;
! default:
! throw GraalError.unimplemented();
! }
} else {
throw GraalError.unimplemented();
}
crb.recordMark(markId);
}
src/jdk.vm.compiler/share/classes/org.graalvm.compiler.hotspot.amd64/src/org/graalvm/compiler/hotspot/amd64/AMD64HotSpotLoadConfigValueOp.java
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File