verwaest@chromium.org [Fri, 19 Sep 2014 13:40:38 +0000 (13:40 +0000)]
Use the initial map of the Object function for empty object literals
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
586673002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24088
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 19 Sep 2014 13:39:55 +0000 (13:39 +0000)]
Add fast path in MigrateFastToFast for following transitions that don't extend storage
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/
588553002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24087
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Fri, 19 Sep 2014 13:37:34 +0000 (13:37 +0000)]
Refactoring: Use fake cwd in release script tests.
TEST=script_test.py
R=tandrii@chromium.org
TBR=jarin@chromium.org
Review URL: https://codereview.chromium.org/
585893002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24086
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
v8-autoroll@chromium.org [Fri, 19 Sep 2014 13:31:59 +0000 (13:31 +0000)]
[Auto-roll] Bump up version to 3.29.80.0
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24084
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Fri, 19 Sep 2014 12:50:50 +0000 (12:50 +0000)]
Widen the intake valve for TurboFan.
R=danno@chromium.org, mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
582703002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24083
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Fri, 19 Sep 2014 12:10:31 +0000 (12:10 +0000)]
Temporary hack to avoid PDFium crashing
I'll remove this again once PDFium has the explicit Initialize() call
as well
BUG=none
LOG=n
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
583183002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24082
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Fri, 19 Sep 2014 11:32:17 +0000 (11:32 +0000)]
Annotate Heap::FindAllocationMemento for MemorySanitizer.
This function may intentionally, safely use uninitialized memory.
BUG=chromium:413232
LOG=N
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
585643002
Patch from Sergey Matveev <earthdok@chromium.org>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24081
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Fri, 19 Sep 2014 11:27:54 +0000 (11:27 +0000)]
Remove a couple of deprecated APIs that moved to Isolate
Embedders should either pass the information to via
Isolate::CreateParams or use Isolate::SetStackLimit where appropriate
BUG=none
R=svenpanne@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/
584843002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24080
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Fri, 19 Sep 2014 11:26:36 +0000 (11:26 +0000)]
ARM: Make stack limit stricter to account for large buffers in MacroAssembler.
BUG=405338
LOG=Y
R=rmcilroy@chromium.org, rodolph.perfetta@arm.com
Review URL: https://codereview.chromium.org/
583163002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24079
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Fri, 19 Sep 2014 11:08:04 +0000 (11:08 +0000)]
Implement loads and calls from 'super'
R=verwaest@chromium.org, arv@chromium.org
BUG=v8:3330
LOG=N
Review URL: https://codereview.chromium.org/
527963002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24078
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 19 Sep 2014 11:06:59 +0000 (11:06 +0000)]
Removed confusing defensive programming in GenerateJumpTable.
For a given address/type pair we should always find a deoptimization
bailout ID, otherwise something is wrong. This was already asserted on
ARM, but we now do this consistently on all platforms.
Removed some usesless naming creativity on the way.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
587473003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24077
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Fri, 19 Sep 2014 10:52:19 +0000 (10:52 +0000)]
Fix windows warning.
TBR=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
583123003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24076
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Fri, 19 Sep 2014 10:45:04 +0000 (10:45 +0000)]
Fix float truncations in typed array tests.
TBR=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
577163003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24075
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Fri, 19 Sep 2014 09:56:12 +0000 (09:56 +0000)]
Hack representation inference to assume current behavior of float32 loads and stores, which include implicit representation changes.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
576973003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24072
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Fri, 19 Sep 2014 09:30:04 +0000 (09:30 +0000)]
Fix type in idle time undershot histogram name
TBR=hpayer@chromium.org
LOG=n
BUG=none
Review URL: https://codereview.chromium.org/
587563003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24071
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
weiliang.lin@intel.com [Fri, 19 Sep 2014 09:27:45 +0000 (09:27 +0000)]
X87: When serializer is enalbed, we disable the X87 stack check to reduce the code size.
The reason is that the big code size will leads to test-serialize test cases fail
when debug mode and snapshot=off.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/
582373002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24070
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Fri, 19 Sep 2014 09:15:47 +0000 (09:15 +0000)]
The --optimize-for-size flag should imply a small semi-space
R=hpayer@chromium.org, mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
585523002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24069
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Fri, 19 Sep 2014 08:25:56 +0000 (08:25 +0000)]
Fix leak in cctest/test-heap/ReleaseStackTraceData
TBR=svenpanne@chromium.org
BUG=none
LOG=n
Review URL: https://codereview.chromium.org/
585843002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24068
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Fri, 19 Sep 2014 08:01:35 +0000 (08:01 +0000)]
Reland 24052 - Require V8 to be explicitly initialized before an Isolate is created
> We also initialize the Isolate on creation.
>
> This should allow for getting rid of the last remaining default isolate
> traces. Also, it'll speed up several isolate related operations that no
> longer require locks.
>
> Embedders that relied on v8::Isolate to return an uninitialized Isolate
> (so they can set ResourceConstraints for example, or set flags that
> modify the way the isolate is created) should either do the setup before
> creating the isolate, or use the recently added CreateParams to pass e.g.
> ResourceConstraints.
>
> BUG=none
> LOG=y
> R=svenpanne@chromium.org
>
> Review URL: https://codereview.chromium.org/
469783002
BUG=none
LOG=y
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
583153002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24067
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Fri, 19 Sep 2014 07:51:23 +0000 (07:51 +0000)]
Perform scavenges only for small idle times.
BUG=
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/
586643002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24066
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Fri, 19 Sep 2014 07:36:05 +0000 (07:36 +0000)]
Reland sticky regexps https://codereview.chromium.org/
567313003/
R=svenpanne@chromium.org, yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
580383003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24065
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 19 Sep 2014 07:27:13 +0000 (07:27 +0000)]
Removed a few dead template functions.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
583833006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24064
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
weiliang.lin@intel.com [Fri, 19 Sep 2014 06:33:37 +0000 (06:33 +0000)]
X87: Convert KeyedLoad indexed interceptor case to a Handler.
port r24042.
original commit message:
Convert KeyedLoad indexed interceptor case to a Handler.
Currently, KeyedLoads on objects with indexed interceptors are handled with a
special stub. Instead, key on the map and handler mechanism for more uniform
treatment.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/
581273005
Patch from Jing Bao <jing.bao@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24063
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
weiliang.lin@intel.com [Fri, 19 Sep 2014 06:31:33 +0000 (06:31 +0000)]
X87: Move state sentinels into TypeFeedbackVector.
port r24037.
original commit message:
Move state sentinels into TypeFeedbackVector.
These sentinels were in the wrong place, living in only tangentially related class TypeFeedbackInfo, but they codify state in the TypeFeedbackVector.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/
585743002
Patch from Jing Bao <jing.bao@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24062
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 19 Sep 2014 06:27:06 +0000 (06:27 +0000)]
Emit comment with instruction+reason before deopt calls.
Note that we still need to migrate from sometimes emitting those
comments by hand to passing a reason explicitly, but this can be done
incrementally in separate CLs.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
582743002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24061
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
v8-autoroll@chromium.org [Fri, 19 Sep 2014 03:01:44 +0000 (03:01 +0000)]
[Auto-roll] Bump up version to 3.29.79.0
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24059
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Thu, 18 Sep 2014 21:57:10 +0000 (21:57 +0000)]
Revert "Require V8 to be explicitly initialized before an Isolate is created"
LOG=n
TBR=svenpanne@chromium.org
BUG=none
Review URL: https://codereview.chromium.org/
582953002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24055
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Thu, 18 Sep 2014 21:54:50 +0000 (21:54 +0000)]
Skip math-floor-of-div-nosudiv on arm
TBR=svenpanne@chromium.org
BUG=none
LOG=n
Review URL: https://codereview.chromium.org/
587453002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24054
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
v8-autoroll@chromium.org [Thu, 18 Sep 2014 21:31:24 +0000 (21:31 +0000)]
[Auto-roll] Bump up version to 3.29.77.0
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24053
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Thu, 18 Sep 2014 21:07:50 +0000 (21:07 +0000)]
Require V8 to be explicitly initialized before an Isolate is created
We also initialize the Isolate on creation.
This should allow for getting rid of the last remaining default isolate
traces. Also, it'll speed up several isolate related operations that no
longer require locks.
Embedders that relied on v8::Isolate to return an uninitialized Isolate
(so they can set ResourceConstraints for example, or set flags that
modify the way the isolate is created) should either do the setup before
creating the isolate, or use the recently added CreateParams to pass e.g.
ResourceConstraints.
BUG=none
LOG=y
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
469783002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24052
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
arv@chromium.org [Thu, 18 Sep 2014 17:39:49 +0000 (17:39 +0000)]
Cleanup class parsing a bit
BUG=v8:3330
LOG=Y
R=marja@chromium.org
Review URL: https://codereview.chromium.org/
575083002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24051
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
paul.lind@imgtec.com [Thu, 18 Sep 2014 17:33:24 +0000 (17:33 +0000)]
Update cctest OWNERS file for mips committers.
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
576613003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24050
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 18 Sep 2014 17:25:25 +0000 (17:25 +0000)]
Revert "filter cross context eval"
(Reverts https://codereview.chromium.org/
294073002/)
BUG=chromium:415051
LOG=y
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/
582093002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24049
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
arv@chromium.org [Thu, 18 Sep 2014 17:14:13 +0000 (17:14 +0000)]
ES6: Implement generator method shorthand
https://people.mozilla.org/~jorendorff/es6-draft.html#sec-method-definitions
BUG=v8:3516
LOG=Y
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/
577973002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24048
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
balazs.kilvady@imgtec.com [Thu, 18 Sep 2014 15:38:52 +0000 (15:38 +0000)]
MIPS: Convert KeyedLoad indexed interceptor case to a Handler.
Port r24042 (eb9b9ec)
Original commit message:
Currently, KeyedLoads on objects with indexed interceptors are handled with a
special stub. Instead, key on the map and handler mechanism for more uniform
treatment.
BUG=
R=dusan.milosavljevic@imgtec.com
Review URL: https://codereview.chromium.org/
579273002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24047
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
balazs.kilvady@imgtec.com [Thu, 18 Sep 2014 15:36:42 +0000 (15:36 +0000)]
MIPS: Move state sentinels into TypeFeedbackVector.
Port r24037 (d821bf9)
Original commit message:
These sentinels were in the wrong place, living in only tangentially related class TypeFeedbackInfo, but they codify state in the TypeFeedbackVector.
BUG=
R=dusan.milosavljevic@imgtec.com
Review URL: https://codereview.chromium.org/
583573003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24046
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Thu, 18 Sep 2014 14:53:00 +0000 (14:53 +0000)]
Revert "RegExp: Add support for the ES6-proposed sticky flag"
Causes a flaky failure on buildbots. Here is the (deterministic) repro step (thanks to Michael Stanton):
first go to flag-definitions.h and set this to false.
DEFINE_BOOL(enable_sse4_1, false,
"enable use of SSE4.1 instructions if available")
Run the following and it should fail:
tools/run-tests.py --arch=ia32 --mode=release cctest/test-api/Regress2107
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
580123002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24045
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Thu, 18 Sep 2014 13:37:36 +0000 (13:37 +0000)]
Avoid idle times smaller than 1ms.
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
580083002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24044
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
wingo@igalia.com [Thu, 18 Sep 2014 13:30:15 +0000 (13:30 +0000)]
Implement generator mirror
R=yangguo@chromium.org, aandrey@chromium.org
BUG=v8:3292
LOG=N
Review URL: https://codereview.chromium.org/
580823002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24043
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Thu, 18 Sep 2014 13:28:32 +0000 (13:28 +0000)]
Convert KeyedLoad indexed interceptor case to a Handler.
Currently, KeyedLoads on objects with indexed interceptors are handled with a
special stub. Instead, key on the map and handler mechanism for more uniform
treatment.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
575373004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24042
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Thu, 18 Sep 2014 13:24:02 +0000 (13:24 +0000)]
Fix gcmole warning.
TBR=ishell@chromium.org
Review URL: https://codereview.chromium.org/
582033002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24041
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Thu, 18 Sep 2014 12:52:12 +0000 (12:52 +0000)]
Capacity returns allocatable memory and TotalCapacity returns allocatable plus non-allocatable memory for the new space.
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
577223002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24040
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Thu, 18 Sep 2014 12:31:31 +0000 (12:31 +0000)]
Move state sentinels into TypeFeedbackVector.
These sentinels were in the wrong place, living in only tangentially related class TypeFeedbackInfo, but they codify state in the TypeFeedbackVector.
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/
579153003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24037
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Thu, 18 Sep 2014 12:21:50 +0000 (12:21 +0000)]
Implement ToLength from ES6 section 7.1.15
BUG=
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
552273002
Patch from Caitlin Potter <caitpotter88@gmail.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24036
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 18 Sep 2014 12:00:00 +0000 (12:00 +0000)]
Turn keyed loads with string-based (non-convertible to array-index) key into named loads
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/
585433002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24032
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Thu, 18 Sep 2014 11:32:39 +0000 (11:32 +0000)]
RegExp: Add support for the ES6-proposed sticky flag
R=yangguo@chromium.org, rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
567313003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24031
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 18 Sep 2014 11:13:36 +0000 (11:13 +0000)]
Remove dead CompilationInfo::DisableOptimization predicate.
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/
585443002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24030
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 18 Sep 2014 10:57:18 +0000 (10:57 +0000)]
Don't inline polymorphic cases if not all cases can be handled inline.
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
578233002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24029
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
v8-autoroll@chromium.org [Thu, 18 Sep 2014 10:01:37 +0000 (10:01 +0000)]
[Auto-roll] Bump up version to 3.29.76.0
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24028
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Thu, 18 Sep 2014 09:59:53 +0000 (09:59 +0000)]
Introduce TypeFeedbackVector, as FixedArray grew constrictive.
The TypeFeedbackVector is poised to host significant functionality. While it
remains a FixedArray under the covers, we need a place to hold logic and
definitions unique to its function.
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/
581993002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24027
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 18 Sep 2014 09:53:08 +0000 (09:53 +0000)]
Thread the Lithium instruction down to DeoptimizeIf and friends.
This is a purely mechanical refactoring and a first step towards being
able to report more helpful deoptimization reasons. With this
refactoring, we know at least the mnemonic of the instruction causing
the deopt, although this is not used yet. Future steps will be using
the mnemonic, passing additional explicit deopt reasons and removing
the fragile machinery of searching for code comments.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
559143003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24026
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 18 Sep 2014 09:41:45 +0000 (09:41 +0000)]
Remove Compiler::RecordFunctionCompilation from interface.
R=sigurds@chromium.org
Review URL: https://codereview.chromium.org/
582593003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24025
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 18 Sep 2014 09:02:36 +0000 (09:02 +0000)]
Unify use-sites of EnsureDeoptimizationSupport.
R=sigurds@chromium.org
Review URL: https://codereview.chromium.org/
563123004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24024
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sigurds@chromium.org [Thu, 18 Sep 2014 08:56:52 +0000 (08:56 +0000)]
Reland "Add handling for argument adaptor frames to inlining."
Original: https://codereview.chromium.org/
573703002/
Reland Fixes:
- Add deopt framestate to CollectStackTrace runtime call
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
544953006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24023
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Thu, 18 Sep 2014 08:47:13 +0000 (08:47 +0000)]
Don't update the compilation size statistics when doing an optimized compile.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
575393002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24022
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Thu, 18 Sep 2014 08:44:46 +0000 (08:44 +0000)]
Use allocation throughput to estimate next scavenge event in idle notification.
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
573943004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24021
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Thu, 18 Sep 2014 06:57:12 +0000 (06:57 +0000)]
Revert "Don't use OwnPrototypeChainLength in GetOwnPropertyNames"
This reverts commit r23997 for causing check failures in
layout tests:
http://build.chromium.org/p/client.v8/builders/V8-Blink%20Linux%2064%20%28dbg%29/builds/498
TBR=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
581013003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24018
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
v8-autoroll@chromium.org [Wed, 17 Sep 2014 17:31:19 +0000 (17:31 +0000)]
[Auto-roll] Bump up version to 3.29.73.0
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24014
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dusan.milosavljevic@imgtec.com [Wed, 17 Sep 2014 16:21:22 +0000 (16:21 +0000)]
MIPS64: Fix move operations from coprocessor in simulator.
This resolves calculation errors for trigonometric functions.
TEST=test262/S15.8.2.7_A6.js
BUG=
R=jkummerow@chromium.org, paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/
558163006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24013
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Wed, 17 Sep 2014 15:29:42 +0000 (15:29 +0000)]
Rename Runtime_CompileUnoptimized to Runtime_CompileLazy, because that is what it does. Split Compiler::GetUnoptimizedCode into two variants, one for lazy compilation (which can return optimized code!) and the other that actually returns unoptimized code.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
547293004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24012
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sigurds@chromium.org [Wed, 17 Sep 2014 15:00:57 +0000 (15:00 +0000)]
Revert "Add handling for argument adaptor frames to inlining."
This reverts commit r24008.
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
581673002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24010
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 17 Sep 2014 14:47:25 +0000 (14:47 +0000)]
Introduce simplified BooleanToNumber operator.
R=titzer@chromium.org
TEST=cctest/test-simplified-lowering/LowerBooleanToNumber
Review URL: https://codereview.chromium.org/
579723004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24009
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sigurds@chromium.org [Wed, 17 Sep 2014 14:41:30 +0000 (14:41 +0000)]
Add handling for argument adaptor frames to inlining.
- Lazy deopt from inlined calls
- Lazy deopt from inlined calls with parameter mismatch
R=jarin@chromium.org, mstarzinger@chromium.org, mstarzinger@chromium
Review URL: https://codereview.chromium.org/
573703002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24008
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Wed, 17 Sep 2014 14:28:48 +0000 (14:28 +0000)]
Fix the IsTheHole bug.
For Double constant of non nan, object_ may be uninitialized.
(This patch comes from weiliang.lin@intel.com )
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
565183004
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24007
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sigurds@chromium.org [Wed, 17 Sep 2014 14:20:20 +0000 (14:20 +0000)]
This is a reland of issue
563813002:
https://codereview.chromium.org/
575473002/
This time with additional include headers and MSVC specific guards. Previously, only V8 Win32 - nosnap - shared failed:
http://build.chromium.org/p/client.v8/builders/V8%20Win32%20-%20nosnap%20-%20shared/builds/2916
R=marja@chromium.org
Review URL: https://codereview.chromium.org/
576733002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24006
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
wingo@igalia.com [Wed, 17 Sep 2014 14:01:25 +0000 (14:01 +0000)]
Array.prototype.sort: Unchecked calls to hasOwnProperty and push and sort
BUG=v8:3537
LOG=
R=arv@chromium.org, wingo@igalia.com, yangguo@chromium.org
Review URL: https://codereview.chromium.org/
555173002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24005
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
v8-autoroll@chromium.org [Wed, 17 Sep 2014 13:31:26 +0000 (13:31 +0000)]
[Auto-roll] Bump up version to 3.29.72.0
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24004
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 17 Sep 2014 13:18:50 +0000 (13:18 +0000)]
Fix compile error introduced in 24002.
TBR=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
547293003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24003
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 17 Sep 2014 12:50:17 +0000 (12:50 +0000)]
Serialize code stubs using stub key.
Also add some tracing to the code serializer.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
556243005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24002
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Wed, 17 Sep 2014 12:34:46 +0000 (12:34 +0000)]
Minor compiler pipeline refactoring. Inline UpdateSharedFunctionInfo and make Parser::Parse responsible for setting the strict mode of the CompilationInfo.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
555553003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24001
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 17 Sep 2014 12:27:16 +0000 (12:27 +0000)]
Support stepping into generator function.
R=aandrey@chromium.org, wingo@igalia.com
BUG=v8:3572
LOG=Y
Review URL: https://codereview.chromium.org/
544953005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24000
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
weiliang.lin@intel.com [Wed, 17 Sep 2014 12:03:59 +0000 (12:03 +0000)]
X87: turn on some tests of test-serialize
They were disabled by r21661. We turn on it because x87 snapshot can work now.
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
568833003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23999
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 17 Sep 2014 09:56:51 +0000 (09:56 +0000)]
Don't use OwnPrototypeChainLength in GetOwnPropertyNames
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/
574753002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23997
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 17 Sep 2014 09:51:17 +0000 (09:51 +0000)]
Fixed deopt reasons in TaggedToI.
Every DeoptimizeIf should be preceded by a RecordComment explaining
the reason. In the long run, the reason should be an argument of
DeoptimizeIf, but we're not there yet.
On x87, things are a bit ugly due to some pushing/popping, so if
somebody feels inclined to improve this: Feel free. Probably the right
approach would be reloading instead of the push/pop horror.
Another thing is our inconsistent handling of the "done" continuation
of deferred code on the various platforms, I made tiny changes on the
way, but this should better be unified somehow, with all those
micro-optimizations removed.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
578583002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23996
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 17 Sep 2014 09:49:57 +0000 (09:49 +0000)]
Unbreak build
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
568433003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23995
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Wed, 17 Sep 2014 08:50:57 +0000 (08:50 +0000)]
Measure new space allocation throughput.
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
578453003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23994
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
v8-autoroll@chromium.org [Wed, 17 Sep 2014 08:01:35 +0000 (08:01 +0000)]
[Auto-roll] Bump up version to 3.29.71.0
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23993
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
weiliang.lin@intel.com [Wed, 17 Sep 2014 05:21:36 +0000 (05:21 +0000)]
X87: Removing ic.h from code-stubs.h
port r23977.
original commit message:
Removing ic.h from code-stubs.h
CodeStubs use state types defined in ic.h, but this has the unfortunate effect of spreading ic.h all over the place. Instead, define these shared state types in ic-public.h and allow ic.h to concern itself with internal state change of the ICs.
More work could/should be done here, but this is a first step.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/
573123003
Patch from Jing Bao <jing.bao@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23992
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
arv@chromium.org [Tue, 16 Sep 2014 22:15:39 +0000 (22:15 +0000)]
Class syntax parsing
This implements parsing for ClassExpression and ClassDeclaration.
The runtime is not yet implemented and the value is currently
hard coded to undefined.
BUG=v8:3330
LOG=Y
R=dslomov@chromium.org, marja@chromium.org, rossberg@chromium.org
Review URL: https://codereview.chromium.org/
561913002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23988
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
v8-autoroll@chromium.org [Tue, 16 Sep 2014 21:01:27 +0000 (21:01 +0000)]
[Auto-roll] Bump up version to 3.29.69.0
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23987
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
akos.palfi@imgtec.com [Tue, 16 Sep 2014 20:16:11 +0000 (20:16 +0000)]
MIPS64: Fixed int vs. uintptr_t confusion (plus some cleanup on the way).
Port r23966 (
a498d5e3)
BUG=
R=jkummerow@chromium.org, paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/
570563006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23986
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
akos.palfi@imgtec.com [Tue, 16 Sep 2014 17:59:41 +0000 (17:59 +0000)]
MIPS64: Removing ic.h from code-stubs.h
Port r23977 (
d0cba839)
Original commit message:
CodeStubs use state types defined in ic.h, but this has the unfortunate effect of spreading ic.h all over the place. Instead, define these shared state types in ic-public.h and allow ic.h to concern itself with internal state change of the ICs.
More work could/should be done here, but this is a first step.
BUG=
R=paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/
574493004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23984
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
v8-autoroll@chromium.org [Tue, 16 Sep 2014 17:31:23 +0000 (17:31 +0000)]
[Auto-roll] Bump up version to 3.29.68.0
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23983
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 16 Sep 2014 16:20:10 +0000 (16:20 +0000)]
Avoid usage of temporary MachineOperatorBuilder.
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/
562203004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23982
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Tue, 16 Sep 2014 16:18:02 +0000 (16:18 +0000)]
Track how much we miss the idle notification limit
We can't report negative values using histograms, so we split the data
up into two histograms
BUG=chromium:397026
LOG=n
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
572293002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23981
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Tue, 16 Sep 2014 13:16:02 +0000 (13:16 +0000)]
Remove unused histogram definitions
R=marja@chromium.org
LOG=n
BUG=none
Review URL: https://codereview.chromium.org/
572923002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23980
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Tue, 16 Sep 2014 13:00:05 +0000 (13:00 +0000)]
Allow IdleNotification to trigger Scavenges.
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
563493002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23979
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Tue, 16 Sep 2014 12:58:43 +0000 (12:58 +0000)]
Re-reland "Use unsigned type bitsets to limit undefined behaviour"
Change: make bitset uint32_t, to avoid weird sign extension bugs on Win64.
BUG=
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
577563002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23978
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Tue, 16 Sep 2014 12:51:33 +0000 (12:51 +0000)]
Removing ic.h from code-stubs.h
CodeStubs use state types defined in ic.h, but this has the unfortunate effect of spreading ic.h all over the place. Instead, define these shared state types in ic-public.h and allow ic.h to concern itself with internal state change of the ICs.
More work could/should be done here, but this is a first step.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
565873002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23977
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Tue, 16 Sep 2014 12:48:59 +0000 (12:48 +0000)]
Use the regular start incremental marking strategy in the idle notification.
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
568023002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23976
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 16 Sep 2014 12:42:04 +0000 (12:42 +0000)]
Simplify the LookupIterator
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/
570293002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23975
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
wingo@igalia.com [Tue, 16 Sep 2014 12:30:39 +0000 (12:30 +0000)]
Enable ES6 generators
R=rossberg@chromium.org
BUG=v8:2355
LOG=Y
Review URL: https://codereview.chromium.org/
573963003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23974
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 16 Sep 2014 12:17:40 +0000 (12:17 +0000)]
Adapt some typed lowering unit tests after r23972.
R=rossberg@chromium.org
TEST=cctest/test-js-typed-lowering
Review URL: https://codereview.chromium.org/
574713002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23973
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 16 Sep 2014 11:33:30 +0000 (11:33 +0000)]
Fix typed lowering to number comparison.
R=titzer@chromium.org
TEST=mjsunit/regress/regress-3564
BUG=v8:3564
LOG=N
Review URL: https://codereview.chromium.org/
574653002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23972
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
Jacob.Bramley@arm.com [Tue, 16 Sep 2014 10:42:54 +0000 (10:42 +0000)]
Allow trace-codegen to dereference handles.
This fixes --print-all-code for some tests.
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
574673002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23971
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
Jacob.Bramley@arm.com [Tue, 16 Sep 2014 10:42:09 +0000 (10:42 +0000)]
ARM64: Remove the unused 'SmiAbs'.
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
572903003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23970
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 16 Sep 2014 09:47:45 +0000 (09:47 +0000)]
The value register in storefield(smi) is not used as a temp
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/
551803005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23969
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
v8-autoroll@chromium.org [Tue, 16 Sep 2014 09:31:36 +0000 (09:31 +0000)]
[Auto-roll] Bump up version to 3.29.67.0
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23967
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 16 Sep 2014 09:23:27 +0000 (09:23 +0000)]
Fixed int vs. uintptr_t confusion (plus some cleanup on the way).
BUG=v8:3556
LOG=y
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/
567573004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23966
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Tue, 16 Sep 2014 09:21:09 +0000 (09:21 +0000)]
Introduce DONE state in idle notification handler.
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
577573002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23965
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00