comparison src/share/vm/opto/callnode.hpp @ 7194:beebba0acc11

7172640: C2: instrinsic implementations in LibraryCallKit should use argument() instead of pop() Reviewed-by: kvn, jrose
author twisti
date Mon, 26 Nov 2012 17:25:11 -0800
parents 1d7922586cf6
children d092d1b31229
comparison
equal deleted inserted replaced
7193:ee32440febeb 7194:beebba0acc11
342 *(JVMState**)&_jvms = s; // override const attribute in the accessor 342 *(JVMState**)&_jvms = s; // override const attribute in the accessor
343 } 343 }
344 OopMap *oop_map() const { return _oop_map; } 344 OopMap *oop_map() const { return _oop_map; }
345 void set_oop_map(OopMap *om) { _oop_map = om; } 345 void set_oop_map(OopMap *om) { _oop_map = om; }
346 346
347 private:
348 void verify_input(JVMState* jvms, uint idx) const {
349 assert(verify_jvms(jvms), "jvms must match");
350 Node* n = in(idx);
351 assert((!n->bottom_type()->isa_long() && !n->bottom_type()->isa_double()) ||
352 in(idx + 1)->is_top(), "2nd half of long/double");
353 }
354
355 public:
347 // Functionality from old debug nodes which has changed 356 // Functionality from old debug nodes which has changed
348 Node *local(JVMState* jvms, uint idx) const { 357 Node *local(JVMState* jvms, uint idx) const {
349 assert(verify_jvms(jvms), "jvms must match"); 358 verify_input(jvms, jvms->locoff() + idx);
350 return in(jvms->locoff() + idx); 359 return in(jvms->locoff() + idx);
351 } 360 }
352 Node *stack(JVMState* jvms, uint idx) const { 361 Node *stack(JVMState* jvms, uint idx) const {
353 assert(verify_jvms(jvms), "jvms must match"); 362 verify_input(jvms, jvms->stkoff() + idx);
354 return in(jvms->stkoff() + idx); 363 return in(jvms->stkoff() + idx);
355 } 364 }
356 Node *argument(JVMState* jvms, uint idx) const { 365 Node *argument(JVMState* jvms, uint idx) const {
357 assert(verify_jvms(jvms), "jvms must match"); 366 verify_input(jvms, jvms->argoff() + idx);
358 return in(jvms->argoff() + idx); 367 return in(jvms->argoff() + idx);
359 } 368 }
360 Node *monitor_box(JVMState* jvms, uint idx) const { 369 Node *monitor_box(JVMState* jvms, uint idx) const {
361 assert(verify_jvms(jvms), "jvms must match"); 370 assert(verify_jvms(jvms), "jvms must match");
362 return in(jvms->monitor_box_offset(idx)); 371 return in(jvms->monitor_box_offset(idx));