JDK-8227431 : [Windows] Fix assertion failure on X86 32-bit when enabling CLOOP based JavaScript interpreter
Type:Bug
Component:javafx
Sub-Component:web
Affected Version:8u231,openjfx13
Priority:P2
Status:Resolved
Resolution:Fixed
Submitted:2019-07-09
Updated:2020-01-31
Resolved:2019-07-31
The Version table provides details related to the release that this issue/RFE will be addressed.
Unresolved : Release in which this issue/RFE will be addressed. Resolved: Release in which this issue/RFE has been resolved. Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.
A follow-up PR that includes the previous is now under review here:
https://github.com/javafxports/openjdk-jfx/pull/545
30-07-2019
Raising to P2 as a regression of the recent WebKit update.
09-07-2019
WebKit's JavaScript interpreter has 2 types of implementation
1) C_LOOP - Implemented using C constructs (CPU agnostic)
2) LLInt - Implemented in Low level assembly (CPU specific)
Interpreter logics are expressed using DSL which is written using Ruby and actual interpreter code is generated(#1 or #2) during the build time. As of today C_LOOP is the supported interpreter mode on 32-bit X86 platform. Since 32-bit X86 is not so commonly used now a days, WebKit's JavaScript interpreter has few unimplemented logics related to C_LOOP.
Implement the function getOpcodeWide which is nothing but a reverse operation of OpcodeID enum value generation.
The below PR implements the missing logic,
https://github.com/javafxports/openjdk-jfx/pull/525