Java 7 Hotspot 순환 버그 상세 설명

4149 단어 HotSpot
지난주 자바 7 GA 발표이후 새 JIT 기본 오픈 최적화 에서 발견질문.이 문 제 는 최초 로Lucene색인 기 를 검색 하 는 사례 에서 나 타 났 지만 다른 코드 에 도 보편적으로 존재 할 수 있다.
이 버그 는 많은 기우 의 글 을 불 러 왔 다.예 를 들 어《Don't use Java 7 for anything》모든 순환 에 문제 가 있 음 을 암시 한다.사실 효과 적 인 버그(순환 이 제대로 실행 되 지 않 거나 SIGSEGV 붕 괴 를 일 으 킬 수 있 음)가 존재 하지만,이 버그 는 자바 6 부터 있 으 며,-XX:+OptimizeStringConcat또는-XX:+AggressiveOpts최 적 화 를 켜 면 이 문제 가 발생 할 수 있다.
이 문 제 는 실제 적 으로 특정한 순환(순환 체 가 순환 조건 을 수정 할 수 있 음)에서 만 발생 할 수 있다이 문제 의 패 치에서 이에 대해 설명 했다.-Xint(해석 모드)로 실행 되 는 경우 에는 이 문제 가 발생 하지 않 지만-server모드 에 서 는 문제 가 발생 해 서버 쪽 애플 리 케 이 션 이 이 모드 를 사용 할 가능성 이 높다.
만약 문제 가 그리 심각 하지 않다 면,이 버그 가 가 져 온 대중의 압력 때문에 자바 7 업데이트 1 에 이 패 치가 포 함 될 것 이다.자바 7 이 방금 발표 되 었 기 때문에 아직 생산 환경 에 사용 되 지 않 을 뿐만 아니 라 이 방면 에서 발 견 된첫 번 째 문제.(Oracle 은 후속 버 전복구문제 도 아니다.이 동시에문제 설명에서 -XX:-UseLoopPredicate표 지 를 통 해 이 특정한 최 적 화 를 닫 을 수 있다 고 지적 했다.
Lucene 과 Solr 프로젝트 에서 이 문 제 를 최초 로 발견 한 Uwe Schindler 는 후속 반응(및 과격 반응)을 포함 한Bug 뒷이야기을 상세 하 게 기록 했다.그 는 트 위 터 에 올 라 온 사람들의 반응 과 후속 글 이 버그 의 우선 순 위 를 높 였 다 고 기록 했다.패 치 는 자바 7 업데이트 2 가 아 닌 자바 7 업데이트 1 에 놓 일 것 이다.그러나 그 는높 은 우선 순위 Bug(SIGSEGV 로 이 어 질 수 있 음)자바 7 업데이트 1 에서 복 구 될 것 임 에 도 불구 하고두 개버그 는 여전히 중간 우선 순위 라 고 말 했다.
기타Robert Muir에서 말 한 바 와 같이 이러한 최 적 화 는 순환 이 최소 10,000 회 후에 도 입 된 것 이기 때문에 많은 테스트 가 덮 이지 않 는 다.패 치가 있 습 니 다.앞으로 자바 7 업데이트 에 포함 되 며,Loop Predicate 최 적 화 를 사용 하지 않 아 도 자바 7 이 이러한 문제 에서 벗 어 날 수 있 습 니 다.
 
영어 원문 보기:분석 하 다.
 
다음으로 이동:  Java7 Hotspot Loop Bug Details

좋은 웹페이지 즐겨찾기