<feed xmlns='http://www.w3.org/2005/Atom'>
<title>art/runtime/interpreter, branch cm-13.0</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/art/'/>
<entry>
<title>Fix moving GC bug in DoFilledNewArray</title>
<updated>2015-06-19T00:00:56+00:00</updated>
<author>
<name>Mathieu Chartier</name>
<email>mathieuc@google.com</email>
</author>
<published>2015-06-18T23:48:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/art/commit/?id=6e82168bcb339b162f8fac1034a1153eec421eae'/>
<id>6e82168bcb339b162f8fac1034a1153eec421eae</id>
<content type='text'>
Previously we read from componentClass after allocating the array.

Bug: 21783443

(cherry picked from commit 52ea33b10370d60d4ce877aec529626537b7813b)

Change-Id: I5283982edab479434e27416509e1436b4176fe01
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Previously we read from componentClass after allocating the array.

Bug: 21783443

(cherry picked from commit 52ea33b10370d60d4ce877aec529626537b7813b)

Change-Id: I5283982edab479434e27416509e1436b4176fe01
</pre>
</div>
</content>
</entry>
<entry>
<title>Follow up on CL 151605</title>
<updated>2015-06-18T21:14:29+00:00</updated>
<author>
<name>Sebastien Hertz</name>
<email>shertz@google.com</email>
</author>
<published>2015-06-09T12:09:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/art/commit/?id=bf1fa2ccb5e7409910b99dc46b616e44c66ade68'/>
<id>bf1fa2ccb5e7409910b99dc46b616e44c66ade68</id>
<content type='text'>
- Fixes return type of StackedShadowFrameRecord::GetType
- Makes StackedShadowFrameType an enum class (scoped enum)
- Moves DeoptimizationReturnValueRecord and StackedShadowFrameRecord
  to thread.cc file and use forward declaration in thread.h header
- Fixes tools/generate-operator-out.py for scoped enum classes.

Bug: 20845490

(cherry picked from commit f795869da0a1fa006fdcdacd8afb6149a63fc1a7)

Change-Id: I6b67e288b1db563699161e58ec2e2330d42dd8f5
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Fixes return type of StackedShadowFrameRecord::GetType
- Makes StackedShadowFrameType an enum class (scoped enum)
- Moves DeoptimizationReturnValueRecord and StackedShadowFrameRecord
  to thread.cc file and use forward declaration in thread.h header
- Fixes tools/generate-operator-out.py for scoped enum classes.

Bug: 20845490

(cherry picked from commit f795869da0a1fa006fdcdacd8afb6149a63fc1a7)

Change-Id: I6b67e288b1db563699161e58ec2e2330d42dd8f5
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix nested deoptimization.</title>
<updated>2015-06-18T20:42:03+00:00</updated>
<author>
<name>Mingyao Yang</name>
<email>mingyao@google.com</email>
</author>
<published>2015-05-18T19:12:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/art/commit/?id=ef484d442a3dcae2cd1842c5be0623f5cf71e4ab'/>
<id>ef484d442a3dcae2cd1842c5be0623f5cf71e4ab</id>
<content type='text'>
Handle nested deoptimization cases. Create a stacked shadow frame
records to keep track of deoptimization shadow frames. Shadow frames
under construction can be tracked in the same stack.

Bug: 20845490

(cherry picked from commit 1f2d3ba6af52cf6f566deb38b7e07735c9a08fb6)

Change-Id: I768285792c29e7c3cfcd21e7a2600802506024d8
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Handle nested deoptimization cases. Create a stacked shadow frame
records to keep track of deoptimization shadow frames. Shadow frames
under construction can be tracked in the same stack.

Bug: 20845490

(cherry picked from commit 1f2d3ba6af52cf6f566deb38b7e07735c9a08fb6)

Change-Id: I768285792c29e7c3cfcd21e7a2600802506024d8
</pre>
</div>
</content>
</entry>
<entry>
<title>ART: Allow PackedSwitch instructions with zero targets</title>
<updated>2015-06-18T16:08:13+00:00</updated>
<author>
<name>David Brazdil</name>
<email>dbrazdil@google.com</email>
</author>
<published>2015-06-17T17:20:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/art/commit/?id=df75bca6bd100ca9c2c395b1b8d2f8a871ab2c62'/>
<id>df75bca6bd100ca9c2c395b1b8d2f8a871ab2c62</id>
<content type='text'>
Optimizing and the interpreter wrongly assumed that a PackedSwitch
always has at least one target. This patch removes the corresponding
DCHECKs and adds a regression test case.

This is a resubmission of CL I32b7033ed38de6f1d1a6ee5d5bf12f3a47c9b37e

Bug: 21863783
Change-Id: I04e6e124bdd16591ba27c79490e6ce183c36b691
(cherry picked from commit 2ef645ba50544b879a82ea30e606f18c9af98917)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Optimizing and the interpreter wrongly assumed that a PackedSwitch
always has at least one target. This patch removes the corresponding
DCHECKs and adds a regression test case.

This is a resubmission of CL I32b7033ed38de6f1d1a6ee5d5bf12f3a47c9b37e

Bug: 21863783
Change-Id: I04e6e124bdd16591ba27c79490e6ce183c36b691
(cherry picked from commit 2ef645ba50544b879a82ea30e606f18c9af98917)
</pre>
</div>
</content>
</entry>
<entry>
<title>Move mirror::ArtMethod to native</title>
<updated>2015-06-02T16:21:27+00:00</updated>
<author>
<name>Mathieu Chartier</name>
<email>mathieuc@google.com</email>
</author>
<published>2015-04-22T20:56:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/art/commit/?id=3d21bdf8894e780d349c481e5c9e29fe1556051c'/>
<id>3d21bdf8894e780d349c481e5c9e29fe1556051c</id>
<content type='text'>
Optimizing + quick tests are passing, devices boot.

TODO: Test and fix bugs in mips64.

Saves 16 bytes per most ArtMethod, 7.5MB reduction in system PSS.
Some of the savings are from removal of virtual methods and direct
methods object arrays.

Bug: 19264997

(cherry picked from commit e401d146407d61eeb99f8d6176b2ac13c4df1e33)

Change-Id: I622469a0cfa0e7082a2119f3d6a9491eb61e3f3d

Fix some ArtMethod related bugs

Added root visiting for runtime methods, not currently required
since the GcRoots in these methods are null.

Added missing GetInterfaceMethodIfProxy in GetMethodLine, fixes
--trace run-tests 005, 044.

Fixed optimizing compiler bug where we used a normal stack location
instead of double on ARM64, this fixes the debuggable tests.

TODO: Fix JDWP tests.

Bug: 19264997

Change-Id: I7c55f69c61d1b45351fd0dc7185ffe5efad82bd3

ART: Fix casts for 64-bit pointers on 32-bit compiler.

Bug: 19264997
Change-Id: Ief45cdd4bae5a43fc8bfdfa7cf744e2c57529457

Fix JDWP tests after ArtMethod change

Fixes Throwable::GetStackDepth for exception event detection after
internal stack trace representation change.

Adds missing ArtMethod::GetInterfaceMethodIfProxy call in case of
proxy method.

Bug: 19264997
Change-Id: I363e293796848c3ec491c963813f62d868da44d2

Fix accidental IMT and root marking regression

Was always using the conflict trampoline. Also included fix for
regression in GC time caused by extra roots. Most of the regression
was IMT.

Fixed bug in DumpGcPerformanceInfo where we would get SIGABRT due to
detached thread.

EvaluateAndApplyChanges:
From ~2500 -&gt; ~1980
GC time: 8.2s -&gt; 7.2s due to 1s less of MarkConcurrentRoots

Bug: 19264997
Change-Id: I4333e80a8268c2ed1284f87f25b9f113d4f2c7e0

Fix bogus image test assert

Previously we were comparing the size of the non moving space to
size of the image file.

Now we properly compare the size of the image space against the size
of the image file.

Bug: 19264997
Change-Id: I7359f1f73ae3df60c5147245935a24431c04808a

[MIPS64] Fix art_quick_invoke_stub argument offsets.

ArtMethod reference's size got bigger, so we need to move other args
and leave enough space for ArtMethod* and 'this' pointer.

This fixes mips64 boot.

Bug: 19264997
Change-Id: I47198d5f39a4caab30b3b77479d5eedaad5006ab
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Optimizing + quick tests are passing, devices boot.

TODO: Test and fix bugs in mips64.

Saves 16 bytes per most ArtMethod, 7.5MB reduction in system PSS.
Some of the savings are from removal of virtual methods and direct
methods object arrays.

Bug: 19264997

(cherry picked from commit e401d146407d61eeb99f8d6176b2ac13c4df1e33)

Change-Id: I622469a0cfa0e7082a2119f3d6a9491eb61e3f3d

Fix some ArtMethod related bugs

Added root visiting for runtime methods, not currently required
since the GcRoots in these methods are null.

Added missing GetInterfaceMethodIfProxy in GetMethodLine, fixes
--trace run-tests 005, 044.

Fixed optimizing compiler bug where we used a normal stack location
instead of double on ARM64, this fixes the debuggable tests.

TODO: Fix JDWP tests.

Bug: 19264997

Change-Id: I7c55f69c61d1b45351fd0dc7185ffe5efad82bd3

ART: Fix casts for 64-bit pointers on 32-bit compiler.

Bug: 19264997
Change-Id: Ief45cdd4bae5a43fc8bfdfa7cf744e2c57529457

Fix JDWP tests after ArtMethod change

Fixes Throwable::GetStackDepth for exception event detection after
internal stack trace representation change.

Adds missing ArtMethod::GetInterfaceMethodIfProxy call in case of
proxy method.

Bug: 19264997
Change-Id: I363e293796848c3ec491c963813f62d868da44d2

Fix accidental IMT and root marking regression

Was always using the conflict trampoline. Also included fix for
regression in GC time caused by extra roots. Most of the regression
was IMT.

Fixed bug in DumpGcPerformanceInfo where we would get SIGABRT due to
detached thread.

EvaluateAndApplyChanges:
From ~2500 -&gt; ~1980
GC time: 8.2s -&gt; 7.2s due to 1s less of MarkConcurrentRoots

Bug: 19264997
Change-Id: I4333e80a8268c2ed1284f87f25b9f113d4f2c7e0

Fix bogus image test assert

Previously we were comparing the size of the non moving space to
size of the image file.

Now we properly compare the size of the image space against the size
of the image file.

Bug: 19264997
Change-Id: I7359f1f73ae3df60c5147245935a24431c04808a

[MIPS64] Fix art_quick_invoke_stub argument offsets.

ArtMethod reference's size got bigger, so we need to move other args
and leave enough space for ArtMethod* and 'this' pointer.

This fixes mips64 boot.

Bug: 19264997
Change-Id: I47198d5f39a4caab30b3b77479d5eedaad5006ab
</pre>
</div>
</content>
</entry>
<entry>
<title>Add unstarted runtime test for String.&lt;init&gt;.</title>
<updated>2015-05-29T21:52:33+00:00</updated>
<author>
<name>Jeff Hao</name>
<email>jeffhao@google.com</email>
</author>
<published>2015-05-29T17:53:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/art/commit/?id=73a937740841154eb32a0aa15f938f1c06f26091'/>
<id>73a937740841154eb32a0aa15f938f1c06f26091</id>
<content type='text'>
Bug: 21173514
Change-Id: I369806644879fffc01bdc123d81a551e6eedf465
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Bug: 21173514
Change-Id: I369806644879fffc01bdc123d81a551e6eedf465
</pre>
</div>
</content>
</entry>
<entry>
<title>ART: Refactor UnstartedRuntime for testing</title>
<updated>2015-05-21T19:13:37+00:00</updated>
<author>
<name>Andreas Gampe</name>
<email>agampe@google.com</email>
</author>
<published>2015-05-16T02:24:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/art/commit/?id=99ca40cf9d390479a7243b8b3321cad7d9faa2a4'/>
<id>99ca40cf9d390479a7243b8b3321cad7d9faa2a4</id>
<content type='text'>
Expose the UnstartedRuntime implementation functions as private static
methods of a class. Add a gtest that can invoke these functions. Add
sample tests for String and Memory.

Bug: 21173514

(cherry picked from commit 799681b176ad25437ce2849639f54f610dcbf684)

Change-Id: Ib5bde6347fafaf7607c642542ea7d5938ff4b1df
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Expose the UnstartedRuntime implementation functions as private static
methods of a class. Add a gtest that can invoke these functions. Add
sample tests for String and Memory.

Bug: 21173514

(cherry picked from commit 799681b176ad25437ce2849639f54f610dcbf684)

Change-Id: Ib5bde6347fafaf7607c642542ea7d5938ff4b1df
</pre>
</div>
</content>
</entry>
<entry>
<title>Add new style String operations during compilation init, part 2</title>
<updated>2015-05-15T22:10:52+00:00</updated>
<author>
<name>Kenny Root</name>
<email>kroot@google.com</email>
</author>
<published>2015-05-14T22:58:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/art/commit/?id=a02e391bdea875b3b6035ca27a5da414a0f93dae'/>
<id>a02e391bdea875b3b6035ca27a5da414a0f93dae</id>
<content type='text'>
This allows some class initializers that deal with Strings to run during
compilation. However, java.lang.Character.toUpperCase() is blocking
initialization for some parts.

(cherry picked from commit 57f91e8956f4496391bff028a1b990540cc91c22)

Bug: 21036900
Change-Id: Ia969c6a643f510bc798f94fb10bca1a68fe2ae67
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This allows some class initializers that deal with Strings to run during
compilation. However, java.lang.Character.toUpperCase() is blocking
initialization for some parts.

(cherry picked from commit 57f91e8956f4496391bff028a1b990540cc91c22)

Bug: 21036900
Change-Id: Ia969c6a643f510bc798f94fb10bca1a68fe2ae67
</pre>
</div>
</content>
</entry>
<entry>
<title>Add new style String operations during compilation init</title>
<updated>2015-05-15T00:10:36+00:00</updated>
<author>
<name>Kenny Root</name>
<email>kroot@google.com</email>
</author>
<published>2015-05-14T22:58:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/art/commit/?id=a298e6daf8a11a780f061f2177ac3e75b8dd5e55'/>
<id>a298e6daf8a11a780f061f2177ac3e75b8dd5e55</id>
<content type='text'>
This allows some class initializers that deal with Strings to run during
compilation. This includes the current implementation of
java.security.Security because it reads the "java.security" resource.

Bug: 21036900
Change-Id: I2ea008b774d4ed359e155318e0d06c1566186c34
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This allows some class initializers that deal with Strings to run during
compilation. This includes the current implementation of
java.security.Security because it reads the "java.security" resource.

Bug: 21036900
Change-Id: I2ea008b774d4ed359e155318e0d06c1566186c34
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix non-range String init calls</title>
<updated>2015-05-15T00:09:16+00:00</updated>
<author>
<name>Kenny Root</name>
<email>kroot@google.com</email>
</author>
<published>2015-05-14T23:48:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/art/commit/?id=788a0a157cb138c33882511ff09afacde99443b7'/>
<id>788a0a157cb138c33882511ff09afacde99443b7</id>
<content type='text'>
When the String constructor was called via invoke-direct, it is changed
to the new StringFactory which is static. That means that the args need
to be shifted by one to deal with the change from non-static to static.
However, the non-range version of the invoke-direct was not shifted
correctly causing unstarted runtime initialization to get the wrong
first_dest_reg argument.

Bug: 21036900
Change-Id: Ibd7a643d877514ea396d7e4ab0dea327207cb78f
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When the String constructor was called via invoke-direct, it is changed
to the new StringFactory which is static. That means that the args need
to be shifted by one to deal with the change from non-static to static.
However, the non-range version of the invoke-direct was not shifted
correctly causing unstarted runtime initialization to get the wrong
first_dest_reg argument.

Bug: 21036900
Change-Id: Ibd7a643d877514ea396d7e4ab0dea327207cb78f
</pre>
</div>
</content>
</entry>
</feed>
