> First batch of changes to remove potentially dangerous calls to 
> objArrayOopDesc::obj_at().
> Changes are more extensive than intended. In most cases, code modifications 
> consist in using a refArrayOop type instead of a objArrayOop type, because 
> most of the arrays the JVM deals with for its own purpose are always 
> reference arrays (because they are arrays of identity type elements). The 
> patch also adds a new API allowing the VM to request the allocation of a 
> reference array.
> Code dealing with user provided arrays must be ready to handle exceptions 
> when accessing objArrays.
> 
> This is a short term fix, fixing a few bugs, and trying to make the code more 
> robust using the meta-data types. For the long term, a better solution is 
> needed. Accesses to both arrays and fields are becoming more and more complex 
> because of the introduction of flattening, multiple layouts, additional 
> properties. Forcing enforcement at each access would be expensive and 
> wasteful, as the JVM usually operates on well-known objects or arrays. But 
> because of the increasing complexity, having a way to quickly check the 
> validity of an access would help making the VM code more robust.

Frederic Parain has updated the pull request incrementally with one additional 
commit since the last revision:

  Fix search of specific array klass

-------------

Changes:
  - all: https://git.openjdk.org/valhalla/pull/2033/files
  - new: https://git.openjdk.org/valhalla/pull/2033/files/bd5f33d0..743da2c0

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=valhalla&pr=2033&range=02
 - incr: https://webrevs.openjdk.org/?repo=valhalla&pr=2033&range=01-02

  Stats: 48 lines in 6 files changed: 42 ins; 4 del; 2 mod
  Patch: https://git.openjdk.org/valhalla/pull/2033.diff
  Fetch: git fetch https://git.openjdk.org/valhalla.git pull/2033/head:pull/2033

PR: https://git.openjdk.org/valhalla/pull/2033

Reply via email to