Mercurial > hg > truffle
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)); |