Skip to content

Add initial VM structure and JCL stub for Continuation - #15293

Merged
tajila merged 2 commits into
eclipse-openj9:masterfrom
fengxue-IS:loom_struct
Jun 16, 2022
Merged

Add initial VM structure and JCL stub for Continuation#15293
tajila merged 2 commits into
eclipse-openj9:masterfrom
fengxue-IS:loom_struct

Conversation

@fengxue-IS

Copy link
Copy Markdown
Contributor

Related: #15172

Signed-off-by: Jack Lu Jack.S.Lu@ibm.com

Comment thread jcl/src/java.base/share/classes/jdk/internal/vm/Continuation.java Outdated

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this to be processed by Javadoc tool to generate the API docs, or just a comment? In later case, /* */ is sufficient, similar comments for other occurrences.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The /** */ syntax is generated by the IDE when I auto corrected the format, not sure if Javadoc is need for this class as it should internal.
I have removed most of the docs that are redundant

Comment thread jcl/src/java.base/share/classes/jdk/internal/vm/Continuation.java Outdated
Comment thread jcl/src/java.base/share/classes/jdk/internal/vm/Continuation.java Outdated
Comment thread runtime/vm/vmthinit.c Outdated
Comment thread runtime/vm/vmthread.cpp Outdated
Comment thread runtime/oti/j9nonbuilder.h Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since GC will fully maintain Continuation Lists(list of Continuation Objects instead of J9VMContinuation), we don't need to linkNext and linkPrevious in J9VMContinuation(there would hidden field continuationLink in Continuation Oject for the list) and also it is hard to maintain linkNext and linkPrevious from GC, we can provide an iterator for retrieving the list of J9VMContinuation.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The VM needs those fields

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

but GC will not maintain(set and update) both linkNext and linkPrevious during collections.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

GC will call a vmHook for that

Comment thread runtime/oti/j9nonbuilder.h Outdated
Comment thread jcl/src/java.base/share/classes/jdk/internal/vm/Continuation.java Outdated
@fengxue-IS
fengxue-IS force-pushed the loom_struct branch 6 times, most recently from e047731 to 118831b Compare June 15, 2022 01:42
@tajila

tajila commented Jun 15, 2022

Copy link
Copy Markdown
Contributor

@LinHu2016 After discussing with Jack, we will omit the linkedlist changes for this PR. Feel free to us a hiddenfield to add the gcLink for tracking Continuation objects

Signed-off-by: Jack Lu <Jack.S.Lu@ibm.com>
@fengxue-IS
fengxue-IS marked this pull request as ready for review June 15, 2022 19:34
@fengxue-IS
fengxue-IS requested a review from tajila June 15, 2022 19:38
@tajila

tajila commented Jun 15, 2022

Copy link
Copy Markdown
Contributor

Jenkins sanity amac jdknext

@tajila

tajila commented Jun 15, 2022

Copy link
Copy Markdown
Contributor

Jenkins compile win jdknext

@tajila
tajila merged commit 6a2aac8 into eclipse-openj9:master Jun 16, 2022
Comment thread runtime/vm/vmthinit.c
vm->cifArgumentTypesCacheMutex = NULL;
}
#endif /* JAVA_SPEC_VERSION >= 16 */

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

just noticed this. @fengxue-IS can you make a PR to remove the added whitespace

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants