adamk@chromium.org
98e0eac76f
Speed up creation of Objects whose prototype has dictionary elements
...
This speeds up both the case from the bug (using Object.create) but also
takes care ofthe "{ __proto__: obj }" syntax, which was previously (and
erroneously) being treated the same as setting the prototype dynamically
from script using the __proto__ setter or Object.setPrototypeOf.
BUG=chromium:422754
LOG=y
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/667253002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24814 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-22 18:16:35 +00:00
adamk@chromium.org
04db7c8793
Fix {get,set}ter-on-elements tests to run through all creation functions
...
setter-on-elements had the wrong length hardcoded in a for loop over the
creation functions (getter-on-elements had the right length, but seemed
worth future-proofing).
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/643143005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24813 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-22 17:21:53 +00:00
titzer@chromium.org
5a1774268a
Add Terminate operator.
...
Terminate is need for non-terminating loops (NTLs) that can appear after optimizing control flow. It gathers the control and effect(s) from a NTL and connects them to end so that they are not dead-code removed.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/651843004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24812 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-22 17:15:38 +00:00
jochen@chromium.org
7a70d6a0eb
Update intialization of vtune support.
...
In R23940 (https://code.google.com/p/v8/source/detail?r=23940 ) it introduces
Isolate::CreateParams and mentions that V8::SetJitCodeEventHandler should either
be passed to Isolate::New as well, or invoked via the Isolate.
When Chrome as embedder of V8, we will set the Jit Code event handler for Vtune
support during the initialization of renderer process and V8 has be initialized
at that time. It's better that we invoke V8::SetJitCodeEventHander via the Isolate.
So we change the vTune::InitializeVtuneForV8(v8::Isolate::CreateParams& params) to
vTune::InitializeVtuneForV8(v8::Isolate* isolate).
we will do corresponding changes in chromium code if this patch is landed and Chromium
updates V8 to the
new release branch.
some part of this patch is provided by denis.pravdin@intel.com .
BUG=
R=danno@chromium.org , jochen@chromium.org
Review URL: https://codereview.chromium.org/655183002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24811 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-22 15:30:50 +00:00
dslomov@chromium.org
8de3b7e129
Stage harmony-strings.
...
R=rossberg@chromium.org , yangguo@chromium.org
Review URL: https://codereview.chromium.org/666353002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24810 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-22 14:58:25 +00:00
titzer@chromium.org
f843327ea0
Cleanups to Verifier.
...
This CL broadens the checks done by the verifier in untyped mode and introduces some subroutines to shorten the code a bit.
Introduce routines CheckUpperIs() CheckUpperMaybe() and CheckValueInputIs() that are called unconditionally by the verifier. If the typing mode is untyped, then don't check anything.
Also added a couple checks for Merge and Loop nodes that catch bugs where the operator and the node disagree on input counts (a bug encountered today).
R=mstarzinger@chromium.org , rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/669073002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24809 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-22 14:39:41 +00:00
dslomov@chromium.org
db000e307a
Remove [[PROTOTYPE]] from ObjectToStringHarmony
...
harmony-tostring needs to emulate InstallFunctions --- InstallFunctions will fail
in Debug builds because the `toString` property already exists in Object.prototype.
The fix is to add some of the other features from InstallFunctions() to the
setup of ObjectToStringHarmony.
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/667263004
Patch from Caitlin Potter <caitpotter88@gmail.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24808 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-22 14:06:15 +00:00
wingo@igalia.com
6c9bab5c74
Array.prototype.{reduce, reduceRight}: Wrong order of operations when determining initial value.
...
BUG=v8:3534
LOG=
R=svenpanne@chromium.org , wingo@igalia.com
Review URL: https://codereview.chromium.org/614733002
Patch from Diego Pino <dpino@igalia.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24807 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-22 13:13:19 +00:00
machenbach@chromium.org
5680786c21
Move js perf tests to a common root on the perf dashboard.
...
BUG=
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/667373004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24806 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-22 13:04:08 +00:00
machenbach@chromium.org
e48e3e53ae
Add an --msan flag to run-tests.py.
...
Currently a no-op and added only for consistency with ASan/TSan.
BUG=chromium:425187
R=machenbach@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/667903004
Patch from Sergey Matveev <earthdok@chromium.org>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24805 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-22 12:54:35 +00:00
machenbach@chromium.org
846dfa1a84
Whitespace change to test new git workflow.
...
TBR=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/638883006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24804 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-22 11:32:39 +00:00
mstarzinger@chromium.org
e4fe4e2c5f
Switch ScheduleLateNodeVisitor to use explicit queue.
...
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/672583002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24803 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-22 11:31:12 +00:00
bmeurer@chromium.org
6619a7975d
[turbofan] Add support for deferred code.
...
Branch can now have an optional hint, when the condition is
likely true or false, and if such a hint is present the other
basic block will be marked as deferred and placed at the end
of the function.
We currently use this feature for tagging int32/uint32 in
change lowering, and for load/store bounds checks in simplified
lowering.
TEST=cctest,unittests
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/642883003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24802 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-22 11:24:55 +00:00
dslomov@chromium.org
1efcf09375
Perf tests for fromCodePoint and codePointAt.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/670463005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24801 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-22 11:08:42 +00:00
sigurds@chromium.org
81420f003b
Add FRINTP (round towards positive infinity) instruction.
...
Macro Assember, assembler and simulator for ARM64 were missing FRINTP.
R=rodolph.perfetta@arm.com , ulan@chromium.org
Review URL: https://codereview.chromium.org/669923002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24800 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-22 11:06:22 +00:00
balazs.kilvady@imgtec.com
1479cb96c3
MIPS64: Spread the knowledge!
...
Port r24793 (c0c2b0d)
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24799 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-22 10:26:38 +00:00
bmeurer@chromium.org
08e20d1291
Disable libstdc++ debug mode on x64 for now.
...
TBR=mstarzinger@chromium.org
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24798 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-22 09:37:42 +00:00
mstarzinger@chromium.org
cb4f2520aa
Remove testing artifacts from Schedule::AddFoo.
...
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/641553003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24797 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-22 09:14:48 +00:00
dslomov@chromium.org
b664c12235
Flatten the string in StringToDouble function.
...
R=yangguo@chromium.org
BUG=chromium:425551
LOG=N
Review URL: https://codereview.chromium.org/654763003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24796 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-22 08:19:05 +00:00
jochen@chromium.org
4669a5cfb9
Really disable test when running with optimize for size
...
R=bmeurer@chromium.org
TBR=bmeurer@chromium.org
LOG=n
BUG=none
Review URL: https://codereview.chromium.org/652903008
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24795 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-22 08:15:47 +00:00
bmeurer@chromium.org
ded822a5de
Enable libstdc++ debug mode in debug builds.
...
For now it's only enabled on Linux/Intel.
R=mstarzinger@chromium.org
BUG=v8:3638
LOG=y
Review URL: https://codereview.chromium.org/650013006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24794 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-22 08:12:17 +00:00
dslomov@chromium.org
af97f09b94
Spread the knowledge!
...
R=arv@chromium.org , mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/670623005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24793 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-22 08:06:43 +00:00
jochen@chromium.org
b57976051b
Fix newly added test to not run with optimize-for-size
...
TBR=ulan@chromium.org
BUG=none
LOG=n
Review URL: https://codereview.chromium.org/673593002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24792 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-22 07:36:12 +00:00
jochen@chromium.org
8f7a455fe2
Add support for a target new space size
...
When this flag is set, we will commit additional pages up until the
target size before doing a scavenge.
I made sure that all tests pass when a target size of 16MB is set.
BUG=v8:3626
R=ulan@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/652543007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24790 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-22 06:58:38 +00:00
bmeurer@chromium.org
8214cc0e56
Use getauxval() if available.
...
This fixes the problem of not being able to detect ARM features on
ChromeOS because sandbox cannot access /proc/self/auxv and
/proc/cpuinfo there.
Drive-by-cleanup to libc detection in two other places.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/672543002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24789 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-22 06:42:17 +00:00
machenbach@chromium.org
f0881c6129
Whitespace change to trigger revert of new test262-es6 tests.
...
TBR=rossberg@chromium.org
Review URL: https://codereview.chromium.org/665373003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24788 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 20:13:09 +00:00
machenbach@chromium.org
681c1b923a
Whitespace change to trigger new test262-es6 tests.
...
TBR=rossberg@chromium.org
Review URL: https://codereview.chromium.org/672483002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24787 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 18:46:12 +00:00
machenbach@chromium.org
bdba5b4e72
Whitespace change to trigger new test262-es6 tests.
...
TBR=rossberg@chromium.org
Review URL: https://codereview.chromium.org/646873005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24786 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 18:38:03 +00:00
adamk@chromium.org
ed23b4de0b
Replace single quotes with double quotes to fix BUILD.gn
...
TBR=jochen@chromium.org
Review URL: https://codereview.chromium.org/665313003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24785 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 18:16:50 +00:00
adamk@chromium.org
b6d0113abc
Array.prototype.{slice,splice} should use [[DefineOwnProperty]] to generate return value
...
BUG=chromium:423633
LOG=N
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/649063003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24784 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 17:46:42 +00:00
dslomov@chromium.org
37bd114925
Update ObjectToString to Harmony-draft algorithm
...
Updates Object.prototype.toString() to use algorithm described in harmony drafts.
Currently, the behaviour is essentially the same as ES262's version, however this changes when internal structures
such as Promise make use of symbolToStringTag (as they are supposed to, see v8:3241), and changes further once
Symbol.toStringTag is exposed publicly.
BUG=v8:3241, v8:3502
LOG=N
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/546803003
Patch from Caitlin Potter <caitpotter88@gmail.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24783 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 17:21:32 +00:00
mstarzinger@chromium.org
5df6dc390b
Revert "Make sure floating phi nodes are coupled to their control."
...
TBR=jarin@chromium.org
Review URL: https://codereview.chromium.org/654583004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24782 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 16:31:51 +00:00
mstarzinger@chromium.org
bf958b0f78
Make sure floating phi nodes are coupled to their control.
...
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/669683002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24781 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 15:35:39 +00:00
titzer@chromium.org
0c4f8bc6c4
Fix scheduler not to connect final merge block in the graph to its inputs.
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/667953002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24780 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 15:12:45 +00:00
dcarney@chromium.org
1c5fafe890
[turbofan] use ZonePool in most places in the compiler pipeline a temp zone is used.
...
R=jarin@chromium.org , bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/663333003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24779 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 14:44:50 +00:00
titzer@chromium.org
2642058760
Fix off-by-one bug in TurboFan register allocator.
...
R=jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/671703003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24778 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 14:41:54 +00:00
titzer@chromium.org
12a82ef32c
Fix AstGraphBuilder for loops like for(;;).
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/640203004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24777 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 14:17:08 +00:00
rossberg@chromium.org
077809fc67
Fix incorrect private access
...
(I'm puzzled why GCC did not report this error.)
TBR=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/669733007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24776 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 13:37:49 +00:00
mvstanton@chromium.org
8330178b4c
The issue is that by handling strings with map/handler pairs instead of a special
...
version of the keyed load stub (https://code.google.com/p/v8/source/detail?r=24661 ),
I allowed polymorphism between string and non-string types in the IC. Before, the
IC would go generic.
Then, at crankshaft time, we special case when we only saw strings. The error
here is that crankshaft can't emit code that handles polymorphism between string
and non-string types. The choice is either to get that to happen (I don't deem
this necessary from a performance point of view, an IC with such type feedback
before would have gone generic), or simply check for the case of "polymorphic
with some string maps" and require crankshaft to go generic. I'll do the latter.
BUG=425519
LOG=N
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/667923004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24775 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 13:04:51 +00:00
rossberg@chromium.org
5e1cd18d94
Fix data race with interface caching
...
R=bmeurer@chromium.org
BUG=421634
LOG=N
Review URL: https://codereview.chromium.org/667703002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24774 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 12:57:19 +00:00
jochen@chromium.org
2147d5a145
Use an idle notification of 0ms as hint that a GC after context disposal is triggerd
...
BUG=none
R=ulan@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/671513006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24773 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 12:56:52 +00:00
dcarney@chromium.org
54fef44df3
[turbofan] add ZonePool to correctly track compiler phase memory usage
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/665893006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24771 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 12:38:46 +00:00
bmeurer@chromium.org
1efc572fe7
[turbofan] Reduce ~~x to x.
...
TEST=unittests
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/666723005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24770 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 12:24:01 +00:00
wingo@igalia.com
4eddbacabf
Assign bailout and type feedback IDs in a post-pass
...
This will allow us to move expressions from one function to another, for
example when the parser determines that a given cover grammar instance
is actually the default value initializer for an arrow function.
This is a re-land of https://codereview.chromium.org/636403003/ with a
fix for the arm64 code generator.
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/663373003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24769 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 12:16:37 +00:00
dslomov@chromium.org
b830c2741c
Handle property name "-0" correctly for typed arrays.
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/670623003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24768 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 11:54:10 +00:00
verwaest@chromium.org
37b7dde54d
Remove unused IsDirty
...
BUG=
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/670703002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24767 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 11:21:54 +00:00
dusan.milosavljevic@imgtec.com
0ffa82c3ac
Handle NaN value storing in Uint8Clamped typed arrays.
...
TEST=mjsunit/external-array
BUG=
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/667113002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24766 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 11:10:13 +00:00
dslomov@chromium.org
ac8b70cf2b
Perf tests for harmony string functions.
...
R=yangguo@chromium.org
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24765 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 11:05:32 +00:00
bmeurer@chromium.org
423201ea06
[x86] Select better left operand for comparisons.
...
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/667933002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24764 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 10:59:55 +00:00
yangguo@chromium.org
018e3979ee
Fix leak in d8.
...
R=bmeurer@chromium.org
TBR=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/652403003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24763 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 10:59:41 +00:00