30 import java.util.ArrayList; |
30 import java.util.ArrayList; |
31 import java.util.Arrays; |
31 import java.util.Arrays; |
32 import java.util.List; |
32 import java.util.List; |
33 import java.util.function.Consumer; |
33 import java.util.function.Consumer; |
34 |
34 |
|
35 import org.graalvm.collections.EconomicMap; |
|
36 import org.graalvm.collections.Equivalence; |
35 import org.graalvm.compiler.asm.AbstractAddress; |
37 import org.graalvm.compiler.asm.AbstractAddress; |
36 import org.graalvm.compiler.asm.Assembler; |
38 import org.graalvm.compiler.asm.Assembler; |
37 import org.graalvm.compiler.core.common.NumUtil; |
|
38 import org.graalvm.compiler.code.CompilationResult; |
39 import org.graalvm.compiler.code.CompilationResult; |
39 import org.graalvm.compiler.code.CompilationResult.CodeAnnotation; |
40 import org.graalvm.compiler.code.CompilationResult.CodeAnnotation; |
40 import org.graalvm.compiler.code.DataSection.Data; |
41 import org.graalvm.compiler.code.DataSection.Data; |
41 import org.graalvm.compiler.code.DataSection.RawData; |
42 import org.graalvm.compiler.code.DataSection.RawData; |
|
43 import org.graalvm.compiler.core.common.NumUtil; |
42 import org.graalvm.compiler.core.common.cfg.AbstractBlockBase; |
44 import org.graalvm.compiler.core.common.cfg.AbstractBlockBase; |
43 import org.graalvm.compiler.core.common.spi.ForeignCallsProvider; |
45 import org.graalvm.compiler.core.common.spi.ForeignCallsProvider; |
44 import org.graalvm.compiler.core.common.type.DataPointerConstant; |
46 import org.graalvm.compiler.core.common.type.DataPointerConstant; |
45 import org.graalvm.compiler.debug.Assertions; |
47 import org.graalvm.compiler.debug.Assertions; |
46 import org.graalvm.compiler.debug.DebugContext; |
48 import org.graalvm.compiler.debug.DebugContext; |
53 import org.graalvm.compiler.lir.framemap.FrameMap; |
55 import org.graalvm.compiler.lir.framemap.FrameMap; |
54 import org.graalvm.compiler.options.Option; |
56 import org.graalvm.compiler.options.Option; |
55 import org.graalvm.compiler.options.OptionKey; |
57 import org.graalvm.compiler.options.OptionKey; |
56 import org.graalvm.compiler.options.OptionType; |
58 import org.graalvm.compiler.options.OptionType; |
57 import org.graalvm.compiler.options.OptionValues; |
59 import org.graalvm.compiler.options.OptionValues; |
58 import org.graalvm.util.EconomicMap; |
|
59 import org.graalvm.util.Equivalence; |
|
60 |
60 |
61 import jdk.vm.ci.code.CodeCacheProvider; |
61 import jdk.vm.ci.code.CodeCacheProvider; |
62 import jdk.vm.ci.code.DebugInfo; |
62 import jdk.vm.ci.code.DebugInfo; |
63 import jdk.vm.ci.code.StackSlot; |
63 import jdk.vm.ci.code.StackSlot; |
64 import jdk.vm.ci.code.TargetDescription; |
64 import jdk.vm.ci.code.TargetDescription; |
322 } |
322 } |
323 return recordDataSectionReference(new RawData(data, alignment)); |
323 return recordDataSectionReference(new RawData(data, alignment)); |
324 } |
324 } |
325 |
325 |
326 /** |
326 /** |
327 * Notifies this object of a branch instruction at offset {@code pos} in the code. |
327 * Notifies this object of a branch instruction at offset {@code pcOffset} in the code. |
328 * |
328 * |
329 * @param isNegated negation status of the branch's condition. |
329 * @param isNegated negation status of the branch's condition. |
330 */ |
330 */ |
331 @SuppressWarnings("unused") |
331 @SuppressWarnings("unused") |
332 public void recordBranch(int pos, boolean isNegated) { |
332 public void recordBranch(int pcOffset, boolean isNegated) { |
|
333 } |
|
334 |
|
335 /** |
|
336 * Notifies this object of a call instruction belonging to an INVOKEVIRTUAL or INVOKEINTERFACE |
|
337 * at offset {@code pcOffset} in the code. |
|
338 * |
|
339 * @param nodeSourcePosition source position of the corresponding invoke. |
|
340 */ |
|
341 @SuppressWarnings("unused") |
|
342 public void recordInvokeVirtualOrInterfaceCallOp(int pcOffset, NodeSourcePosition nodeSourcePosition) { |
|
343 } |
|
344 |
|
345 /** |
|
346 * Notifies this object of a call instruction belonging to an INLINE_INVOKE at offset |
|
347 * {@code pcOffset} in the code. |
|
348 * |
|
349 * @param nodeSourcePosition source position of the corresponding invoke. |
|
350 */ |
|
351 @SuppressWarnings("unused") |
|
352 public void recordInlineInvokeCallOp(int pcOffset, NodeSourcePosition nodeSourcePosition) { |
333 } |
353 } |
334 |
354 |
335 /** |
355 /** |
336 * Returns the integer value of any constant that can be represented by a 32-bit integer value, |
356 * Returns the integer value of any constant that can be represented by a 32-bit integer value, |
337 * including long constants that fit into the 32-bit range. |
357 * including long constants that fit into the 32-bit range. |