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 );