Mercurial > hg > truffle
comparison src/share/vm/opto/connode.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 | c436414a719e |
children | d1605aabd0a1 8d191a7697e2 |
comparison
equal
deleted
inserted
replaced
167:feeb96a45707 | 168:7793bd37a336 |
---|---|
269 // may be useful for code generation in the backend. | 269 // may be useful for code generation in the backend. |
270 class EncodePNode : public TypeNode { | 270 class EncodePNode : public TypeNode { |
271 public: | 271 public: |
272 EncodePNode(Node* value, const Type* type): | 272 EncodePNode(Node* value, const Type* type): |
273 TypeNode(type, 2) { | 273 TypeNode(type, 2) { |
274 init_class_id(Class_EncodeP); | |
274 init_req(0, NULL); | 275 init_req(0, NULL); |
275 init_req(1, value); | 276 init_req(1, value); |
276 } | 277 } |
277 virtual int Opcode() const; | 278 virtual int Opcode() const; |
278 virtual Node *Identity( PhaseTransform *phase ); | 279 virtual Node *Identity( PhaseTransform *phase ); |
289 // may be useful for code generation in the backend. | 290 // may be useful for code generation in the backend. |
290 class DecodeNNode : public TypeNode { | 291 class DecodeNNode : public TypeNode { |
291 public: | 292 public: |
292 DecodeNNode(Node* value, const Type* type): | 293 DecodeNNode(Node* value, const Type* type): |
293 TypeNode(type, 2) { | 294 TypeNode(type, 2) { |
295 init_class_id(Class_DecodeN); | |
294 init_req(0, NULL); | 296 init_req(0, NULL); |
295 init_req(1, value); | 297 init_req(1, value); |
296 } | 298 } |
297 virtual int Opcode() const; | 299 virtual int Opcode() const; |
298 virtual Node *Identity( PhaseTransform *phase ); | 300 virtual Node *Identity( PhaseTransform *phase ); |