summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge "Update to the BitVector Implementation"Bill Buzbee2014-02-102-27/+193
|\
| * Update to the BitVector ImplementationJean Christophe Beyler2014-01-172-27/+193
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | IsBitSet: - If the index requested is above the size, return false. ClearBit: - If the index requested is above the size, ignore. Added SameBitsSet: - Check the bits set disregarding size and expandable. Intersect and Union: - removed the requirement of same size. - handles case where the sizes are not the same. Added Subtract between BitVectors. SetInitialBits: - Now requests expansion if above the bits available. - Clears upper bits. Added GetHighestBitSet. ClearBit: - If we clear above the size, it is fine, it has not been set yet. Copy: - Supposes it is well allocated. - It used to just copy what was available in destination without checking source's size. - Now actually allocate the destination to make sure it holds enough space. - Set parameter to const. General: - Moved sizeof(uint32_t) to sizeof(*storage_) for future maintenance. Change-Id: Iebb214632482c46807deca957f5b6dc892a61a84
* | Merge changes Id416ea15,I725ce638Brian Carlstrom2014-02-101-3/+3
|\ \ | | | | | | | | | | | | | | | * changes: Fix Portable build Change GetPortableCode result from reference to pointer
| * | Fix Portable buildBrian Carlstrom2014-02-101-2/+2
| | | | | | | | | | | | | | | | | | (cherry picked from commit e00e20a961ce50cd288c053c1210aa5863f4378e) Change-Id: Id416ea15d8134d25cddd3df9278c7c271c80defc
| * | Change GetPortableCode result from reference to pointerBrian Carlstrom2014-02-101-1/+1
| | | | | | | | | | | | | | | | | | (cherry picked from commit 93a5497a5ebe91e2798f8f7c71b177df1218a68c) Change-Id: I725ce6389b1960d487b4111417627836ae96fe9d
* | | Merge changes Ia93c2952,I09fb90a9Brian Carlstrom2014-02-101-2/+2
|\ \ \ | |/ / | | | | | | | | | | | | * changes: GetCode -> GetPortableCode SetOatCodeOffset -> SetPortableOatCodeOffset
| * | GetCode -> GetPortableCodeBrian Carlstrom2014-02-101-1/+1
| | | | | | | | | | | | | | | | | | (cherry picked from commit c3495c4c80d18783dcf57a3a54e8c20dbb1086eb) Change-Id: Ia93c29529aaa1d2705d18071e4246ddc5355d888
| * | SetOatCodeOffset -> SetPortableOatCodeOffsetBrian Carlstrom2014-02-101-1/+1
|/ / | | | | | | | | | | (cherry picked from commit d06a3db61c1f9a1b87e3f8899452c0f997ed7f8b) Change-Id: I09fb90a90dd30d065ee77878df5c1ee04be15d4b
* | Merge "Fix CreateMultiArray to be compaction safe."Mathieu Chartier2014-02-105-26/+34
|\ \
| * | Fix CreateMultiArray to be compaction safe.Mathieu Chartier2014-02-085-26/+34
| | | | | | | | | | | | | | | | | | | | | It used to be compaction safe before moving classes was enabled. Added missing SIRTs. Change-Id: I92963ed71fa6d2a20d16ec0e400b8fa0e41ac196
* | | Merge "Add wide setter test with preceding parameters as int."Vladimir Marko2014-02-101-2/+27
|\ \ \
| * | | Add wide setter test with preceding parameters as int.Vladimir Marko2014-02-101-2/+27
| | | | | | | | | | | | | | | | Change-Id: Ieeef0318d140aad963f75e5d14938e5e7a9eec41
* | | | Merge "Fix special getter/setter generation."Vladimir Marko2014-02-101-2/+2
|\ \ \ \ | |/ / / |/| | |
| * | | Fix special getter/setter generation.Vladimir Marko2014-02-101-2/+2
|/ / / | | | | | | | | | Change-Id: I381618bdcc46c51b50e94042f332db99c3a71a38
* | | Merge "Revert "Revert "Check FastInstance() early for special getters and ↵Vladimir Marko2014-02-108-173/+250
|\ \ \ | |/ / |/| | | | | setters."""
| * | Revert "Revert "Check FastInstance() early for special getters and setters.""Vladimir Marko2014-02-108-173/+250
| | | | | | | | | | | | | | | | | | This reverts commit 632e458dc267fadfb8120be3ab02701e09e64875. Change-Id: I5098c41ee84fbbb39397133a7ecfd367fecebe42
* | | Merge "Make debugger / jdwp compaction safe."Mathieu Chartier2014-02-088-107/+211
|\ \ \
| * | | Make debugger / jdwp compaction safe.Mathieu Chartier2014-02-088-107/+211
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixed GetInstances, GetReferringObjects, CountInstances to use VisitObjects instead of the live bitmap. We now treat the object registry as system weaks and update the objects when/if they move. Also added the recent_allocation_records_ as roots. Bug: 12936165 Change-Id: I615c289efbf2977ceab5c4ffa73d216d799e6e33
* | | Merge "Revert "Check FastInstance() early for special getters and setters.""Ian Rogers2014-02-088-250/+173
|\ \ \ | |/ /
| * | Revert "Check FastInstance() early for special getters and setters."Ian Rogers2014-02-088-250/+173
| | | | | | | | | | | | | | | | | | This reverts commit 5dc5727261e87ba8a418e2d0e970c75f67e4ab79. Change-Id: I3299c8ca5c3ce3f2de994bab61ea16a734f1de33
* | | Merge "Revert "Generate ARM special methods from InlineMethod data.""Ian Rogers2014-02-082-79/+127
|\ \ \
| * | | Revert "Generate ARM special methods from InlineMethod data."Ian Rogers2014-02-082-79/+127
| | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 1ca62346583210f64092a44a74b5947d51826e7a. Change-Id: I9589fc6ff15fbea36edb99f6d336040a8e0b4e71
* | | | Merge "Tweak test to better expose codegen bug."Ian Rogers2014-02-081-4/+4
|\ \ \ \
| * | | | Tweak test to better expose codegen bug.Ian Rogers2014-02-071-4/+4
|/ / / / | | | | | | | | | | | | | | | | | | | | Place a non-zero value in high 32bits. Change-Id: I6ff42de39d56c4e4d6f44eb0001460ba6d58aa75
* | | | Merge "Make primitive getter/setters consistently signed."Ian Rogers2014-02-083-21/+21
|\ \ \ \
| * | | | Make primitive getter/setters consistently signed.Ian Rogers2014-02-073-21/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use QuasiAtomic for Cas64, which fixes the MIPS build of ART. Change-Id: Id1dba264b148a7ce9bcc637159ec733cfbd88b70
* | | | | Merge "RosAlloc verification."Hiroshi Yamauchi2014-02-089-38/+405
|\ \ \ \ \ | |/ / / / |/| | | |
| * | | | RosAlloc verification.Hiroshi Yamauchi2014-02-079-38/+405
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If enabled, RosAlloc verification checks the allocator internal metadata and invariants to detect bugs, heap corruptions, and race conditions. Added runtime options for enabling and disabling it. Enable it for the debug build. Bug: 9986565 Bug: 12592026 Change-Id: I923742b87805ae839f1549d78d0d492733da6a58
* | | | Merge "Generate ARM special methods from InlineMethod data."Vladimir Marko2014-02-072-127/+79
|\ \ \ \ | |/ / /
| * | | Generate ARM special methods from InlineMethod data.Vladimir Marko2014-02-072-127/+79
| |/ / | | | | | | | | | Change-Id: Icd3af7fae67f9bd33d218056509a23549d1eeba2
* | | Merge "Check FastInstance() early for special getters and setters."Vladimir Marko2014-02-078-173/+250
|\ \ \ | |/ /
| * | Check FastInstance() early for special getters and setters.Vladimir Marko2014-02-078-173/+250
|/ / | | | | | | | | | | | | | | | | | | | | | | Perform the FastInstance() check for getters and setters when they are detected by the inliner. This will help avoid the FastInstance() check for inlining. We also record the field offset and whether the field is volatile and whether the method is static for use when inlining or generating the special accessors. Change-Id: I3f832fc9ae263883b8a984be89a3b7793398b55a
* | Merge "Fix JDWP thread crash."Sebastien Hertz2014-02-071-0/+2
|\ \
| * | Fix JDWP thread crash.Sebastien Hertz2014-02-061-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix a crash happenning when JDWP thread attempts to process incoming packets from a closed socket. It happens when the runtime shuts down while JDWP thread is still running and waiting for incoming JDWP packets. When we close the JDWP connection from runtime destructor, we wake up the JDWP thread. To avoid this, we call Dbg::Dispose before closing the connection. Bug: 12578041 Change-Id: I8d03478b6c3f5f49e08899d476f292b7a401d5f3
* | | Merge "Object model changes to support 64bit."Ian Rogers2014-02-07216-2924/+4850
|\ \ \
| * | | Object model changes to support 64bit.Ian Rogers2014-02-06216-2924/+4850
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Modify mirror objects so that references between them use an ObjectReference value type rather than an Object* so that functionality to compress larger references can be captured in the ObjectRefererence implementation. ObjectReferences are 32bit and all other aspects of object layout remain as they are currently. Expand fields in objects holding pointers so they can hold 64bit pointers. Its expected the size of these will come down by improving where we hold compiler meta-data. Stub out x86_64 architecture specific runtime implementation. Modify OutputStream so that reads and writes are of unsigned quantities. Make the use of portable or quick code more explicit. Templatize AtomicInteger to support more than just int32_t as a type. Add missing, and fix issues relating to, missing annotalysis information on the mutator lock. Refactor and share implementations for array copy between System and uses elsewhere in the runtime. Fix numerous 64bit build issues. Change-Id: I1a5694c251a42c9eff71084dfdd4b51fff716822
* | | Merge "Break unnecessary dependence on common_test."Ian Rogers2014-02-071-13/+12
|\ \ \
| * | | Break unnecessary dependence on common_test.Ian Rogers2014-02-061-13/+12
|/ / / | | | | | | | | | Change-Id: I2763bcc2f2507dbf63d9cfef8f016df5a889b35d
* | | Merge "ART can't create more than 8k threads during the worktime"Ian Rogers2014-02-075-6/+52
|\ \ \
| * | | ART can't create more than 8k threads during the worktimeAlexei Zavjalov2014-02-065-6/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ART uses LDT to point to the Java Thread structure. This structure can holds up to 8k pointers, so we can have 8k threads simultaneously. But the current implementation does not free slots for the finished threads. This means there cannot be more than 8k threads created during the whole life cycle. This patch implements the LDT slots freeing mechanism. Change-Id: Ifcf8fe1f4434a13f940146fff39b9c7bf91ee17b Signed-off-by: Alexei Zavjalov <alexei.zavjalov@intel.com>
* | | | Merge "Add missing SIRT to LoadNativeLibrary."Mathieu Chartier2014-02-065-15/+22
|\ \ \ \ | |/ / / |/| | |
| * | | Add missing SIRT to LoadNativeLibrary.Mathieu Chartier2014-02-065-15/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When we transition to kWaitingForJniOnLoad, we are suspended and a GC can occur. This caused issues since classloaders are movable. Change-Id: Iae59019c22ac64322a82300107d06a4323ee602b
* | | | Merge "[MIPS64] Temporary placeholder build, to allow other projects to build"Brian Carlstrom2014-02-061-0/+4
|\ \ \ \ | |/ / / |/| | |
| * | | [MIPS64] Temporary placeholder build, to allow other projects to buildDuane Sand2014-02-051-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | This needs to be reverted once proper mips64 port is available Change-Id: I64d1c7ebbdb4d8b9cc5306830954df351e67d813
* | | | Merge "Restore end of dex2oat logging"Brian Carlstrom2014-02-061-1/+6
|\ \ \ \
| * | | | Restore end of dex2oat loggingBrian Carlstrom2014-02-051-1/+6
| | | | | | | | | | | | | | | | | | | | Change-Id: I808cc60e8bb84609f42c0262b10fa0f1b4962763
* | | | | Merge "Fix apps with more than one dex file with the same name"Brian Carlstrom2014-02-066-67/+73
|\ \ \ \ \
| * | | | | Fix apps with more than one dex file with the same nameBrian Carlstrom2014-02-066-67/+73
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reverts most of 60836d5a9bcf8b30984aae4279a4f6233b0bf622 which I believe was an incorrect attempt to address issue introduced in 8d31bbd3d6536de12bc20e3d29cfe03fe848f9da, which is also reverted here. Also adds some debugging aids include operator<< for DexFile and MemMap and checksum information to OatFile logging. Bug: 12802375 Change-Id: Idd6f7dd487f6e01e9479cd15cd4b61580160e8a3
* | | | | Merge "Specializing x86 range argument copying"Ian Rogers2014-02-0612-30/+362
|\ \ \ \ \ | |/ / / / |/| | | |
| * | | | Specializing x86 range argument copyingRazvan A Lupusoru2014-02-0512-30/+362
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ARM implementation of range argument copying was specialized in some cases. For all other architectures, it would fall back to generating memcpy. This patch updates the x86 implementation so it does not call memcpy and instead generates loads and stores, favoring movement of 128-bit chunks. Change-Id: Ic891e5609a4b0e81a47c29cc5a9b301bd10a1933 Signed-off-by: Razvan A Lupusoru <razvan.a.lupusoru@intel.com>