mvstanton@chromium.org
0476093778
Fix clang compilation error.
...
TBR=yangguo@chromium.org
Review URL: https://codereview.chromium.org/659053002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24662 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-16 12:27:35 +00:00
mvstanton@chromium.org
ecac8b0877
Eliminate special keyed load string stub in favor of uniform handlers.
...
KeyedLoadIC installs a special case if the receiver is a string.
Although there are several maps for strings, in practice we seem to
be able to treat them individually because a given KeyedLoad site
only sees 1-2 string types.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/602773003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24661 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-16 11:42:47 +00:00
bmeurer@chromium.org
fe3a8845f0
[turbofan] Correctify typed lowering.
...
We cannot add new JSToNumber nodes here in general, because:
a) The inserted ToNumber operation screws up observability of valueOf.
b) Deoptimization at ToNumber doesn't have corresponding bailout id.
TEST=cctest,mjsunit
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/649543004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24660 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-16 11:31:00 +00:00
bmeurer@chromium.org
785f7a21c0
Fix x64 after r24656.
...
TBR=jarin@chromium.org
Review URL: https://codereview.chromium.org/655383003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24659 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-16 11:29:31 +00:00
wingo@igalia.com
04c17602a4
Object.is should use SameValue
...
BUG=v8:3576
LOG=
R=arv@chromium.org , svenpanne@chromium.org , wingo@igalia.com
Review URL: https://codereview.chromium.org/626323002
Patch from Diego Pino <dpino@igalia.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24658 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-16 11:24:45 +00:00
wingo@igalia.com
ee64a14b24
Implement .forEach() on typed arrays
...
BUG=v8:3578
LOG=Y
R=dslomov@chromium.org , wingo@igalia.com
Review URL: https://codereview.chromium.org/583723002
Patch from Adrian Perez de Castro <aperez@igalia.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24657 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-16 10:55:26 +00:00
bmeurer@chromium.org
15bc4aa2c8
[turbofan] Run value numbering after SimplifiedLowering.
...
Running ValueNumberingReducer together with ChangeLowering causes
trouble with the current GraphReducer and makes GVN ineffective, so
running it before we get to change lowering works around that well-known
(phase ordering) problem for now.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/660733003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24656 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-16 10:50:21 +00:00
aandrey@chromium.org
b96b570628
Introduce v8::Exception::GetStackTrace API method.
...
This will be needed to get a stack trace from a DOMException.
API=v8::Exception::GetStackTrace
R=yangguo@chromium.org
LOG=Y
Review URL: https://codereview.chromium.org/655243002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24655 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-16 10:42:08 +00:00
m.m.capewell@googlemail.com
0840abf37b
[arm][arm64] fix code for InstanceofStub
...
R=ulan@chromium.org , bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/657813002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24654 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-16 10:38:58 +00:00
machenbach@chromium.org
d83e070498
Whitespace change to test the new poller.
...
TBR=agable@chromium.org
Review URL: https://codereview.chromium.org/657113003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24653 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-16 10:03:14 +00:00
machenbach@chromium.org
4193c37dcd
Whitespace change to test the new poller.
...
TBR=agable@chromium.org
Review URL: https://codereview.chromium.org/664483002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24652 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-16 08:39:20 +00:00
machenbach@chromium.org
7809e2ca35
Whitespace change to test the new poller.
...
TBR=agable@chromium.org
Review URL: https://codereview.chromium.org/654393003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24651 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-16 08:19:45 +00:00
bmeurer@chromium.org
5cfc74948f
[turbofan] Fix GraphC1Visualizer::PrintType().
...
TBR=jarin@chromium.org
Review URL: https://codereview.chromium.org/657993003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24650 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-16 06:59:39 +00:00
weiliang.lin@intel.com
ef6ffa2a01
X87: Implement inline %_IsJSProxy() for full codegen and Hydrogen.
...
port r24636.
original commit message:
Implement inline %_IsJSProxy() for full codegen and Hydrogen
Saving a runtime call for many builtin functions.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/657273002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24649 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-16 06:24:47 +00:00
adamk@chromium.org
ae7161e4cb
Revert "Remove SmartMove, bringing Array methods further into spec compliance"
...
This reverts https://code.google.com/p/v8/source/detail?r=24647
It caused test failures in Array methods in Linux64 OptimizeForSize.
BUG=v8:2615
TBR=verwaest@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/656683003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24648 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-15 23:53:02 +00:00
adamk@chromium.org
bb885a79db
Remove SmartMove, bringing Array methods further into spec compliance
...
This is one step towards a single codepath for each method in array.js.
This patch is based on rafaelw's https://codereview.chromium.org/349073002
BUG=v8:2615
LOG=Y
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/455933002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24647 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-15 23:36:58 +00:00
adamk@chromium.org
a6ff3f7f4a
Handle exceptions thrown by Array.observe machinery
...
BUG=chromium:417709
LOG=N
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/651323003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24646 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-15 18:22:20 +00:00
balazs.kilvady@imgtec.com
e6a73c1eb5
MIPS: Implement inline %_IsJSProxy() for full codegen and Hydrogen.
...
Port r24636
Original commit message:
Saving a runtime call for many builtin functions.
BUG=
R=paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/661503002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24645 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-15 17:14:17 +00:00
jkummerow@chromium.org
8949d5f580
Fix compilation some more after r24639
...
Third time's a charm...
TBR=yangguo@chromium.org
Review URL: https://codereview.chromium.org/655223003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24644 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-15 15:04:09 +00:00
sigurds@chromium.org
2577d6c261
Fix compilation after r24639
...
TBR=yangguo@chromium.org
Review URL: https://codereview.chromium.org/653353003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24643 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-15 14:42:32 +00:00
jkummerow@chromium.org
d7acb9148b
Fix compilation after r24639
...
TBR=yangguo@chromium.org
Review URL: https://codereview.chromium.org/661473002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24642 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-15 14:27:26 +00:00
rossberg@chromium.org
0ab88698ae
Fix verification of Int64Constant
...
TBR=jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/660533002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24641 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-15 14:17:26 +00:00
neis@chromium.org
a6f06b4d1f
Give simple types to Math.Min, Math.Max, Math.Fround, Math.Clz32.
...
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/657793002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24640 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-15 14:12:20 +00:00
yangguo@chromium.org
4f9fd83d85
Break deserializer reservations into chunks that fit onto a page.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/653033002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24639 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-15 14:04:53 +00:00
dslomov@chromium.org
461a2f403e
Convert argument toObject() in Object.getOwnPropertyNames/Descriptors
...
BUG=v8:3443
LOG=Y
R=arv@chromium.org , dslomov@chromium.org
Review URL: https://codereview.chromium.org/613283002
Patch from Caitlin Potter <caitpotter88@gmail.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24638 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-15 14:01:20 +00:00
jkummerow@chromium.org
c9ae9b3b70
Implement inline %_IsJSProxy() for full codegen and Hydrogen
...
Saving a runtime call for many builtin functions.
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/651223002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24636 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-15 13:26:43 +00:00
titzer@chromium.org
ad80a80a8b
Fix bug in NodeCache::GetCachedNodes
...
TBR=dcarney@chromium.org
BUG=
Review URL: https://codereview.chromium.org/656033003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24635 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-15 13:07:18 +00:00
jochen@chromium.org
21f7300a5b
Fix GetCurrentThreadId for Solaris etc..
...
BUG=v8:3620
R=svenpanne@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/653263003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24634 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-15 12:38:53 +00:00
machenbach@chromium.org
33c676388c
Whitespace change to test new git workflow.
...
TBR=agable@chromium.org
Review URL: https://codereview.chromium.org/657073002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24633 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-15 12:38:38 +00:00
titzer@chromium.org
754abff699
Add JSGraph::GetCachedNodes and NodeCache::GetCachedNodes. These routines are necessary in the dead code elimination phase to trim away uses from unreachable nodes.
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/656103002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24632 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-15 12:29:39 +00:00
verwaest@chromium.org
23868b419c
Optimize Function.prototype.call
...
BUG=
R=verwaest@chromium.org , jarin@chromium.org , jkummerow@chromium.org
Review URL: https://codereview.chromium.org/588573002
Patch from Petka Antonov <p.antonov@partner.samsung.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24631 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-15 12:22:15 +00:00
dcarney@chromium.org
37f1645023
[turbofan] more verification of rpo
...
R=titzer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/603533002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24630 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-15 12:15:38 +00:00
vegorov@chromium.org
6fc00b4dea
Fix out-of-bounds read in SourcePositionToScriptPosition with --hydrogen-track-positions.
...
We were indexing into the list of inlined functions with inlining ID, which is incorrect.
There can be multiple inlinining IDs corresponding to the same inlined function, because inlining ID is inlining path sensitive unique id for an inlining attempt.
Additionally allow HAbnormalExit to have unknown source position even if we are tracking source positions. No code is generated from abnormal exits anyways.
R=svenpanne@chromium.org
BUG=v8:3184
LOG=N
Review URL: https://codereview.chromium.org/653993005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24629 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-15 12:06:41 +00:00
rossberg@chromium.org
458db603a4
Presubmit checks
...
TBR=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/658733002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24628 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-15 11:58:30 +00:00
rossberg@chromium.org
7464f04ebf
Fix oversight in type change
...
TBR=dcarney@chromium.org
BUG=
Review URL: https://codereview.chromium.org/646033005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24627 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-15 11:56:05 +00:00
rossberg@chromium.org
0e16150d33
Better typing and type verification
...
- Extend verifier to check types of JS and Simplified nodes.
- Untyped nodes now contain NULL as types, enforcing hard failure.
- Typer immediately installs itself as a decorator; remove explicit decorator installation.
- Decorator eagerly types all nodes that have typed inputs
(subsumes typing of constant cache, removing its typing
side-channel and various spurious dependencies on the typer).
- Cut down typer interface to prevent inconsistently typed graphs.
- Remove verification from start, since it caused too much trouble
with semi-wellformed nodes.
- Fix a couple of bugs on the way that got uncovered.
To do: verifying machine operators. Also, various conditions in the
verifier are currently commented out, because they don't yet hold.
BUG=
R=jarin@chromium.org ,titzer@chromium.org
Review URL: https://codereview.chromium.org/658543002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24626 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-15 11:38:04 +00:00
yangguo@chromium.org
46db2f9b80
Make event logger slightly more light-weight.
...
R=dcarney@chromium.org
BUG=chromium:423668
LOG=N
Review URL: https://codereview.chromium.org/651413002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24624 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-15 11:16:42 +00:00
erikcorry@chromium.org
3727a10d20
Use WeakCell to handle the script wrapper cache
...
The script wrapper cache used the API weak handles to provide a weak link from Script to ScriptWrapper. We want to change the way API weakness works, and in this context it's best to get rid of users of the API that don't need to be users.
R=ulan@chromium.org
BUG=
Review URL: https://codereview.chromium.org/659513003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24622 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-15 10:11:08 +00:00
yangguo@chromium.org
5e17ead8df
Initialize double values before calling rempio2.
...
R=ishell@chromium.org
BUG=chromium:421981
LOG=N
Review URL: https://codereview.chromium.org/645243003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24621 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-15 09:24:55 +00:00
svenpanne@chromium.org
e216ab1d40
Array.prototype.{every, filter, find, findIndex, forEach, map, some}: Use fresh primitive wrapper for calls.
...
When the receiver is a primitive value, it's cast to an Object before entering the loop. Instead, it should be cast to an Object for each function call while in the loop.
BUG=v8:3536
LOG=Y
R=arv@chromium.org , svenpanne@chromium.org , wingo@igalia.com
Review URL: https://codereview.chromium.org/553413002
Patch from Diego Pino <dpino@igalia.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24620 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-15 09:11:32 +00:00
bmeurer@chromium.org
985db1a3c8
[x86] Several small performance improvements.
...
- Generate
cmp reg, 0
instead of
test reg, -1
for word tests.
- Generate
mov reg, [stack slot]
add reg, reg
jo label
instead of
mov reg, [stack slot]
add reg, [stack slot]
jo label
for SMI tagging.
- Improve materialization of int32 constants on X86-64.
- Branch fusion fix for Word64And and Int64Sub on X86-64.
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/651383003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24619 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-15 09:05:40 +00:00
dcarney@chromium.org
b26632f655
Let FastCloneShallowObjectStub work with empty literal objects.
...
R=verwaest@chromium.org
LOG=N
BUG=417290
Review URL: https://codereview.chromium.org/655163002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24618 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-15 08:48:44 +00:00
ulan@chromium.org
ac1f429689
Remove test-api/Regress2107 since it doesn't test what Chrome does.
...
BUG=v8:3625
LOG=N
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/657033003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24617 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-15 08:44:00 +00:00
dcarney@chromium.org
c8a0ea9e3a
[turbofan] fix block mapping in code comments
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/635213003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24616 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-15 08:23:24 +00:00
neis@chromium.org
93d0e79d6e
Again reland "Refine expression typing, esp. by propagating range information."
...
This relands commit 24552.
TBR=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/650513003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24615 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-15 08:21:46 +00:00
bmeurer@chromium.org
f574d93e51
Revert "Reland "Refine expression typing, esp. by propagating range information.""
...
This reverts commit r24609 for breaking the
cctest/test-js-typed-lowering/Int32BitwiseBinops test.
TBR=rossberg@chromium.org ,neis@chromium.org
Review URL: https://codereview.chromium.org/656003002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24614 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-15 03:50:13 +00:00
balazs.kilvady@imgtec.com
2de468e854
MIPS: [turbofan] Optimize division/modulus by constant.
...
Port r24595 (d0f464e)
TEST=cctest,mjsunit,unittests
BUG=
R=paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/651223003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24611 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-14 17:26:14 +00:00
sigurds@chromium.org
b30c09d969
Fix performance bug in scheduler.
...
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/651233002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24610 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-14 16:28:32 +00:00
neis@chromium.org
a7eb593147
Reland "Refine expression typing, esp. by propagating range information."
...
This relands commit 24552.
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/653693002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24609 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-14 16:27:26 +00:00
yangguo@chromium.org
9a21ba499c
Catch exceptions thrown when enqueuing change records.
...
R=ishell@chromium.org
BUG=chromium:417709
LOG=N
Review URL: https://codereview.chromium.org/653593002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24608 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-14 14:46:11 +00:00