Mercurial > hg > truffle
comparison src/cpu/x86/vm/assembler_x86_32.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 | 3d62cb85208d |
children | d1605aabd0a1 6aae2f9d0294 |
comparison
equal
deleted
inserted
replaced
167:feeb96a45707 | 168:7793bd37a336 |
---|---|
1052 // If the accessed location is M[reg + offset] and the offset is known, provide the | 1052 // If the accessed location is M[reg + offset] and the offset is known, provide the |
1053 // offset. No explicit code generation is needed if the offset is within a certain | 1053 // offset. No explicit code generation is needed if the offset is within a certain |
1054 // range (0 <= offset <= page_size). | 1054 // range (0 <= offset <= page_size). |
1055 | 1055 |
1056 void null_check(Register reg, int offset = -1); | 1056 void null_check(Register reg, int offset = -1); |
1057 static bool needs_explicit_null_check(int offset); | 1057 static bool needs_explicit_null_check(intptr_t offset); |
1058 | 1058 |
1059 // Required platform-specific helpers for Label::patch_instructions. | 1059 // Required platform-specific helpers for Label::patch_instructions. |
1060 // They _shadow_ the declarations in AbstractAssembler, which are undefined. | 1060 // They _shadow_ the declarations in AbstractAssembler, which are undefined. |
1061 void pd_patch_instruction(address branch, address target); | 1061 void pd_patch_instruction(address branch, address target); |
1062 #ifndef PRODUCT | 1062 #ifndef PRODUCT |