- 20 May, 2014 1 commit
-
-
rmcilroy@chromium.org authored
This CL updates RelocInfo update operations and set_target_address_at to enable skipping of the icache flush if it going to be batched up later. Code::CopyFrom and Code::Relocate are modified to avoid individual icache flushes since the whole code area will be flushed after the reloc info is updated. These changes reduce a regression when enabling the OOL constant pool on Arm, since this change can cause MovT/MovW instructions for relocatable targets if the constant pool is full. Scores for Mandreel latency on a Nexus 5: - OOL CP disabled: 3533 - OOL CP enabled, without this CL: 1825 - OOL CP enabled, with change: 3015 R=rodolph.perfetta@arm.com, ulan@chromium.org Review URL: https://codereview.chromium.org/284153004 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21380 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
-
- 09 May, 2014 1 commit
-
-
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
-
- 06 May, 2014 1 commit
-
-
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
-
- 30 Apr, 2014 1 commit
-
-
yangguo@chromium.org authored
R=hpayer@chromium.org Review URL: https://codereview.chromium.org/259173003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21086 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 29 Apr, 2014 1 commit
-
-
rmcilroy@chromium.org authored
The ConstantPoolBuilder stores RelocInfo in an stl::vector, therefore RelocInfo cannot subclass BASE_EMBEDDED. R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/253923005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21056 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 28 Apr, 2014 1 commit
-
-
ulan@chromium.org authored
BUG= R=yangguo@chromium.org Review URL: https://codereview.chromium.org/254783003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21002 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 Apr, 2014 2 commits
-
-
yangguo@chromium.org authored
Motivation: we do not have test coverage for debuggersupport=off. R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/256653004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20969 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
Added an Isolate* field to NoTrackDoubleFieldsForSerializerScope, PlatformFeatureScope and BinaryOpIC::State. The serializer state and even the CPU features will be per-Isolate later. Currently we get away with global state, because mksnapshot runs single-threaded and has only 1 Isolate, but this will change. Furthermore, these changes are yet another prerequisite for removing a catch-22 at initialization time when we try to enable serialization. This CL is similar in spirit to r20919, BTW. BUG=359977 LOG=y R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/250553005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20963 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Apr, 2014 1 commit
-
-
yangguo@chromium.org authored
R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/240053010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20888 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 Apr, 2014 1 commit
-
-
haitao.feng@intel.com authored
R=yangguo@chromium.org Review URL: https://codereview.chromium.org/232673003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20784 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 27 Mar, 2014 3 commits
-
-
yangguo@chromium.org authored
R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/214473003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20297 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
This reverts r20292 due to no-snapshot failures. TBR=svenpanne@chromium.org Review URL: https://codereview.chromium.org/214413005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20293 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
This fixes a bug introduced in r20179. R=jkummerow@chromium.org BUG=356211 LOG=N Review URL: https://codereview.chromium.org/213193011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20292 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 21 Mar, 2014 1 commit
-
-
jochen@chromium.org authored
BUG=354405 R=ulan@chromium.org, rodolph.perfetta@arm.com LOG=y Review URL: https://codereview.chromium.org/207823003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20148 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Mar, 2014 1 commit
-
-
ulan@chromium.org authored
This fixes assertion failure in destructor of Assembler. BUG=352659 LOG=N R=jochen@chromium.org Review URL: https://codereview.chromium.org/206213002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20100 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 19 Mar, 2014 3 commits
-
-
rmcilroy@chromium.org authored
This CL adds out-of-line constant pool support to Arm. A ConstantPoolBuilder object is introduced to manage building of the ConstantPoolArray for a given code object. This CL depends on the following CLs landing first: https://codereview.chromium.org/138503002/ https://codereview.chromium.org/179813005/ https://codereview.chromium.org/183553003/ https://codereview.chromium.org/183803022/ https://codereview.chromium.org/183883011/ https://codereview.chromium.org/186733006/ https://codereview.chromium.org/188063002/ https://codereview.chromium.org/190793002/ https://codereview.chromium.org/190823002/ https://codereview.chromium.org/190833002/ https://codereview.chromium.org/190883002/ R=ulan@chromium.org Review URL: https://codereview.chromium.org/204323004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20053 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
This reverts commit r20051. TBR=rmcilroy@chromium.org Review URL: https://codereview.chromium.org/204403002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20052 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
rmcilroy@chromium.org authored
This CL adds out-of-line constant pool support to Arm. A ConstantPoolBuilder object is introduced to manage building of the ConstantPoolArray for a given code object. This CL depends on the following CLs landing first: https://codereview.chromium.org/138503002/ https://codereview.chromium.org/179813005/ https://codereview.chromium.org/183553003/ https://codereview.chromium.org/183803022/ https://codereview.chromium.org/183883011/ https://codereview.chromium.org/186733006/ https://codereview.chromium.org/188063002/ https://codereview.chromium.org/190793002/ https://codereview.chromium.org/190823002/ https://codereview.chromium.org/190833002/ https://codereview.chromium.org/190883002/ R=ulan@chromium.org Review URL: https://codereview.chromium.org/191233003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20051 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 14 Mar, 2014 1 commit
-
-
alexandre.rames@arm.com authored
This patch includes 3 fixes for veneers emission. 1) Block veneer pools emission in the PatchingAssembler. 2) Fix the check for veneer pool emission just before a constant pool. 3) Forbid copy of labels. The list of JumpTableEntry used to track the deoptimization table entries would make copies of the labels when growing. Doing so, it would confuse the Assembler that was tracking the labels via pointers. R=ulan@chromium.org Review URL: https://codereview.chromium.org/200133002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19941 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Mar, 2014 2 commits
-
-
rmcilroy@chromium.org authored
Ensure that relocinfo's host code object is correctly reset on GC in TypeFeedbackOracle::RelocateRelocInfos TBR=ulan@chromium.org Review URL: https://codereview.chromium.org/197593003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19860 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
alexandre.rames@arm.com authored
Mapping the code offsets between code with and without debug break slots requires information about the size of the veneer pools and constant pools. BUG=v8:3173 LOG=N R=ulan@chromium.org Review URL: https://codereview.chromium.org/188253005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19857 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 10 Mar, 2014 2 commits
-
-
rmcilroy@chromium.org authored
This CL enables RelocInfo pointers which live in the constant pool to be treated as normal pointers by the slot buffer, avoiding the requirement of creating fake RelocInfo objects during UpdateSlots() in order to update these slots. This is possible because constant pool entries are just pointers and don't require the RelocInfo machinary to be updated. EmbeddedObject constant pool entries can be added untyped to the slot buffer, while code targets are still typed in order to correctly update the target address based on the relocated code object. Note: this is required in order to enable OOL constant pool support on Arm, but should be benifitial for the current inline constant pool used by Arm code. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/179813005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19772 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
Fixed the flooring div bug and added a test case. R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/191293012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19749 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Mar, 2014 2 commits
-
-
svenpanne@chromium.org authored
Revert "Handle non-power-of-2 divisors in division-like operations", "A64 tweaks for division-like operations." and "Windows build fix.". This reverts commit 19719, 19720 and 19721 because mozilla/ecma/Date/15.9.3.1-1 fails (in release mode only?). TBR=bmeurer@chromium.org Review URL: https://codereview.chromium.org/189963005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19722 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/190383002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19719 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Mar, 2014 1 commit
-
-
hpayer@chromium.org authored
BUG= R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/185233008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19639 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Feb, 2014 1 commit
-
-
ulan@chromium.org authored
BUG=v8:3113 LOG=Y R=jochen@chromium.org, rmcilroy@chromium.org, rodolph.perfetta@arm.com Review URL: https://codereview.chromium.org/148293020 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19311 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Jan, 2014 1 commit
-
-
mvstanton@chromium.org authored
to be on the global object. Previously, this information was stored in RelocInfo. A more logical place for this kind of structural information is ExtraICState. Storing it there makes it easier for us to gather type feedback from these sites too. R=verwaest@chromium.org Review URL: https://codereview.chromium.org/96083005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18466 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Dec, 2013 1 commit
-
-
svenpanne@chromium.org authored
It was only used for Math.log, and even then only in full code and in %_MathLog. For crankshafted code, Intel already used the FP operations directly, while the ARM/MIPS ports were a bit lazy and simply called the stub. The latter directly call the C library now without any cache. It would be possible to directly generate machine code if somebody has the time, from what I've seen out in the wild it should be only about a dozen instructions. LOG=y R=yangguo@chromium.org Review URL: https://codereview.chromium.org/113343003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18344 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Dec, 2013 1 commit
-
-
yangguo@chromium.org authored
R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/104203003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18256 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Nov, 2013 1 commit
-
-
svenpanne@chromium.org authored
The main change is that a bit has been added to array buffers to signal that the backing store has to be freed when the buffer dies. BUG=316359 LOG=Y R=yangguo@chromium.org Review URL: https://codereview.chromium.org/82763005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18003 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 21 Nov, 2013 2 commits
-
-
danno@chromium.org authored
Revert 17966, 17965 also as collateral damage: Embed trigonometric lookup table. Due to Heapcheck and valgrind failures that are not yet fixed. TBR=svenpanne@chromium.org Review URL: https://codereview.chromium.org/80513004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17981 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
This removes tons of architecture-specific code and makes it easy to experiment with other pseudo-RNG algorithms. The crankshafted code is extremely good, keeping all things unboxed and doing only minimal checks, so it is basically equivalent to the handwritten code. When benchmarks are run without parallel recompilation, we get a few percent regression on SunSpider's string-validate-input and string-base64, but these benchmarks run so fast that the overall SunSpider score is hardly affected and within the usual jitter. Note that these benchmarks actually run even faster when we don't crankshaft at all on the main thread (the regression is not caused by bad code, it is caused by Crankshaft needing a few hundred microsecond for compilation of a trivial function). Luckily, when parallel recompilation is enabled, i.e. in the browser, we see no regression at all! R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/68723002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17955 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 15 Nov, 2013 1 commit
-
-
bmeurer@chromium.org authored
This patch also clean up 64-bits literals handling. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/61763025 Patch from Rodolph Perfetta <rodolph.perfetta@gmail.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17789 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 Nov, 2013 1 commit
-
-
mstarzinger@chromium.org authored
R=yurys@chromium.org Review URL: https://codereview.chromium.org/65043006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17626 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 08 Nov, 2013 1 commit
-
-
svenpanne@chromium.org authored
Removed a useless test case along the way. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/65143007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17584 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Nov, 2013 3 commits
-
-
svenpanne@chromium.org authored
To keep the structure of the serializer more or less untouched, we use some ingenious Corry-approved(TM) 3-step technology (a.k.a. "hack"): * Create copies of code objects. * Wipe out all absolute addresses in these copies. * Write out the cleaned copies instead of the originals. In conjunction with --random-seed, our snapshots are reproducible now. BUG=v8:2885 R=bmeurer@chromium.org, erik.corry@gmail.com Review URL: https://codereview.chromium.org/54823002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17473 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
Depends on https://codereview.chromium.org/46583006/ and has similar reasoning behind it. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/50413004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17469 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
Previously, the result of target_reference_address() could only be read, writing to it would have had an architecture-dependent effect, e.g. writing into the code on ia32, a no-op on arm, etc. This refactoring-only CL turns this into a simple getter, making it impossible to use incorrectly. More to come... R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/46583006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17467 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-