Lines Matching refs:Node
92 void record_for_igvn(Node* n) const { C->record_for_igvn(n); } // delegate to Compile
95 Node* null() const { return zerocon(T_OBJECT); }
96 Node* top() const { return C->top(); }
100 Node* intcon(jint con) const { return _gvn.intcon(con); }
101 Node* longcon(jlong con) const { return _gvn.longcon(con); }
102 Node* makecon(const Type *t) const { return _gvn.makecon(t); }
103 Node* zerocon(BasicType bt) const { return _gvn.zerocon(bt); }
107 Node* byte_map_base_node() {
118 jint find_int_con(Node* n, jint value_if_unknown) {
121 jlong find_long_con(Node* n, jlong value_if_unknown) {
195 static void set_saved_ex_oop(SafePointNode* ex_map, Node* ex_oop);
198 static Node* saved_ex_oop(SafePointNode* ex_map);
201 static Node* clear_saved_ex_oop(SafePointNode* ex_map);
209 void push_ex_oop(Node* ex_oop) {
235 SafePointNode* make_exception_state(Node* ex_oop);
260 Node* use_exception_state(SafePointNode* ex_map);
275 void builtin_throw(Deoptimization::DeoptReason reason, Node* arg = NULL);
298 Node* basic_plus_adr(Node* base, Node* ptr, intptr_t offset) {
301 Node* basic_plus_adr(Node* base, intptr_t offset) {
305 Node* basic_plus_adr(Node* base, Node* offset) {
308 Node* basic_plus_adr(Node* base, Node* ptr, Node* offset);
312 Node* IfTrue(IfNode* iff) { return _gvn.transform(new (C) IfTrueNode(iff)); }
313 Node* IfFalse(IfNode* iff) { return _gvn.transform(new (C) IfFalseNode(iff)); }
315 Node* AddI(Node* l, Node* r) { return _gvn.transform(new (C) AddINode(l, r)); }
316 Node* SubI(Node* l, Node* r) { return _gvn.transform(new (C) SubINode(l, r)); }
317 Node* MulI(Node* l, Node* r) { return _gvn.transform(new (C) MulINode(l, r)); }
318 Node* DivI(Node* ctl, Node* l, Node* r) { return _gvn.transform(new (C) DivINode(ctl, l, r)); }
320 Node* AndI(Node* l, Node* r) { return _gvn.transform(new (C) AndINode(l, r)); }
321 Node* OrI(Node* l, Node* r) { return _gvn.transform(new (C) OrINode(l, r)); }
322 Node* XorI(Node* l, Node* r) { return _gvn.transform(new (C) XorINode(l, r)); }
324 Node* MaxI(Node* l, Node* r) { return _gvn.transform(new (C) MaxINode(l, r)); }
325 Node* MinI(Node* l, Node* r) { return _gvn.transform(new (C) MinINode(l, r)); }
327 Node* LShiftI(Node* l, Node* r) { return _gvn.transform(new (C) LShiftINode(l, r)); }
328 Node* RShiftI(Node* l, Node* r) { return _gvn.transform(new (C) RShiftINode(l, r)); }
329 Node* URShiftI(Node* l, Node* r) { return _gvn.transform(new (C) URShiftINode(l, r)); }
331 Node* CmpI(Node* l, Node* r) { return _gvn.transform(new (C) CmpINode(l, r)); }
332 Node* CmpL(Node* l, Node* r) { return _gvn.transform(new (C) CmpLNode(l, r)); }
333 Node* CmpP(Node* l, Node* r) { return _gvn.transform(new (C) CmpPNode(l, r)); }
334 Node* Bool(Node* cmp, BoolTest::mask relop) { return _gvn.transform(new (C) BoolNode(cmp, relop)); }
336 Node* AddP(Node* b, Node* a, Node* o) { return _gvn.transform(new (C) AddPNode(b, a, o)); }
340 Node* ConvI2L(Node* offset);
341 Node* ConvL2I(Node* offset);
343 Node* load_object_klass(Node* object);
345 Node* load_array_length(Node* array);
352 Node* null_check_common(Node* value, BasicType type,
353 bool assert_null = false, Node* *null_control = NULL);
354 Node* null_check(Node* value, BasicType type = T_OBJECT) {
357 Node* null_check_receiver() {
361 Node* zero_check_int(Node* value) {
366 Node* zero_check_long(Node* value) {
373 Node* null_assert(Node* value, BasicType type = T_OBJECT) {
381 Node* null_check_oop(Node* value, Node* *null_control,
385 bool seems_never_null(Node* obj, ciProfileData* data);
388 Node* maybe_cast_profiled_receiver(Node* not_null_obj,
393 Node* cast_not_null(Node* obj, bool do_replace_in_map = true);
395 void replace_in_map(Node* old, Node* neww);
397 void push(Node* n) { map_not_null(); _map->set_stack(_map->_jvms, _sp++ , n); }
398 Node* pop() { map_not_null(); return _map->stack( _map->_jvms, --_sp ); }
399 Node* peek(int off = 0) { map_not_null(); return _map->stack( _map->_jvms, _sp - off - 1 ); }
401 void push_pair(Node* ldval) {
411 Node* pop_pair() {
413 Node* halfword = pop();
418 void set_pair_local(int i, Node* lval) {
425 void push_node(BasicType n_type, Node* n) {
432 Node* pop_node(BasicType n_type) {
439 Node* control() const { return map_not_null()->control(); }
440 Node* i_o() const { return map_not_null()->i_o(); }
441 Node* returnadr() const { return map_not_null()->returnadr(); }
442 Node* frameptr() const { return map_not_null()->frameptr(); }
443 Node* local(uint idx) const { map_not_null(); return _map->local( _map->_jvms, idx); }
444 Node* stack(uint idx) const { map_not_null(); return _map->stack( _map->_jvms, idx); }
445 Node* argument(uint idx) const { map_not_null(); return _map->argument( _map->_jvms, idx); }
446 Node* monitor_box(uint idx) const { map_not_null(); return _map->monitor_box(_map->_jvms, idx); }
447 Node* monitor_obj(uint idx) const { map_not_null(); return _map->monitor_obj(_map->_jvms, idx); }
449 void set_control (Node* c) { map_not_null()->set_control(c); }
450 void set_i_o (Node* c) { map_not_null()->set_i_o(c); }
451 void set_local(uint idx, Node* c) { map_not_null(); _map->set_local( _map->_jvms, idx, c); }
452 void set_stack(uint idx, Node* c) { map_not_null(); _map->set_stack( _map->_jvms, idx, c); }
453 void set_argument(uint idx, Node* c){ map_not_null(); _map->set_argument(_map->_jvms, idx, c); }
457 Node* memory(uint alias_idx);
458 Node* memory(const TypePtr *tp) { return memory(C->get_alias_index(tp)); }
459 Node* memory(Node* adr) { return memory(_gvn.type(adr)->is_ptr()); }
462 Node* immutable_memory() { return C->immutable_memory(); }
465 void set_memory(Node* c, uint alias_idx) { merged_memory()->set_memory_at(alias_idx, c); }
466 void set_memory(Node* c, const TypePtr *tp) { set_memory(c,C->get_alias_index(tp)); }
467 void set_memory(Node* c, Node* adr) { set_memory(c,_gvn.type(adr)->is_ptr()); }
470 // (The resetting prevents somebody from using the dangling Node pointer.)
471 Node* reset_memory();
475 Node* mem = map_not_null()->memory();
481 void set_all_memory(Node* newmem);
484 void set_all_memory_call(Node* call, bool separate_io_proj = false);
488 Node* make_load(Node* ctl, Node* adr, const Type* t, BasicType bt,
494 Node* make_load(Node* ctl, Node* adr, const Type* t, BasicType bt, const TypePtr* adr_type, bool require_atomic_access = false) {
501 Node* make_load(Node* ctl, Node* adr, const Type* t, BasicType bt, int adr_idx, bool require_atomic_access = false);
505 Node* store_to_memory(Node* ctl, Node* adr, Node* val, BasicType bt,
516 Node* store_to_memory(Node* ctl, Node* adr, Node* val, BasicType bt,
533 Node* store_oop(Node* ctl,
534 Node* obj, // containing obj
535 Node* adr, // actual adress to store val at
537 Node* val,
542 Node* store_oop_to_object(Node* ctl,
543 Node* obj, // containing obj
544 Node* adr, // actual adress to store val at
546 Node* val,
552 Node* store_oop_to_array(Node* ctl,
553 Node* obj, // containing obj
554 Node* adr, // actual adress to store val at
556 Node* val,
563 Node* store_oop_to_unknown(Node* ctl,
564 Node* obj, // containing obj
565 Node* adr, // actual adress to store val at
567 Node* val,
571 void pre_barrier(bool do_load, Node* ctl,
572 Node* obj, Node* adr, uint adr_idx, Node* val, const TypeOopPtr* val_type,
573 Node* pre_val,
576 void post_barrier(Node* ctl, Node* store, Node* obj, Node* adr, uint adr_idx,
577 Node* val, BasicType bt, bool use_precise);
580 Node* array_element_address(Node* ary, Node* idx, BasicType elembt,
585 Node* load_array_element(Node* ctl, Node* ary, Node* idx, const TypeAryPtr* arytype);
608 Node* null_check_receiver_before_call(ciMethod* callee) {
612 Node* n = null_check_receiver();
630 Node* set_results_for_java_call(CallJavaNode* call, bool separate_io_proj = false);
633 void set_predefined_output_for_runtime_call(Node* call) {
636 void set_predefined_output_for_runtime_call(Node* call,
637 Node* keep_mem,
639 Node* set_predefined_input_for_runtime_call(SafePointNode* call);
644 void replace_call(CallNode* call, Node* result);
648 void increment_counter(Node* counter_addr); // increment a debug counter
683 Node* just_allocated_object(Node* current_control);
695 void write_barrier_post(Node *store, Node* obj,
696 Node* adr, uint adr_idx, Node* val, bool use_precise);
700 Node* obj,
701 Node* adr,
703 Node* val,
705 Node* pre_val,
708 void g1_write_barrier_post(Node* store,
709 Node* obj,
710 Node* adr,
712 Node* val,
717 void g1_mark_card(IdealKit& ideal, Node* card_adr, Node* store, uint oop_alias_idx,
718 Node* index, Node* index_adr,
719 Node* buffer, const TypeFunc* tf);
727 Node* precision_rounding(Node* n);
730 Node* dprecision_rounding(Node* n);
733 Node* dstore_rounding(Node* n);
736 Node* opt_iff(Node* region, Node* iff);
737 Node* make_runtime_call(int flags,
741 Node* parm0 = NULL, Node* parm1 = NULL,
742 Node* parm2 = NULL, Node* parm3 = NULL,
743 Node* parm4 = NULL, Node* parm5 = NULL,
744 Node* parm6 = NULL, Node* parm7 = NULL);
756 void merge_memory(Node* new_mem, Node* region, int new_path);
757 void make_slow_call_ex(Node* call, ciInstanceKlass* ex_klass, bool separate_io_proj);
761 Node* insert_mem_bar(int opcode, Node* precedent = NULL);
762 Node* insert_mem_bar_volatile(int opcode, int alias_idx, Node* precedent = NULL);
764 FastLockNode* shared_lock(Node* obj);
765 void shared_unlock(Node* box, Node* obj);
768 Node* fast_and_slow(Node* in, const Type *result_type, Node* null_result, IfNode* fast_test, Node* fast_result, address slow_call, const TypeFunc *slow_call_type, Node* slow_arg, klassOop ex_klass, Node* slow_result);
772 Node* gen_instanceof( Node *subobj, Node* superkls );
776 Node* gen_checkcast( Node *subobj, Node* superkls,
777 Node* *failure_control = NULL );
785 Node* gen_subtype_check(Node* subklass, Node* superklass);
794 Node* type_check_receiver(Node* receiver, ciKlass* klass, float prob,
795 Node* *casted_receiver);
798 Node* set_output_for_allocation(AllocateNode* alloc,
800 Node* get_layout_helper(Node* klass_node, jint& constant_value);
801 Node* new_instance(Node* klass_node,
802 Node* slow_test = NULL,
803 Node* *return_size_val = NULL);
804 Node* new_array(Node* klass_node, Node* count_val, int nargs,
805 Node* *return_size_val = NULL);
808 Node* load_String_offset(Node* ctrl, Node* str);
809 Node* load_String_length(Node* ctrl, Node* str);
810 Node* load_String_value(Node* ctrl, Node* str);
811 void store_String_offset(Node* ctrl, Node* str, Node* value);
812 void store_String_length(Node* ctrl, Node* str, Node* value);
813 void store_String_value(Node* ctrl, Node* str, Node* value);
816 IfNode* create_and_map_if(Node* ctrl, Node* tst, float prob, float cnt) {
824 IfNode* create_and_xform_if(Node* ctrl, Node* tst, float prob, float cnt) {
866 BuildCutout(GraphKit* kit, Node* p, float prob, float cnt = COUNT_UNKNOWN);