-
Notifications
You must be signed in to change notification settings - Fork 396
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rename TR::ternary opcode to TR::select #681
Comments
I would vote on rename-- it is too useful to get rid of in my opinion.
|
Given only opinions in favour of renaming, the |
I am renaming all the variables such as- |
Although this issue predates the Compiler Architecture Meetings and the current standard for community review for new opcodes (or changes to existing opcodes), I would like to tag this one for discussion at the next CAM in case there are any concerns. Prior to that, if anyone has any concerns or comments please bring that up in this PR. |
Sounds good @0xdaryl, thanks! |
Thanks @0xdaryl , can you please also let me know whether the following changes are needed for the components in the respective files (and more)-
We can discuss more on the next CAM. |
Part one of the iterations to replace the ternary OpCodes such as TR::bternary etc. to TR::bselect etc.respectively. The changes are made onto the followings: - Components of various data types such as- Int8, Float, Double etc.. - Corresponding evaluators such as- bselectEvaluator, iselectEvaluator etc.. - Corresponding outputs of texts such as- "iselect" Partially Resolves: GitHub issue eclipse-omr#681 Signed-off-by: mnoor <mnoor@unb.ca>
Part two of the iterations to replace the ternary OpCodes such as TR::bternary etc. to TR::bselect etc.respectively. The changes are made onto the followings: - Components of various data types such as- Int8, Float, Double etc. (iternary, vternary, iuternary etc) - Corresponding comments where the above changes are made - Corresponding outputs of texts such as- "iselect" etc. Partially Resolves: GitHub issue eclipse-omr#681 Signed-off-by: mnoor <mnoor@unb.ca>
Replacing of the ternary OpCodes such as TR::bternary etc. to TR::bselect etc. and the associated items respectively. The changes are made onto the followings: - Components of various data types such as- Int8, Float, Double (iternary, bternary etc) etc.. - Corresponding evaluators such as- bselectEvaluator, iselectEvaluator etc. and other functions where the IL OpCodes are used. - Corresponding outputs of texts such as- "iselect" etc. and comments (//ternary). Closes: GitHub issue eclipse-omr#681 Signed-off-by: Md. Alvee Noor <mnoor@unb.ca>
I have done the requested changes and would appreciate the review. Thank you. |
Replacing of the ternary OpCodes such as TR::bternary etc. to TR::bselect etc. and the associated items respectively. The changes are made onto the followings: - Components of various data types such as- Int8, Float, Double (iternary, bternary, vternary etc) etc.. - Corresponding evaluators such as- bselectEvaluator, iselectEvaluator etc. and other functions where the IL OpCodes are used. - Corresponding outputs of texts such as- "iselect" etc. and comments (//ternary). - The IL opcode (and its respective evaluator to- vbitselectEvaluator)- vselect has been updated to vbitselect. - The new vselect opcode has been marked- unimplemented in the Z tree evaluator. Closes: GitHub issue eclipse-omr#681 and eclipse-omr#4590 Signed-off-by: Md. Alvee Noor <mnoor@unb.ca>
Part one of the iterations to replace the ternary OpCodes such as TR::bternary etc. to TR::bselect etc.respectively. The changes are made onto the followings: - Components of various data types such as- Int8, Float, Double etc.. - Corresponding evaluators such as- bselectEvaluator, iselectEvaluator etc.. - Corresponding outputs of texts such as- "iselect" Partially Resolves: GitHub issue eclipse-omr#681 Signed-off-by: mnoor <mnoor@unb.ca>
Part two of the iterations to replace the ternary OpCodes such as TR::bternary etc. to TR::bselect etc.respectively. The changes are made onto the followings: - Components of various data types such as- Int8, Float, Double etc. (iternary, vternary, iuternary etc) - Corresponding comments where the above changes are made - Corresponding outputs of texts such as- "iselect" etc. Partially Resolves: GitHub issue eclipse-omr#681 Signed-off-by: mnoor <mnoor@unb.ca>
Replacing of the ternary OpCodes such as TR::bternary etc. to TR::bselect etc. and the associated items respectively. The changes are made onto the followings: - Components of various data types such as- Int8, Float, Double (iternary, bternary, vternary etc) etc.. - Corresponding evaluators such as- bselectEvaluator, iselectEvaluator etc. and other functions where the IL OpCodes are used. - Corresponding outputs of texts such as- "iselect" etc. and comments (//ternary). - The IL opcode (and its respective evaluator to- vbitselectEvaluator)- vselect has been updated to vbitselect. - The new vselect opcode has been marked- unimplemented in the Z tree evaluator. Closes: GitHub issue eclipse-omr#681 and eclipse-omr#4590 Signed-off-by: Md. Alvee Noor <mnoor@unb.ca>
Replacing of the ternary OpCodes such as TR::bternary etc. to TR::bselect etc. and the associated items respectively. The changes are made onto the followings: - Components of various data types such as- Int8, Float, Double (iternary, bternary, vternary etc) etc.. - Corresponding evaluators such as- bselectEvaluator, iselectEvaluator etc. and other functions where the IL OpCodes are used. - Corresponding outputs of texts such as- "iselect" etc. and comments (//ternary). - The IL opcode (and its respective evaluator to- vbitselectEvaluator)- vselect has been updated to vbitselect. - The new vselect opcode has been marked- unimplemented in the Z tree evaluator. - File names which involved updating the class names. Partially Resolves: GitHub issues eclipse-omr#681 and eclipse-omr#4590 Signed-off-by: Md. Alvee Noor <mnoor@unb.ca>
Replacing of the ternary OpCodes such as TR::bternary etc. to TR::bselect etc. and the associated items respectively. The changes are made onto the followings: - Components of various data types such as- Int8, Float, Double (iternary, bternary, vternary etc) etc.. - Corresponding evaluators such as- bselectEvaluator, iselectEvaluator etc. and other functions where the IL OpCodes are used. - Corresponding outputs of texts such as- "iselect" etc. and comments (//ternary). - The IL opcode (and its respective evaluator to- vbitselectEvaluator)- vselect has been updated to vbitselect. - The new vselect opcode has been marked- unimplemented in the Z tree evaluator. - File names which involved updating the class names. Partially Resolves: GitHub issues eclipse-omr#681 and eclipse-omr#4590 Signed-off-by: Md. Alvee Noor <mnoor@unb.ca>
Replacing of the ternary OpCodes such as TR::bternary etc. to TR::bselect etc. and the associated items respectively. The changes are made onto the followings: - Components of various data types such as- Int8, Float, Double (iternary, bternary, vternary etc) etc.. - Corresponding evaluators such as- bselectEvaluator, iselectEvaluator etc. and other functions where the IL OpCodes are used. - Corresponding outputs of texts such as- "iselect" etc. and comments (//ternary). - The IL opcode (and its respective evaluator to- vbitselectEvaluator)- vselect has been updated to vbitselect. - The new vselect opcode has been marked- unimplemented in the Z tree evaluator. - File names which involved updating of the class names. Partially Resolves: GitHub issues eclipse-omr#681 and eclipse-omr#4590 Signed-off-by: Md. Alvee Noor <mnoor@unb.ca>
Replacing of the ternary OpCodes such as TR::bternary etc. to TR::bselect etc. and the associated items respectively. The changes are made onto the followings: - Components of various data types such as- Int8, Float, Double (iternary, bternary, vternary etc) etc.. - Corresponding evaluators such as- bselectEvaluator, iselectEvaluator etc. and other functions where the IL OpCodes are used. - Corresponding outputs of texts such as- "iselect" etc. and comments (//ternary). - The IL opcode (and its respective evaluator to- vbitselectEvaluator)- vselect has been updated to vbitselect. - The new vselect opcode has been marked- unimplemented in the Z tree evaluator. - File names which involved updating of the class names. Partially Resolves: GitHub issues eclipse-omr#681 and eclipse-omr#4590 Signed-off-by: Md. Alvee Noor <mnoor@unb.ca>
Replacing of the ternary OpCodes such as TR::bternary etc. to TR::bselect etc. and the associated items respectively. The changes are made onto the followings: - Components of various data types such as- Int8, Float, Double (iternary, bternary, vternary etc) etc.. - Corresponding evaluators such as- bselectEvaluator, iselectEvaluator etc. and other functions where the IL OpCodes are used. - Corresponding outputs of texts such as- "iselect" etc. and comments (//ternary). - The IL opcode (and its respective evaluator to- vbitselectEvaluator)- vselect has been updated to vbitselect. - The new vselect opcode has been marked- unimplemented in the Z tree evaluator. - File names which involved updating of the class names. Partially Resolves: GitHub issues eclipse-omr#681 and eclipse-omr#4590 Signed-off-by: Md. Alvee Noor <mnoor@unb.ca>
Replacing of the ternary OpCodes such as TR::bternary etc. to TR::bselect etc. and the associated items respectively. The changes are made onto the followings: - Components of various data types such as- Int8, Float, Double (iternary, bternary, vternary etc) etc.. - Corresponding evaluators such as- bselectEvaluator, iselectEvaluator etc. and other functions where the IL OpCodes are used. - Corresponding outputs of texts such as- "iselect" etc. and comments (//ternary). - The IL opcode (and its respective evaluator to- vbitselectEvaluator)- vselect has been updated to vbitselect. - The new vselect opcode has been marked- unimplemented in the Z tree evaluator. - File names which involved updating of the class names. - There are some duplicated usages of the opcodes (`aternary`) and their respective functions for their dependencies on OpenJ9, they will need to be deleted once the eclipse/openj9 #7797 PR is accepted. Partially Resolves: GitHub issues eclipse-omr#681 and eclipse-omr#4590 Signed-off-by: Md. Alvee Noor <mnoor@unb.ca>
Replacing of the ternary OpCodes such as TR::bternary etc. to TR::bselect etc. and the associated items respectively. The changes are made onto the followings: - Components of various data types such as- Int8, Float, Double (iternary, bternary, vternary etc) etc.. - Corresponding evaluators such as- bselectEvaluator, iselectEvaluator etc. and other functions where the IL OpCodes are used. - Corresponding outputs of texts such as- "iselect" etc. and comments (//ternary). - The IL opcode (and its respective evaluator to- vbitselectEvaluator)- vselect has been updated to vbitselect. - The new vselect opcode has been marked- unimplemented in the Z tree evaluator. - File names which involved updating of the class names. - There are some duplicated usages of the opcodes (`aternary`) and their respective functions for their dependencies on OpenJ9, they will need to be deleted once the eclipse/openj9 #7797 PR is accepted. Partially Resolves: GitHub issues eclipse-omr#681 and eclipse-omr#4590 Signed-off-by: Md. Alvee Noor <mnoor@unb.ca>
Replacing of the ternary OpCodes such as TR::bternary etc. to TR::bselect etc. and the associated items respectively. The changes are made onto the followings: - Components of various data types such as- Int8, Float, Double (iternary, bternary, vternary etc) etc.. - Corresponding evaluators such as- bselectEvaluator, iselectEvaluator etc. and other functions where the IL OpCodes are used. - Corresponding outputs of texts such as- "iselect" etc. and comments (//ternary). - The IL opcode (and its respective evaluator to- vbitselectEvaluator)- vselect has been updated to vbitselect. - The new vselect opcode has been marked- unimplemented in the Z tree evaluator. - File names which involved updating of the class names. - There are some duplicated usages of the opcodes (`aternary`) and their respective functions for their dependencies on OpenJ9, they will need to be deleted once the eclipse/openj9 #7797 PR is accepted. Partially Resolves: GitHub issues eclipse-omr#681 and eclipse-omr#4590 Signed-off-by: Md. Alvee Noor <mnoor@unb.ca>
Replacing of the ternary OpCodes such as TR::bternary etc. to TR::bselect etc. and the associated items respectively. The changes are made onto the followings: - Components of various data types such as- Int8, Float, Double (iternary, bternary, vternary etc) etc.. - Corresponding evaluators such as- bselectEvaluator, iselectEvaluator etc. and other functions where the IL OpCodes are used. - Corresponding outputs of texts such as- "iselect" etc. and comments (//ternary). - The IL opcode (and its respective evaluator to- vbitselectEvaluator)- vselect has been updated to vbitselect. - The new vselect opcode has been marked- unimplemented in the Z tree evaluator. - File names which involved updating of the class names. - There are some duplicated usages of the opcodes (`aternary`) and their respective functions for their dependencies on OpenJ9, they will need to be deleted once the eclipse/openj9 #7797 PR is accepted. Partially Resolves: GitHub issues eclipse-omr#681 and eclipse-omr#4590 Signed-off-by: Md. Alvee Noor <mnoor@unb.ca>
Removed deprecated functions (i.e. `getSupportsTernary` etc.) which were introduced by the PR eclipse-omr#4578. Closes: GitHub issue eclipse-omr#681 Signed-off-by: Md. Alvee Noor <mnoor@unb.ca>
Removed deprecated functions (i.e. `getSupportsTernary` etc.) which were introduced by the PR eclipse-omr#4578. Closes: GitHub issue eclipse-omr#681 and eclipse-omr#4847 Signed-off-by: Md. Alvee Noor <mnoor@unb.ca>
Replacing of the ternary OpCodes such as TR::bternary etc. to TR::bselect etc. and the associated items respectively. The changes are made onto the followings: - Components of various data types such as- Int8, Float, Double (iternary, bternary, vternary etc) etc.. - Corresponding evaluators such as- bselectEvaluator, iselectEvaluator etc. and other functions where the IL OpCodes are used. - Corresponding outputs of texts such as- "iselect" etc. and comments (//ternary). - The IL opcode (and its respective evaluator to- vbitselectEvaluator)- vselect has been updated to vbitselect. - The new vselect opcode has been marked- unimplemented in the Z tree evaluator. - File names which involved updating of the class names. - There are some duplicated usages of the opcodes (`aternary`) and their respective functions for their dependencies on OpenJ9, they will need to be deleted once the eclipse/openj9 #7797 PR is accepted. Partially Resolves: GitHub issues eclipse-omr#681 and eclipse-omr#4590 Signed-off-by: Md. Alvee Noor <mnoor@unb.ca>
Replaced the ternary OpCodes such as TR::aternary etc. to TR::aselect etc. respectively. Related OMR PR: eclipse-omr/omr#4578 Partially Resolves: Issue eclipse-omr/omr#681 and eclipse-omr/omr#4590 Signed-off-by: Md. Alvee Noor <mnoor@unb.ca>
Removed deprecated functions (i.e. `getSupportsTernary` etc.) which were introduced by the PR eclipse-omr#4578. Closes: GitHub issue eclipse-omr#681 and eclipse-omr#4847 Signed-off-by: Md. Alvee Noor <mnoor@unb.ca>
Replacing of the ternary OpCodes such as TR::bternary etc. to TR::bselect etc. and the associated items respectively. The changes are made onto the followings: - Components of various data types such as- Int8, Float, Double (iternary, bternary, vternary etc) etc.. - Corresponding evaluators such as- bselectEvaluator, iselectEvaluator etc. and other functions where the IL OpCodes are used. - Corresponding outputs of texts such as- "iselect" etc. and comments (//ternary). - The IL opcode (and its respective evaluator to- vbitselectEvaluator)- vselect has been updated to vbitselect. - The new vselect opcode has been marked- unimplemented in the Z tree evaluator. - File names which involved updating of the class names. - There are some duplicated usages of the opcodes (`aternary`) and their respective functions for their dependencies on OpenJ9, they will need to be deleted once the eclipse/openj9 #7797 PR is accepted. Partially Resolves: GitHub issues eclipse-omr#681 and eclipse-omr#4590 Signed-off-by: Md. Alvee Noor <mnoor@unb.ca>
Removed deprecated functions (i.e. `getSupportsTernary` etc.) which were introduced by the PR eclipse-omr#4578. Closes: GitHub issue eclipse-omr#681 and eclipse-omr#4847 Signed-off-by: Md. Alvee Noor <mnoor@unb.ca>
As per the discussion in #668 and the subsequent answer by @andrewcraik (#668 (comment)) it seems the
TR::ternary
IL opcode is slightly misleading to ignorant developers such as myself.We should document that the semantics of this IL opcode are that all children will be evaluated and executed, and hence the children should have no side-effects should you try to emulate the canonical meaning of a ternary operator in many languages (:?).
An alternative here would be to rename the opcode all together to avoid the confusion.
The text was updated successfully, but these errors were encountered: