Skip to content
This repository was archived by the owner on Jan 23, 2023. It is now read-only.

[Arm64] Fix GC Hole in genLeaInstruction#10736

Merged
BruceForstall merged 2 commits intodotnet:masterfrom
sdmaclea:PR-ARM64-GC-genLeaInstruction
Apr 9, 2017
Merged

[Arm64] Fix GC Hole in genLeaInstruction#10736
BruceForstall merged 2 commits intodotnet:masterfrom
sdmaclea:PR-ARM64-GC-genLeaInstruction

Conversation

@sdmaclea
Copy link

@sdmaclea sdmaclea commented Apr 5, 2017

No description provided.

// Then add the base register
// rd = rd + base
emit->emitIns_R_R_R(INS_add, EA_PTRSIZE, tmpReg, tmpReg, memBase->gtRegNum);
emit->emitIns_R_R_R(INS_add, size, tmpReg, tmpReg, memBase->gtRegNum);
Copy link
Author

Choose a reason for hiding this comment

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

In all three cases above , size is the same as the ultimate emitAttr for the LeaInstruction. As soon as the Base() register is added it acquires its final GC attr.

Longer term it would be better to fix the CQ issue cited at the top of this function and not generate these extra instructions.

@sdmaclea
Copy link
Author

sdmaclea commented Apr 5, 2017

@dotnet/arm64-contrib PTAL
@briansull This one is similar to the one we looked at yesterday

@jashook
Copy link

jashook commented Apr 5, 2017

@dotnet-bot test Windows_NT Arm64 Checked

@briansull
Copy link

LGTM

@sdmaclea
Copy link
Author

sdmaclea commented Apr 6, 2017

@dotnet-bot test OSX10.12 x64 Checked Build and Test please

@BruceForstall
Copy link

infra issue

https://ci.dot.net/job/dotnet_coreclr/job/master/job/checked_osx10.12_flow_prtest/1077/console

08:06:13  > git fetch --tags --progress https://github.com/dotnet/coreclr.git +refs/heads/*:refs/remotes/origin/* # timeout=90
08:12:20 FATAL: java.io.EOFException
08:12:20 hudson.remoting.RequestAbortedException: java.io.EOFException
08:12:20 	at hudson.remoting.Request.abort(Request.java:303)
08:12:20 	at hudson.remoting.Channel.terminate(Channel.java:863)
08:12:20 	at org.jenkinsci.remoting.nio.NioChannelHub$3.run(NioChannelHub.java:614)
08:12:20 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
08:12:20 	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
08:12:20 	at hudson.remoting.SingleLaneExecutorService$1.run(SingleLaneExecutorService.java:112)
08:12:20 	at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28)
08:12:20 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
08:12:20 	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
08:12:20 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
08:12:20 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
08:12:20 	at java.lang.Thread.run(Thread.java:745)
08:12:20 	at ......remote call to dci-mac-build-088(Native Method)
08:12:20 	at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1433)
08:12:20 	at hudson.remoting.Request.call(Request.java:172)
08:12:20 	at hudson.remoting.Channel.call(Channel.java:796)
08:12:20 	at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler.execute(RemoteGitImpl.java:145)
08:12:20 	at sun.reflect.GeneratedMethodAccessor383.invoke(Unknown Source)
08:12:20 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
08:12:20 	at java.lang.reflect.Method.invoke(Method.java:498)
08:12:20 	at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler.invoke(RemoteGitImpl.java:131)
08:12:20 	at com.sun.proxy.$Proxy73.execute(Unknown Source)
08:12:20 	at hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.java:1042)
08:12:20 	at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1082)
08:12:20 	at hudson.scm.SCM.checkout(SCM.java:495)
08:12:20 	at hudson.model.AbstractProject.checkout(AbstractProject.java:1278)
08:12:20 	at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:604)
08:12:20 	at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:86)
08:12:20 	at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:529)
08:12:20 	at hudson.model.Run.execute(Run.java:1720)
08:12:20 	at com.cloudbees.plugins.flow.FlowRun.run(FlowRun.java:153)
08:12:20 	at hudson.model.ResourceController.execute(ResourceController.java:98)
08:12:20 	at hudson.model.Executor.run(Executor.java:404)
08:12:20 Caused by: java.io.EOFException
08:12:20 	at org.jenkinsci.remoting.nio.NioChannelHub$3.run(NioChannelHub.java:614)
08:12:20 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
08:12:20 	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
08:12:20 	at hudson.remoting.SingleLaneExecutorService$1.run(SingleLaneExecutorService.java:112)
08:12:20 	at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28)
08:12:20 	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
08:12:20 	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
08:12:20 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
08:12:20 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
08:12:20 	at java.lang.Thread.run(Thread.java:745)

@dotnet-bot test OSX10.12 x64 Checked Build and Test please

@BruceForstall
Copy link

@dotnet-bot test Windows_NT Arm64 Checked

@danmoseley
Copy link
Member

@dotnet-bot test OSX10.12 x64 Checked Build and Test (network)

@BruceForstall BruceForstall merged commit b65900d into dotnet:master Apr 9, 2017
@sdmaclea sdmaclea deleted the PR-ARM64-GC-genLeaInstruction branch April 10, 2017 15:57
@karelz karelz modified the milestone: 2.0.0 Aug 28, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants