vogelheim@chromium.org [Mon, 22 Sep 2014 17:19:19 +0000 (17:19 +0000)]
Add histogram timers for (de-)serialization during compilation.
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
578263004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24127
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
balazs.kilvady@imgtec.com [Mon, 22 Sep 2014 16:08:49 +0000 (16:08 +0000)]
MIPS: Make KeyedLoads from a sloppy arguments array use a handler.
Port r24120 (
eed5963)
Original commit message:
Before, a custom stub was installed.
BUG=
R=paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/
594563003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24126
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 22 Sep 2014 15:21:19 +0000 (15:21 +0000)]
Fix escaped index JSON parsing
BUG=416449
LOG=y
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
592813002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24125
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Mon, 22 Sep 2014 14:40:59 +0000 (14:40 +0000)]
Simplify synthetic roots creation in heap snapshot
The synthetic roots exist in every snapshot and there are no actual objects corresponding to them (there was attempt to create some virtual objects to reuse existing snapshot builder but it just complicated the things).
Previously synthetic root wouldn't have been added if it was empty. Current implementation always adds all synthetic roots in the snapshot no matter if they are empty or not.
BUG=None
LOG=N
R=alph@chromium.org, mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
590833002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24124
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 22 Sep 2014 14:16:38 +0000 (14:16 +0000)]
Further improve deopt reason output.
* Make the detailed deopt reason mandatory on x64, other platforms
will follow in separate CLs.
* Extracted and improved jump table entry sharing logic: When
--trace-deopt is on, we get separate entries for different deopt
reasons. This enables us to distinguish the several reasons single
instructions can have.
* Don't emit superfluous jump table comments: The bailout ID is still
visible, and the jump table entry number is not interesting (but
easy to determine if really needed).
* Unify the internal name of the jump table member across platforms.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
595513002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24123
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Mon, 22 Sep 2014 13:56:03 +0000 (13:56 +0000)]
[turbofan] don't call out to c
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
587273002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24122
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Mon, 22 Sep 2014 13:48:12 +0000 (13:48 +0000)]
fix compile for arm64 on mavericks
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
592063002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24121
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Mon, 22 Sep 2014 13:23:27 +0000 (13:23 +0000)]
Make KeyedLoads from a sloppy arguments array use a handler.
Before, a custom stub was installed.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
546683003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24120
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
aandrey@chromium.org [Mon, 22 Sep 2014 12:45:47 +0000 (12:45 +0000)]
Fix DebugEvaluate on properties defined on Object.prototype
BUG=415499
R=yangguo
LOG=N
Review URL: https://codereview.chromium.org/
592033002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24119
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 22 Sep 2014 12:44:23 +0000 (12:44 +0000)]
Remove switch-clause limit
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
582653002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24118
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 22 Sep 2014 12:43:40 +0000 (12:43 +0000)]
Pass the ast_id to HandleKeyed to make sure it's the right one (e.g., CountOperation, not just the load-expression's id)
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
595453002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24117
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Mon, 22 Sep 2014 12:38:34 +0000 (12:38 +0000)]
Adjust small heap threshold for idle time handler.
Follow-up for r23871.
BUG=chromium:407593
LOG=N
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
592053002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24116
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 22 Sep 2014 12:32:47 +0000 (12:32 +0000)]
Fix profiler for TurboFan by reducing duplication.
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/
592703002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24115
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
baptiste.afsa@arm.com [Mon, 22 Sep 2014 12:32:23 +0000 (12:32 +0000)]
[turbofan] Allow encodable 64-bit constants as immediate for ARM64.
Also make sure that operands order for commutative 64-bit binary operations
are properly swapped when the constant is on the left hand-side.
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
551543005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24114
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 22 Sep 2014 12:14:49 +0000 (12:14 +0000)]
Fix windows build.
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
577353004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24113
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 22 Sep 2014 11:42:10 +0000 (11:42 +0000)]
[turbofan] Add operators for float32 support.
This adds Float32Constant, ChangeFloat32ToFloat64 and
TruncateFloat64ToFloat32 operators.
TEST=compiler-unittests
BUG=v8:3589
LOG=n
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/
594493002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24112
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 22 Sep 2014 09:50:12 +0000 (09:50 +0000)]
Merge RecordComment invocations into DeoptimizeIf calls.
This way the deoptimization reasons are actually threaded through to
the jump table. Tiny cleanup of related MIPS/MIPS64 code on the way.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
585423002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24111
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 22 Sep 2014 09:48:26 +0000 (09:48 +0000)]
[turbofan] Remove extra attributes from MachineOperatorBuilder methods.
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/
585413002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24110
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 22 Sep 2014 09:05:22 +0000 (09:05 +0000)]
Emit source positions in deopt comments, too.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
587223002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24109
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 22 Sep 2014 07:17:13 +0000 (07:17 +0000)]
[turbofan] Bounds check when lowering JSStoreProperty.
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/
559653005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24105
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 22 Sep 2014 07:15:27 +0000 (07:15 +0000)]
[turbofan] Disable value numbering for now.
TEST=cctest,mjsunit
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
594443002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24104
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 22 Sep 2014 06:36:57 +0000 (06:36 +0000)]
Introduce a class to carry around a deoptimization reason.
As discussed in https://codereview.chromium.org/
582743002/, here a
mechanical refactoring...
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
587623002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24103
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
weiliang.lin@intel.com [Sat, 20 Sep 2014 05:08:58 +0000 (05:08 +0000)]
X87: enable the crankshaft compiler for X87 port.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/
579713002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24102
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
balazs.kilvady@imgtec.com [Fri, 19 Sep 2014 17:25:46 +0000 (17:25 +0000)]
MIPS: Implement loads and calls from 'super’.
Port r24078 (
b7e601f)
BUG=v8:3330
LOG=N
R=dusan.milosavljevic@imgtec.com
Review URL: https://codereview.chromium.org/
586013002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24099
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 19 Sep 2014 16:45:59 +0000 (16:45 +0000)]
Fix TRACE_GENERIC_IC coverage
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
585983002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24098
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 19 Sep 2014 16:35:42 +0000 (16:35 +0000)]
Fix JSBuiltinReducer to deal with non-JSFunction callees.
R=titzer@chromium.org
TEST=mozilla
Review URL: https://codereview.chromium.org/
589573002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24097
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 19 Sep 2014 15:09:50 +0000 (15:09 +0000)]
Internalize if not yet internalized
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
589543002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24096
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 19 Sep 2014 15:02:58 +0000 (15:02 +0000)]
Add JSBuiltinReducer for inlining well-known builtins.
R=titzer@chromium.org
TEST=cctest/test-js-typed-lowering/BuiltinMathImul
Review URL: https://codereview.chromium.org/
584573003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24095
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 19 Sep 2014 14:59:14 +0000 (14:59 +0000)]
Make Map::Create always use the Object function, and remove the unused inobject properties
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
584943002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24094
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Fri, 19 Sep 2014 14:40:08 +0000 (14:40 +0000)]
Fix build.
TBR=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
591453002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24093
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Fri, 19 Sep 2014 14:25:13 +0000 (14:25 +0000)]
[turbofan] IA: Float64ToUint32 supports mem operand
BUG=
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/
582713002
Patch from Weiliang Lin <weiliang.lin@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24092
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 19 Sep 2014 14:19:26 +0000 (14:19 +0000)]
Fix test: manually call GC since 0 allocations will not cause GC
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
587663003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24091
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 19 Sep 2014 14:03:34 +0000 (14:03 +0000)]
Fix visitor for generators
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
589513005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24090
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
weiliang.lin@intel.com [Fri, 19 Sep 2014 13:44:24 +0000 (13:44 +0000)]
X87: Implement loads and calls from 'super'.
port r24078.
orginal commit message:
Implement loads and calls from 'super'
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/
581273007
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24089
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
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