haitao.feng@intel.com
23af599c18
Don't need a temp register for StoreKeyed double
...
save a gap move
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/174693002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19829 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-12 02:21:03 +00:00
plind44@gmail.com
6cf22a6041
MIPS: Eliminate extended mode, and other modes clean-up
...
Port r19800 (4402a23)
Original commit message:
- Merge LanguageMode and StrictModeFlag enums
- Make harmony-scoping depend only on strict mode
- Free some bits on the way
- Plus additional clean-up and renaming
BUG=
Review URL: https://codereview.chromium.org/195693002
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19828 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 22:16:56 +00:00
rmcilroy@chromium.org
0896bd70a2
Revert "Pass a Code object to Assembler::(set_)target_address_at for use by ool constant pool."
...
This reverts r19825 for breaking ia32.debug checks.
Original Review URL: https://codereview.chromium.org/183803022
Update serializer to be able to deal with ool constant pool.
TBR=ulan@chromium.org
Review URL: https://codereview.chromium.org/195373004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19827 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 21:46:26 +00:00
rmcilroy@chromium.org
f9288fca53
Update serializer to be able to deal with ool constant pool.
...
This CL depends on CL https://codereview.chromium.org/179813005/ landing first.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/190883002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19826 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 20:52:00 +00:00
rmcilroy@chromium.org
38732785dd
Pass a Code object to Assembler::(set_)target_address_at for use by ool constant pool.
...
The ool constant pool will require a pointer to the code's constant pool when
updating or reading target addresses using set_target_address_at()
and target_address_at().
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/183803022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19825 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 20:31:23 +00:00
plind44@gmail.com
ab2493e428
MIPS: Mode clean-up pt 1: rename classic/non-strict mode to sloppy mode.
...
Port r19799 (8fb4c93)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/194613005
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19824 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 20:28:28 +00:00
rmcilroy@chromium.org
fadc74ec04
Clean up ARM mov 32bit immediate code in preparation for out of line constant pool.
...
R=rodolph.perfetta@arm.com , ulan@chromium.org
Review URL: https://codereview.chromium.org/138503002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19823 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 20:17:02 +00:00
plind44@gmail.com
5d473db176
MIPS: Cleanup some of the range uses in ModI/DivI.
...
Port r19796 (2b8ff32)
BUG=v8:3204
LOG=y
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/194863004
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19822 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 19:04:14 +00:00
dslomov@chromium.org
8af219477a
Revert "Reland "Enable Object.observe by default""
...
This reverts commit r19736 for breaking browser_tests on ChromiumOS.
TBR=rossberg@chromium.org ,rafaelw@chromium.org
Review URL: https://codereview.chromium.org/195603002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19819 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 18:36:15 +00:00
dslomov@chromium.org
f6dac13dcb
Revert "Enable Object.observe by default"
...
This reverts commit r19734 for breeaking ChromiumOS browser tests.
'OpenSpecialTypes/FileManagerBrowserTest.Test/3' started to time out,
bisecting the roll led to this change.
http://build.chromium.org/p/chromium.chromiumos/builders/Linux%20ChromiumOS%20Tests%20%282%29/builds/22224
TBR=rafaelw@chromium.org ,rossberg@chromium.org
BUG=v8:2409
LOG=Y
Review URL: https://codereview.chromium.org/195123005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19816 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 18:15:44 +00:00
baptiste.afsa@arm.com
59914900f3
A64: Tidy up a few TODOs.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/195363003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19815 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 17:31:40 +00:00
m.m.capewell@googlemail.com
6f1adba226
A64: UseRegisterAtStart for rhs of LMulS
...
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/191283002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19814 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 17:12:34 +00:00
rossberg@chromium.org
85800eff3f
Fix issue with getOwnPropertySymbols and hidden properties
...
When getting the symbols of an object we need to ignore the hidden
properties of the prototype object since the hidden properties are
represented by a single string key and we will not include that hidden
string in the found names.
BUG=350864
LOG=Y
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/192883005
Patch from Erik Arvidsson <arv@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19813 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 16:46:35 +00:00
marja@chromium.org
534245c9a5
Move ParseArguments to ParserBase and add tests.
...
Notes:
- PreParser didn't produce "too_many_arguments"; now it does.
- The argument count in the error message was wrong; fixed it.
BUG=v8:3126
LOG=N
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/194503004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19812 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 16:30:47 +00:00
rossberg@chromium.org
94b5180db0
API support for promises
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/194663003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19811 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 16:17:20 +00:00
ulan@chromium.org
5b5cd79a79
Fix kraken/oscillator performance regression after r19635.
...
Evict previously optimized code after new optimization.
BUG=v8:3202
LOG=N
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/189263009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19810 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 15:50:41 +00:00
baptiste.afsa@arm.com
b27e6d02be
A64: Tidy up a couple of TODOs.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/189883006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19809 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 15:50:01 +00:00
ulan@chromium.org
0b7d4778b8
Invalidate OS-specific datetime cache on configuration change notification
...
When V8 is informed that the system's date time configuration has changed,
it should also drop its OS-specific caches of time zone information
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/193933002
Patch from James Robinson <jamesr@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19808 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 15:46:56 +00:00
m.m.capewell@googlemail.com
7a8ccc0bdf
A64: Improve constraints for StoreNamedField
...
Improve register constraints for cases that don't need write barriers, and
remove TODOs.
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/189373006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19807 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 15:46:31 +00:00
baptiste.afsa@arm.com
797c75e7b1
A64: Debug code should assert on unexpected situation.
...
R=jochen@chromium.org
BUG=
Review URL: https://codereview.chromium.org/184533002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19806 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 15:41:27 +00:00
marja@chromium.org
cf820126b9
Move ParseObjectLiteral to ParserBase.
...
BUG=v8:3126
LOG=N
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/192993002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19805 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 15:40:41 +00:00
dcarney@chromium.org
62fc099334
fix bad access check check
...
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/195163002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19804 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 15:12:47 +00:00
baptiste.afsa@arm.com
5b662703ab
A64: Add and use a double register which holds the 0.0 value.
...
This patch also modify the crankshaft allocatable double registers because
we need this register to be callee saved to be efficient.
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/190663009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19803 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 15:03:36 +00:00
dslomov@chromium.org
5961614702
Revert "Enable concurrent sweeping."
...
This reverts commit r19792 for breaking ARM tests.
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/194553003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19802 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 14:59:19 +00:00
rossberg@chromium.org
34ac7d13ed
Work around Windows name clobbering
...
TBR=dslomov@chromium.org
BUG=
Review URL: https://codereview.chromium.org/194753006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19801 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 14:56:42 +00:00
rossberg@chromium.org
8e3f3cee9e
Eliminate extended mode, and other modes clean-up
...
- Merge LanguageMode and StrictModeFlag enums
- Make harmony-scoping depend only on strict mode
- Free some bits on the way
- Plus additional clean-up and renaming
R=ulan@chromium.org
BUG=
Review URL: https://codereview.chromium.org/181543002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19800 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 14:41:22 +00:00
rossberg@chromium.org
3f702d4bf9
Mode clean-up pt 1: rename classic/non-strict mode to sloppy mode
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/177683002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19799 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 14:39:08 +00:00
yangguo@chromium.org
6e1507331e
Fix bug in constant folding object comparisons.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/195063002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19798 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 13:34:01 +00:00
bmeurer@chromium.org
4ac0876a8c
Cleanup some of the range uses in ModI/DivI.
...
BUG=v8:3204
LOG=y
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/191293013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19796 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 11:57:27 +00:00
svenpanne@chromium.org
bd96b9ffce
Updated constants.
...
No idea when they got out-of-sync...
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/194953002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19795 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 11:56:04 +00:00
hpayer@chromium.org
d9090c0284
Do not run AddInstructionChangesNewSpacePromotion test in release mode.
...
BUG=
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/194663004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19794 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 11:53:40 +00:00
yangguo@chromium.org
dda0aa88b0
Revert "Mark mjsunit/string-case as flaky."
...
This reverts r19760 since the issue has been fixed in r19755.
R=dslomov@google.com , dslomov@chromium.org
BUG=v8:3208
LOG=N
Review URL: https://codereview.chromium.org/194823002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19793 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 11:38:53 +00:00
hpayer@chromium.org
fd2f351237
Enable concurrent sweeping.
...
BUG=
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/166683002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19792 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 11:37:53 +00:00
yangguo@chromium.org
c865b1351a
Do not overwrite already optimized code.
...
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/189603006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19791 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 11:37:02 +00:00
hpayer@chromium.org
9819cfd29c
Make sure tagged binary op instructions change new space promotion.
...
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/194883003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19790 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 11:36:55 +00:00
rossberg@chromium.org
dc14b1648c
Silence Win warnings
...
TBR=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/194893002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19789 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 10:53:13 +00:00
rossberg@chromium.org
8b0e0442bb
PromiseCoerce should ignore primitive values.
...
PromiseCource(x) should return "not a thenable" if Type(x) is not Object
even if x.then exists.
BUG=347095
LOG=Y
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/194403002
Patch from Yutaka Hirano <yhirano@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19788 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 10:41:18 +00:00
mvstanton@chromium.org
819d9f62d0
Fix for 350887: CHECK failure on new_length->IsSmi()
...
In ElementsAccessorBase::SetLengthImpl for a dictionary array, we try to
optimize setting array length if the new length is a smi. However, we
refuse to set an array length to less than the index of the highest
non-configurable array element. This index may be outside of smi range.
Handle this case accordingly.
BUG=350887
LOG=N
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/194803002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19787 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 10:30:10 +00:00
rossberg@chromium.org
9abfab09fa
Types: cache lub bitset to avoid heap access
...
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/186743002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19786 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 10:28:38 +00:00
jochen@chromium.org
364c02e738
Fix compilation on win after r19784
...
TBR=dcarney@chromium.org
BUG=
Review URL: https://codereview.chromium.org/194703002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19785 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 09:35:24 +00:00
jochen@chromium.org
00ba711658
Use a per-isolate cache for the date object JS bits
...
The old per-context cache made it difficult for the embedder to notify
v8 of date/time configuration changes. The embedder had to enter all
contexts for the isolate and notify v8 for each context.
With the new per-isolate cache, the embedder only needs to notify v8
once per isolate.
BUG=348856
LOG=y
R=dcarney@chromium.org , ulan@chromium.org
TEST=cctest/test-date
Review URL: https://codereview.chromium.org/189913023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19784 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 09:04:14 +00:00
titzer@chromium.org
91a2aa6a2c
Add MacroAssembler::Move(reg, immediate) on IA32.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/188463003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19780 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 08:52:48 +00:00
bmeurer@chromium.org
a7ead16719
Really skip dead blocks in GVN
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/194413002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19779 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 08:14:38 +00:00
machenbach@chromium.org
b5f3020caa
Prepare push to trunk. Now working on version 3.25.8.
...
R=dslomov@chromium.org
TBR=dslomov@chromium.org
Review URL: https://codereview.chromium.org/194493002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19776 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 07:52:05 +00:00
haitao.feng@intel.com
7d64ff66c3
Refactor lithium operand declaration a little bit.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/186543002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19775 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 02:55:06 +00:00
plind44@gmail.com
fe909b47ea
MIPS: Reland "Handle non-power-of-2 divisors in division-like operations".
...
Port r19749 (4880ed9)
Original commit message:
Fixed the flooring div bug and added a test case.
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/192743006
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19774 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-10 19:50:36 +00:00
rmcilroy@chromium.org
a199ba80ef
Differentate between code target pointers and heap pointers in constant pools.
...
Separate out code target pointers from normal heap pointer entries in constant
pool arrays so that the GC can correctly relocate these pointers using the
appropriate mechanism.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/183883011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19773 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-10 19:05:43 +00:00
rmcilroy@chromium.org
9cfd807cba
Special case the recording of constant pool entries in the slot buffer.
...
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
2014-03-10 18:47:57 +00:00
rmcilroy@chromium.org
d625eb34be
Deal with filler object map pointers in the ool constant pool correctly.
...
This CL updates
StoreBuffer::FindPointersToNewSpaceOnPage such that it skips constant pool array objects. Constant Pool Arrays should never have pointers to the new space and might contain pointers to the FreeSpace map (e.g., due to code
being generated which needs to do a map-check on a FreeSpace object) which would incorrectly treated as a filler object if processed by FindPointersToNewSpaceOnPage().
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/183553003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19771 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-10 18:44:19 +00:00
jacob.bramley@arm.com
19a04c3a69
A64: Use a scope utility to allocate scratch registers.
...
This replaces Tmp0() and Tmp1() with a more flexible scratch register
pool. A scope-based utility can temporarily acquire registers from this
pool as needed.
We no longer have to worry about whether to use Tmp0(), Tmp1() or
something else; the scope can just get the next available scratch
register.
BUG=
R=jochen@chromium.org , rmcilroy@chromium.org
Review URL: https://codereview.chromium.org/164793003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19768 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-10 16:25:15 +00:00