comparison src/share/vm/opto/parse.hpp @ 18041:52b4284cb496

Merge with jdk8u20-b26
author Gilles Duboscq <duboscq@ssw.jku.at>
date Wed, 15 Oct 2014 16:02:50 +0200
parents 89152779163c 62c54fcc0a35
children 7848fc12602b
comparison
equal deleted inserted replaced
17606:45d7b2c7029d 18041:52b4284cb496
139 uint count_inlines() const { return _count_inlines; }; 139 uint count_inlines() const { return _count_inlines; };
140 #endif 140 #endif
141 GrowableArray<InlineTree*> subtrees() { return _subtrees; } 141 GrowableArray<InlineTree*> subtrees() { return _subtrees; }
142 142
143 void print_value_on(outputStream* st) const PRODUCT_RETURN; 143 void print_value_on(outputStream* st) const PRODUCT_RETURN;
144
145 bool _forced_inline; // Inlining was forced by CompilerOracle or ciReplay
146 bool forced_inline() const { return _forced_inline; }
147 // Count number of nodes in this subtree
148 int count() const;
149 // Dump inlining replay data to the stream.
150 void dump_replay_data(outputStream* out);
144 }; 151 };
145 152
146 153
147 //----------------------------------------------------------------------------- 154 //-----------------------------------------------------------------------------
148 //------------------------------Parse------------------------------------------ 155 //------------------------------Parse------------------------------------------
328 Block* _blocks; // Array of basic-block structs. 335 Block* _blocks; // Array of basic-block structs.
329 int _block_count; // Number of elements in _blocks. 336 int _block_count; // Number of elements in _blocks.
330 337
331 GraphKit _exits; // Record all normal returns and throws here. 338 GraphKit _exits; // Record all normal returns and throws here.
332 bool _wrote_final; // Did we write a final field? 339 bool _wrote_final; // Did we write a final field?
333 bool _count_invocations; // update and test invocation counter 340 bool _wrote_volatile; // Did we write a volatile field?
341 bool _count_invocations; // update and test invocation counter
334 bool _method_data_update; // update method data oop 342 bool _method_data_update; // update method data oop
335 Node* _alloc_with_final; // An allocation node with final field 343 Node* _alloc_with_final; // An allocation node with final field
336 344
337 // Variables which track Java semantics during bytecode parsing: 345 // Variables which track Java semantics during bytecode parsing:
338 346
371 int block_count() const { return _block_count; } 379 int block_count() const { return _block_count; }
372 380
373 GraphKit& exits() { return _exits; } 381 GraphKit& exits() { return _exits; }
374 bool wrote_final() const { return _wrote_final; } 382 bool wrote_final() const { return _wrote_final; }
375 void set_wrote_final(bool z) { _wrote_final = z; } 383 void set_wrote_final(bool z) { _wrote_final = z; }
384 bool wrote_volatile() const { return _wrote_volatile; }
385 void set_wrote_volatile(bool z) { _wrote_volatile = z; }
376 bool count_invocations() const { return _count_invocations; } 386 bool count_invocations() const { return _count_invocations; }
377 bool method_data_update() const { return _method_data_update; } 387 bool method_data_update() const { return _method_data_update; }
378 Node* alloc_with_final() const { return _alloc_with_final; } 388 Node* alloc_with_final() const { return _alloc_with_final; }
379 void set_alloc_with_final(Node* n) { 389 void set_alloc_with_final(Node* n) {
380 assert((_alloc_with_final == NULL) || (_alloc_with_final == n), "different init objects?"); 390 assert((_alloc_with_final == NULL) || (_alloc_with_final == n), "different init objects?");
468 // Helper function to generate array store 478 // Helper function to generate array store
469 void array_store(BasicType etype); 479 void array_store(BasicType etype);
470 // Helper function to compute array addressing 480 // Helper function to compute array addressing
471 Node* array_addressing(BasicType type, int vals, const Type* *result2=NULL); 481 Node* array_addressing(BasicType type, int vals, const Type* *result2=NULL);
472 482
483 void rtm_deopt();
484
473 // Pass current map to exits 485 // Pass current map to exits
474 void return_current(Node* value); 486 void return_current(Node* value);
475 487
476 // Register finalizers on return from Object.<init> 488 // Register finalizers on return from Object.<init>
477 void call_register_finalizer(); 489 void call_register_finalizer();