Mercurial > hg > graal-compiler
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(); |