Mercurial > hg > graal-jvmci-8
comparison src/cpu/x86/vm/assembler_x86_64.hpp @ 168:7793bd37a336
6705887: Compressed Oops: generate x64 addressing and implicit null checks with narrow oops
Summary: Generate addresses and implicit null checks with narrow oops to avoid decoding.
Reviewed-by: jrose, never
author | kvn |
---|---|
date | Thu, 29 May 2008 12:04:14 -0700 |
parents | feeb96a45707 |
children | 44abbb0d4c18 |
comparison
equal
deleted
inserted
replaced
167:feeb96a45707 | 168:7793bd37a336 |
---|---|
1026 // reg is NULL. If the accessed location is M[reg + offset] and the | 1026 // reg is NULL. If the accessed location is M[reg + offset] and the |
1027 // offset is known, provide the offset. No explicit code generation | 1027 // offset is known, provide the offset. No explicit code generation |
1028 // is needed if the offset is within a certain range (0 <= offset <= | 1028 // is needed if the offset is within a certain range (0 <= offset <= |
1029 // page_size). | 1029 // page_size). |
1030 void null_check(Register reg, int offset = -1); | 1030 void null_check(Register reg, int offset = -1); |
1031 static bool needs_explicit_null_check(int offset); | 1031 static bool needs_explicit_null_check(intptr_t offset); |
1032 | 1032 |
1033 // Required platform-specific helpers for Label::patch_instructions. | 1033 // Required platform-specific helpers for Label::patch_instructions. |
1034 // They _shadow_ the declarations in AbstractAssembler, which are undefined. | 1034 // They _shadow_ the declarations in AbstractAssembler, which are undefined. |
1035 void pd_patch_instruction(address branch, address target); | 1035 void pd_patch_instruction(address branch, address target); |
1036 #ifndef PRODUCT | 1036 #ifndef PRODUCT |