Skip to content
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

Build break in IProfiler.cpp #7079

Closed
knn-k opened this issue Sep 14, 2019 · 0 comments · Fixed by #7085
Closed

Build break in IProfiler.cpp #7079

knn-k opened this issue Sep 14, 2019 · 0 comments · Fixed by #7085

Comments

@knn-k
Copy link
Contributor

knn-k commented Sep 14, 2019

Compilation of IProfiler.cpp fails as shown below, when TR_ASSERT() is enabled:

/root/openj9-openjdk-jdk11/build/linux-aarch64-normal-server-release/vm/compiler/../compiler/runtime/IProfiler.cpp: In member function 'virtual void TR_IProfiler::persistIprofileInfo(TR::ResolvedMethodSymbol*, TR_ResolvedMethod*, TR::Compilation*)':
/root/openj9-openjdk-jdk11/build/linux-aarch64-normal-server-release/vm/compiler/../compiler/runtime/IProfiler.cpp:402:83: error: invalid conversion from 'uintptrj_t {aka long unsigned int}' to 'void*' [-fpermissive]
          TR_ASSERT(comp->fej9()->sharedCache()->isPointerInSharedCache(methodStart), "bytecodes not in shared cache");
                                                                                   ^
/root/openj9-openjdk-jdk11/build/linux-aarch64-normal-server-release/vm/compiler/../omr/compiler/infra/Assert.hpp:116:16: note: in definition of macro 'TR_ASSERT'
          do { (condition) ? (void)0 : TR::assertion(__FILE__, __LINE__, #condition, format, ##__VA_ARGS__); } while(0)
                ^~~~~~~~~
In file included from /root/openj9-openjdk-jdk11/build/linux-aarch64-normal-server-release/vm/compiler/../compiler/env/VMJ9.h:44:0,
                 from /root/openj9-openjdk-jdk11/build/linux-aarch64-normal-server-release/vm/compiler/../compiler/compile/AOTClassInfo.hpp:29,
                 from /root/openj9-openjdk-jdk11/build/linux-aarch64-normal-server-release/vm/compiler/../compiler/compile/J9Compilation.hpp:43,
                 from /root/openj9-openjdk-jdk11/build/linux-aarch64-normal-server-release/vm/compiler/../compiler/compile/Compilation.hpp:26,
                 from /root/openj9-openjdk-jdk11/build/linux-aarch64-normal-server-release/vm/compiler/../compiler/runtime/IProfiler.cpp:42:
/root/openj9-openjdk-jdk11/build/linux-aarch64-normal-server-release/vm/compiler/../compiler/env/J9SharedCache.hpp:117:9: note:   initializing argument 1 of 'virtual bool TR_J9SharedCache::isPointerInSharedCache(void*, uintptrj_t*)'
    bool isPointerInSharedCache(void *ptr, uintptrj_t *cacheOffset = NULL);
         ^~~~~~~~~~~~~~~~~~~~~~

Passing methodStart, whose type is uintptrj_t, to isPointerInSharedCache() requires a cast to void *.

knn-k added a commit to knn-k/openj9 that referenced this issue Sep 16, 2019
This commit fixes a break with isPointerInSharedCache() in
IProfiler.cpp.

Fixes: eclipse-openj9#7079

Signed-off-by: KONNO Kazuhiro <konno@jp.ibm.com>
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 a pull request may close this issue.

1 participant