1070 bool stores_are_sane(PhaseTransform* phase); |
1070 bool stores_are_sane(PhaseTransform* phase); |
1071 #endif //ASSERT |
1071 #endif //ASSERT |
1072 |
1072 |
1073 // See if this store can be captured; return offset where it initializes. |
1073 // See if this store can be captured; return offset where it initializes. |
1074 // Return 0 if the store cannot be moved (any sort of problem). |
1074 // Return 0 if the store cannot be moved (any sort of problem). |
1075 intptr_t can_capture_store(StoreNode* st, PhaseTransform* phase); |
1075 intptr_t can_capture_store(StoreNode* st, PhaseTransform* phase, bool can_reshape); |
1076 |
1076 |
1077 // Capture another store; reformat it to write my internal raw memory. |
1077 // Capture another store; reformat it to write my internal raw memory. |
1078 // Return the captured copy, else NULL if there is some sort of problem. |
1078 // Return the captured copy, else NULL if there is some sort of problem. |
1079 Node* capture_store(StoreNode* st, intptr_t start, PhaseTransform* phase); |
1079 Node* capture_store(StoreNode* st, intptr_t start, PhaseTransform* phase, bool can_reshape); |
1080 |
1080 |
1081 // Find captured store which corresponds to the range [start..start+size). |
1081 // Find captured store which corresponds to the range [start..start+size). |
1082 // Return my own memory projection (meaning the initial zero bits) |
1082 // Return my own memory projection (meaning the initial zero bits) |
1083 // if there is no such store. Return NULL if there is a problem. |
1083 // if there is no such store. Return NULL if there is a problem. |
1084 Node* find_captured_store(intptr_t start, int size_in_bytes, PhaseTransform* phase); |
1084 Node* find_captured_store(intptr_t start, int size_in_bytes, PhaseTransform* phase); |