- 19 May, 2014 2 commits
-
-
svenpanne@chromium.org authored
Shamelessly based on parts of https://codereview.chromium.org/288853003/. :-) R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/288383002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21355 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
This reverts the part of r21154 that introduced the CHECK()s to verify state of objects with stable maps during code generation. The CHECK()s seem to trigger a non-critical hidden bug in the map stability mechanism. We will re-add these CHECK()s once the bug is found and fixed. BUG=372173 LOG=y R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/287363002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21352 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 May, 2014 1 commit
-
-
yangguo@chromium.org authored
Traditionally, we cross compile a snapshot iff the serializer is enabled. This will change in the future. Changes: - CpuFeatures probing is done once per process, depending on whether we cross compile. - CpuFeatures are consolidated into the platform-independent assembler.h as much as possible. - FLAG_enable_<feature> will only be checked at probing time (already the case for ARM). - The serializer state is cached by the MacroAssembler. - PlatformFeatureScope is no longer necessary. - CPUFeature enum values no longer map to CPUID bit fields. R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/285233010 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21347 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 15 May, 2014 1 commit
-
-
yangguo@chromium.org authored
R=titzer@chromium.org Review URL: https://codereview.chromium.org/288213002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21329 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 14 May, 2014 2 commits
-
-
m.m.capewell@googlemail.com authored
Fix for divisor=1, found during code inspection. We can't hit this bug, due to HDiv::Canonicalize() discarding the operation, but it might avoid a future bug hunt. Patch also includes a small tidying of the ARM64 code. BUG= R=ulan@chromium.org Review URL: https://codereview.chromium.org/280883003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21313 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
m.m.capewell@googlemail.com authored
- Change ConstantD for +/-zero constants to use the fp_zero register. - Use Bfi in DoConstructDouble. - Use Tbz for positive dividend check in mod by constant. - Optimize some deoptimize checks. - Fix a couple of style/consistency issues. BUG= R=ulan@chromium.org Review URL: https://codereview.chromium.org/272183003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21311 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 13 May, 2014 1 commit
-
-
rodolph.perfetta@arm.com authored
BUG= R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/268673020 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21290 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 May, 2014 4 commits
-
-
Jacob.Bramley@arm.com authored
- W-sized values passed to Printf are now handled correctly by the simulator. In AAPCS64, int32_t and int64_t are passed in the same way, so this didn't affect non-simulator builds. - Since Printf now records the type and size of each argument, it is possible to mix argument types. - It is now possible to print the stack pointer. There is only one remaining restriction: The `csp` register cannot be printed unless it is the current stack pointer. This is because it is modified by BumpSystemStackPointer when the caller-saved registers are preserved. BUG= R=rmcilroy@chromium.org Review URL: https://codereview.chromium.org/268353005 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21272 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
R=ulan@chromium.org Review URL: https://codereview.chromium.org/261253005 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21270 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
m.m.capewell@googlemail.com authored
Optimize code generated for MathRoundI based on technique used in MathRoundD. BUG= R=ulan@chromium.org Review URL: https://codereview.chromium.org/276283003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21267 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
- Don't bake in length/capacity into full codegen calls of stubs, allowing boilerplates to increase their capacity without regenerating code. - Unify all variants of the clone stub into a single, length-independent version. - Various tweaks to make sure that the clone stub doesn't spill and therefore need an eager stack frame. - Handle all lengths of array literals in the fast case. R=mvstanton@chromium.org Committed: https://code.google.com/p/v8/source/detail?r=21230 Review URL: https://codereview.chromium.org/272513004 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21253 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 09 May, 2014 10 commits
-
-
verwaest@chromium.org authored
This breaks nosnap. BUG= R=ishell@chromium.org Review URL: https://codereview.chromium.org/272243002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21242 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
verwaest@chromium.org authored
BUG= R=ishell@chromium.org Review URL: https://codereview.chromium.org/272203002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21232 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
- Don't bake in length/capacity into full codegen calls of stubs, allowing boilerplates to increase their capacity without regenerating code. - Unify all variants of the clone stub into a single, length-independent version. - Various tweaks to make sure that the clone stub doesn't spill and therefore need an eager stack frame. - Handle all lengths of array literals in the fast case. R=mvstanton@chromium.org Review URL: https://codereview.chromium.org/272513004 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21230 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ishell@chromium.org authored
Revert "Make BitField3 a raw uint32 field, and move to the start of the map." Revert "Make space available in bf3 by moving FunctionWithPrototype to bf1" TBR=verwaest@chromium.org Review URL: https://codereview.chromium.org/278883002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21227 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
verwaest@chromium.org authored
BUG= R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/272163002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21225 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/275433004 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21223 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ishell@chromium.org authored
1) runtime/references checks temporarily disabled (56 items left) 2) other errors fixed R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/277913002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21222 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
rmcilroy@chromium.org authored
Even although the Arm64 specification specifies that csp only needs to be aligned to 16 bytes if it is dereferenced, some implementations show poor performance. Also makes the following change: - Enable CPU support for arm64 to enable probing of cpu implementer and cpu part. - Add ALWAYS_ALIGN_CSP CpuFeature for Arm64 and set it based on runtime probing of the cpu imp - Rename PrepareForPush and PrepareForPop to PushPreamble and PopPostamble and move PopPostabl Original Review URL: https://codereview.chromium.org/264773004 R=ulan@chromium.org Review URL: https://codereview.chromium.org/271543004 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21221 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/264233005 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21208 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
TEST=mjsunit/array-shift,mjsunit/array-shift2,mjsunit/array-shift3 R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/279743002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21203 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 08 May, 2014 1 commit
-
-
ulan@chromium.org authored
This instruciton clobbers the index register. BUG=368243 LOG=N TEST=mjsunit/regress/regress-368243 R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/269273003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21196 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 May, 2014 3 commits
-
-
bmeurer@chromium.org authored
R=verwaest@chromium.org Review URL: https://codereview.chromium.org/269343003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21189 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
R=machenbach@chromium.org Review URL: https://codereview.chromium.org/275433002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21187 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
Revert "Arm64: Ensure that csp is always aligned to 16 byte values even if jssp is not." and "Arm64: Fix check errors on Arm64 debug after r21177.". This reverts commit r21177 and r21179 for breaking the arm64 build. TBR=rmcilroy@chromium.org Review URL: https://codereview.chromium.org/271623002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21184 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 06 May, 2014 9 commits
-
-
rmcilroy@chromium.org authored
r21177 added extra AssertStackConsistency() checks which increased code size on debug and caused the assembler buffer to be too large. Increased some of these buffers to compensate. Also, ProfileEntryHoolStub could use the wrong number of instructions for kProfileEntryHookCallSize depending upon whether debug code was being emitted or ALWAYS_ALIGN_CSP was enabled. Fixed this by taking ALWAYS_ALIGN_CSP into account and ensuring that no debug code is emitted during MaybeCallEntryHook(). TBR=ulan@chromium.org Review URL: https://codereview.chromium.org/263213008 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21179 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
rmcilroy@chromium.org authored
Even although the Arm64 specification specifies that csp only needs to be aligned to 16 bytes if it is dereferenced, some implementations show poor performance if csp is every set to a non-aligned value. This CL ensures that csp is always aligned to 16 byte values on these platforms and adds checks to ensure this in debug mode. Also makes the following change: - Enable CPU support for arm64 to enable probing of cpu implementer and cpu part. - Add ALWAYS_ALIGN_CSP CpuFeature for Arm64 and set it based on runtime probing of the cpu implementer. - Rename PrepareForPush and PrepareForPop to PushPreamble and PopPostamble and move PopPostable after the pop. - R=jacob.bramley@arm.com, ulan@chromium.org Review URL: https://codereview.chromium.org/264773004 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21177 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
m.m.capewell@googlemail.com authored
SXTW extend mode is usually cheaper on loads and stores than arithmetic, so move it to the memory accesses where possible for Keyed loads and stores. BUG= R=ulan@chromium.org Review URL: https://codereview.chromium.org/268483002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21172 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
baptiste.afsa@arm.com authored
R=ulan@chromium.org Review URL: https://codereview.chromium.org/261933002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21168 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mvstanton@chromium.org authored
The fix is to make the code aging sequence hang off the isolate. BUG=v8:3303 R=svenpanne@chromium.org LOG=N Review URL: https://codereview.chromium.org/261953002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21165 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
m.m.capewell@googlemail.com authored
When possible, we transform sequences of code of the form lsl x8, x9, #imm add x0, x1, x8 into add x0, x1, x9 LSL #imm R=ulan@chromium.org Review URL: https://codereview.chromium.org/257203002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21161 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
R=yangguo@chromium.org BUG= Review URL: https://codereview.chromium.org/265283007 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21160 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
Jacob.Bramley@arm.com authored
BUG= R=ulan@chromium.org Review URL: https://codereview.chromium.org/255343004 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21156 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
- Canonicalize HCheckMapValue with constant map to HCheckMaps, and get rid of the special treatment during check elimination. - Track only stable object maps for HConstants and add CHECK()s to verify state during code generation. R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/263923004 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21154 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 May, 2014 4 commits
-
-
bmeurer@chromium.org authored
Instead of adding code dependencies on stable during graph creation, we now add them during code generation for those HCheckMaps that survived dead code elimination. R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/264973013 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21139 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
It is only used internally at a single place. R=yangguo@chromium.org Review URL: https://codereview.chromium.org/265243004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21137 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
There is no point doing it lazily, since compiling and executing the tiniest piece of code triggers lazy init. Also removed some dead code. R=ulan@chromium.org Review URL: https://codereview.chromium.org/265593004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21135 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
- Move IsMapAccess() to HObjectAccess. - Collect the actual objects instead of HStoreNamedFields in effects, and also consider HTransitionElementsKind. - Fix ownership of HCheckMaps::maps() and HLoadNamedField::maps(). - Avoid heavy copying of the same map sets all the time during check elimination, and do something useful with the memory instead by slightly bumping the maximum number of tracked objects. - Slightly optimize UniqueSet::Contains(). R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/264693011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21133 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 02 May, 2014 2 commits
-
-
svenpanne@chromium.org authored
This disentagles the initialization/dependency mess quite a bit and makes things vastly simpler. If the 'mrs' on every flush is too expensive (which it is hopefully not), the cache line sizes will have to be instance variables of the CPU class and FlushICache will have to be a member function. This would involve some more or less tricky refactorings, which we shouldn't do until we are *really* forced to do. BUG=359977 LOG=y R=rodolph.perfetta@gmail.com Review URL: https://codereview.chromium.org/269543016 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21119 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
Basically we should not check for map deprecation during code selection, because that may run on the concurrent compiler thread. So the fix is to move this logic to the code generation phase instead, which is always run on the main thread. R=mvstanton@chromium.org Review URL: https://codereview.chromium.org/263803005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21112 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-