bmeurer@chromium.org [Tue, 6 May 2014 07:49:21 +0000 (07:49 +0000)]
Fix Mac64-debug issue introduced with r21154.
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/
271443002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21155
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 6 May 2014 07:05:07 +0000 (07:05 +0000)]
Next bunch of fixes for check elimination.
- Canonicalize HCheckMapValue with constant map to
HCheckMaps, and get rid of the special treatment
during check elimination.
- Track only stable object maps for HConstants and
add CHECK()s to verify state during code generation.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
263923004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21154
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
adamk@chromium.org [Mon, 5 May 2014 21:44:36 +0000 (21:44 +0000)]
Tighten up Object.observe code to ASSERT that it never deals with globals
After r21126, Object.observe no longer allows observing the global proxy
object. This patch replaces codepaths that used to handle that case with
asserts showing that no such observation happens.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
261773006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21151
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
adamk@chromium.org [Mon, 5 May 2014 18:27:57 +0000 (18:27 +0000)]
Store JSGlobalProxy's identity hash directly on the proxy itself
Previously, the hash was stored on the underlying global object, since
it was stored in the hidden property table. This patch moves to an
implementation modeled on JSProxy, adding a new 'hash' field to JSGlobalProxy.
This allows storing the global proxy in a Map, Set, WeakMap, or WeakSet and
accessing it even after the proxy has been attached to a new global, which
is Firefox's current behavior and was the consensus of a recent thread on public-script-coord:
http://lists.w3.org/Archives/Public/public-script-coord/2014AprJun/0012.html
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
254433002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21150
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Mon, 5 May 2014 16:48:33 +0000 (16:48 +0000)]
Set max new space size in tests to proper MB value.
Revert "Limit old space size in test which require a large new space."
This reverts commit r21103.
Revert "Remove max space limits in tests."
This reverts commit r21104.
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
263103006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21149
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Mon, 5 May 2014 16:33:23 +0000 (16:33 +0000)]
FLAG_max_new_space_size is in MB.
Plus, cleanup of the space - generation mess. More to do there...
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
268073004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21148
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Mon, 5 May 2014 15:16:26 +0000 (15:16 +0000)]
Remove old branch logic from push scripts.
The old temporary branch is not needed anymore. All scripts create a different branch after creating the temporary branch.
This also fixes logging subprocesses and logs a warning to track down script failures due to wrong branches.
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
266083003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21147
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
marja@chromium.org [Mon, 5 May 2014 14:55:13 +0000 (14:55 +0000)]
Remove symbol preparse data altogether.
Removing it seems to be a clear win on mobile: producing symbol data makes cold
parsing 20-30% slower, and having symbol data doesn't make warm parsing any
faster.
Notes:
- V8 used to produce symbol data, but because of a bug, it was never used until
recently. (See fix https://codereview.chromium.org/
172753002 which takes the
symbol data into use again.)
- On desktop, warm parsing is faster if we have symbol data, and producing it
during cold parsing doesn't make parsing substantially slower. However, this
doesn't seem to be the case on mobile.
- The preparse data (cached data) will now contain only the positions of the
lazy functions.
BUG=
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
261273003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21146
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
wingo@igalia.com [Mon, 5 May 2014 14:31:51 +0000 (14:31 +0000)]
Relocate suspended generator activations when enabling debug mode
R=yangguo@chromium.org
BUG=v8:3289
LOG=N
Review URL: https://codereview.chromium.org/
264973014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21145
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Mon, 5 May 2014 13:56:39 +0000 (13:56 +0000)]
Fix cctest.status typo
TBR=ishell@chromium.org
BUG=none
LOG=n
Review URL: https://codereview.chromium.org/
266823004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21144
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Mon, 5 May 2014 13:29:10 +0000 (13:29 +0000)]
Mark test-cpu-profiler/JsNativeJsRuntimeJsSample as flaky
BUG=v8:3308
LOG=n
TBR=yurys@chromium.org
Review URL: https://codereview.chromium.org/
268093002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21143
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Mon, 5 May 2014 13:28:21 +0000 (13:28 +0000)]
Revert r21141.
Relocate suspended generator activations when enabling debug mode
BUG=v8:3289
LOG=N
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
262193003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21142
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
wingo@igalia.com [Mon, 5 May 2014 12:57:14 +0000 (12:57 +0000)]
Relocate suspended generator activations when enabling debug mode
R=yangguo@chromium.org
BUG=v8:3289
LOG=N
Review URL: https://codereview.chromium.org/
260423002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21141
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Mon, 5 May 2014 11:06:26 +0000 (11:06 +0000)]
Add a basic gn file for V8
Currently, the gn support is incomplete and only works from within a
chromium checkout.
See https://code.google.com/p/chromium/wiki/gn for details
We move the BUILD.gn file to v8 nevertheless to make renaming files
easier, as the chromium CQ already now checks the gn build.
BUG=none
R=brettw@chromium.org, machenbach@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/
259233002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21140
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 5 May 2014 11:03:14 +0000 (11:03 +0000)]
Don't add code dependencies eagerly for HCheckMaps.
Instead of adding code dependencies on stable during
graph creation, we now add them during code generation
for those HCheckMaps that survived dead code elimination.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
264973013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21139
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Mon, 5 May 2014 09:57:45 +0000 (09:57 +0000)]
Map::TransitionElementsTo() extracted from JSObject::GetElementsTransitionMap().
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
260803002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21138
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 5 May 2014 09:52:03 +0000 (09:52 +0000)]
Inlined IsFoundByRuntimeProbingOnly.
It is only used internally at a single place.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
265243004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21137
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Mon, 5 May 2014 07:43:29 +0000 (07:43 +0000)]
Remove Message::GetScriptData declaration
This is a left-over after r20683
BUG=None
LOG=N
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
266983003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21136
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 5 May 2014 07:10:38 +0000 (07:10 +0000)]
Always initialize the debugger eagerly.
There is no point doing it lazily, since compiling and executing the tiniest piece of code triggers lazy init.
Also removed some dead code.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
265593004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21135
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Mon, 5 May 2014 07:02:13 +0000 (07:02 +0000)]
Revert "Version 3.26.30 (based on bleeding_edge revision r21129)"
This reverts commit r21130, a faulty automated commit.
BUG=
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
263083007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21134
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 5 May 2014 06:53:19 +0000 (06:53 +0000)]
Various cleanups in check elimination.
- Move IsMapAccess() to HObjectAccess.
- Collect the actual objects instead of HStoreNamedFields in
effects, and also consider HTransitionElementsKind.
- Fix ownership of HCheckMaps::maps() and HLoadNamedField::maps().
- Avoid heavy copying of the same map sets all the time during
check elimination, and do something useful with the memory
instead by slightly bumping the maximum number of tracked
objects.
- Slightly optimize UniqueSet::Contains().
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
264693011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21133
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Mon, 5 May 2014 00:04:56 +0000 (00:04 +0000)]
Version 3.26.30 (based on bleeding_edge revision r21129)
Introduce a microtask suppression scope and move microtask methods to isolate (Chromium issue 369503).
Re-enable Object.observe and add enforcement for security invariants.
Move cache line size calculation directly into CPU::FlushICache (Chromium issue 359977).
Generation of our home-grown memmove doesn't depend on serializer state anymore (Chromium issue 359977).
Fix |RunMicrotasks()| leaking reference to the last context being run on.
Object.defineProperty shouldn't be a hint that we're constructing a dictionary (Chromium issue 362870).
Performance and stability improvements on all platforms.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21130
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
adamk@chromium.org [Fri, 2 May 2014 21:29:15 +0000 (21:29 +0000)]
Fix ObjectNotifierPerformChange leak after r21126
Due to overlapping names of natives and runtime functions, the wrong
context was used for Notifier.prototype.performChange. The leak test
has been augmented to properly cover the leaky case, and the test
now passes.
Also tightened up type checks in runtime.cc and removed Object.observe
functions from knownIssues in fuzz-natives-part2.js.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
264793015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21129
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Fri, 2 May 2014 19:30:54 +0000 (19:30 +0000)]
Introduce a microtask suppression scope and move microtask methods to isolate
BUG=369503
R=adamk@chromium.org
LOG=y
TEST=cctest/test-api/SetAutorunMicrotasks
Review URL: https://codereview.chromium.org/
263933002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21128
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rafaelw@chromium.org [Fri, 2 May 2014 17:31:27 +0000 (17:31 +0000)]
Build cleanup following r21126. Marking Native* methods in object-observe.js as knownProblems in fuzz-natives
TBR=verwaest
Review URL: https://codereview.chromium.org/
265883009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21127
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rafaelw@chromium.org [Fri, 2 May 2014 16:13:10 +0000 (16:13 +0000)]
Don't leak contexts in Object.observe
The Object.observe API may construct internal structures as a result of API calls. These structures can persist as long as an object that was once observed persists. This patch ensures that these structures are created in the correct context so as to avoid leaking contexts
R=verwaest@chromium.org, dcarney
BUG=
Review URL: https://codereview.chromium.org/
263833007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21126
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rafaelw@chromium.org [Fri, 2 May 2014 14:17:13 +0000 (14:17 +0000)]
Update test expectations after re-enabling Object.observe
TBR=verwaest
Review URL: https://codereview.chromium.org/
262823008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21125
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rafaelw@chromium.org [Fri, 2 May 2014 13:55:11 +0000 (13:55 +0000)]
Re-enable Object.observe and add enforcement for security invariants.
This patch reverts r21062 which disabled Object.observe and the relevant tests.
It also adds enforcement for the following three invariants:
1) No observer may receive a change record describing changes to an object which is in different security origin (context have differing security tokens)
2) No observer may receive a change record whose context's security token is different from that of the object described by the change.
3) Object.getNotifier will return null if the caller and the provided object are in differing security origins
Further, it ensures that the global object can never be observed nor a notifier retrieved for it.
Tests are included.
R=verwaest@chromium.org, rossberg
LOG=Y
Review URL: https://codereview.chromium.org/
265503002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21122
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Fri, 2 May 2014 13:03:39 +0000 (13:03 +0000)]
Fix for a GCMole issue introduced in r21117.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
269743002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21121
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Fri, 2 May 2014 12:59:48 +0000 (12:59 +0000)]
v8:3303 MultithreadedParallelIsolates has a race condition
Disabling test until bug is fixed.
R=svenpanne@chromium.org
BUG=v8:3303
LOG=N
Review URL: https://codereview.chromium.org/
263893003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21120
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 2 May 2014 12:35:51 +0000 (12:35 +0000)]
Move cache line size calculation directly into CPU::FlushICache.
This disentagles the initialization/dependency mess quite a bit and
makes things vastly simpler. If the 'mrs' on every flush is too
expensive (which it is hopefully not), the cache line sizes will have
to be instance variables of the CPU class and FlushICache will have to
be a member function. This would involve some more or less tricky
refactorings, which we shouldn't do until we are *really* forced to
do.
BUG=359977
LOG=y
R=rodolph.perfetta@gmail.com
Review URL: https://codereview.chromium.org/
269543016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21119
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Fri, 2 May 2014 11:30:24 +0000 (11:30 +0000)]
Checks for empty array case added before casting elements to FixedDoubleArray.
BUG=chromium:369450
LOG=N
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
264973008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21118
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Fri, 2 May 2014 10:27:12 +0000 (10:27 +0000)]
Map::Normalize() introduced as single entry point for map normalization and Map::NotifyLeafMapLayoutChange() made private.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
263663002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21117
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 2 May 2014 10:14:37 +0000 (10:14 +0000)]
Generation of our home-grown memmove doesn't depend on serializer state anymore.
The serializer state has to be per-Isolate, but at the point where we
generate our memmoves we don't really have an Isolate. Furthermore,
there was no fundamental reason why we shouldn't use our home-grown
memmove during mksnapshot time.
Perhaps we can totally remove our own memmove nowadays, but this would
be a separate CL.
BUG=359977
LOG=y
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
261903002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21116
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Fri, 2 May 2014 08:41:06 +0000 (08:41 +0000)]
Make zone_allocator actually usable.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
267803005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21113
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Fri, 2 May 2014 08:08:23 +0000 (08:08 +0000)]
Fix crash in debug builds introduced with r21110.
Basically we should not check for map deprecation during
code selection, because that may run on the concurrent
compiler thread. So the fix is to move this logic to the
code generation phase instead, which is always run on the
main thread.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
263803005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21112
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
haraken@chromium.org [Fri, 2 May 2014 08:00:47 +0000 (08:00 +0000)]
Fix |RunMicrotasks()| leaking reference to the last context being run on.
RunMicrotasks() executes pending tasks and swaps the old array with a new array. However, the new array contains the reference to the current context as its creation context. This prevents the context from gc-ed until RunMicrotasks() is executed in the different context.
BUG=crbug.com/367016
LOG=y
R=rafaelw@chromium.org, rossberg@chromium.org
Review URL: https://codereview.chromium.org/
250883002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21111
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Fri, 2 May 2014 06:37:54 +0000 (06:37 +0000)]
Don't add code dependencies on transitioning stores eagerly.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
256303007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21110
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 2 May 2014 06:02:00 +0000 (06:02 +0000)]
Object.defineProperty shouldn't be a hint that we're constructing a dictionary.
BUG=362870
LOG=y
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
261583004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21109
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Fri, 2 May 2014 05:59:07 +0000 (05:59 +0000)]
Drop obsolete HCheckMaps::HandleSideEffectsDominator().
In HCheckMaps::HandleSideEffectsDominator() we try to remove
redundant HCheckMaps instructions that are dominated by an
HStoreNamedField instruction with a transition. This is just
a special case of the check elimination and therefore obsolete
(it also gives some nice speedup since GVN just got cheaper).
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
261003002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21108
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Wed, 30 Apr 2014 20:19:45 +0000 (20:19 +0000)]
MIPS: CallICStub with a "never patch" approach by default.
Port r21093 (21e3836)
Original commit message:
Patching will
occur only when custom feedback needs to be gathered (future CLs).
Now rebased on https://codereview.chromium.org/
254623002/, which moves the type feedback vector to the SharedFunctionInfo.
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
260753004
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21105
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Wed, 30 Apr 2014 19:32:47 +0000 (19:32 +0000)]
Remove max space limits in tests.
BUG=
Review URL: https://codereview.chromium.org/
263703003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21104
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Wed, 30 Apr 2014 18:57:25 +0000 (18:57 +0000)]
Limit old space size in test which require a large new space.
BUG=
Review URL: https://codereview.chromium.org/
265673003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21103
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Wed, 30 Apr 2014 18:13:24 +0000 (18:13 +0000)]
When maximum space size flags are set, overwrite the resource constraints.
BUG=
R=rmcilroy@chromium.org
Review URL: https://codereview.chromium.org/
262653002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21102
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
m.m.capewell@googlemail.com [Wed, 30 Apr 2014 17:31:05 +0000 (17:31 +0000)]
ARM64: use jssp for stack slots
R=bmeurer@chromium.org, ulan@chromium.org
Review URL: https://codereview.chromium.org/
262533006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21101
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Wed, 30 Apr 2014 17:27:40 +0000 (17:27 +0000)]
StringTable::Lookup*IfExist() handlified.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
265553003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21100
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Wed, 30 Apr 2014 17:12:52 +0000 (17:12 +0000)]
ContextSlotCache::Update() handlified.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
263613003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21099
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Wed, 30 Apr 2014 15:25:47 +0000 (15:25 +0000)]
MIPS: Simplify feedback vector creation and store in SharedFunctionInfo.
Port r21085 (782ce81)
LOG=N
BUG=v8:3212
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
267433003
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21098
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 30 Apr 2014 15:17:51 +0000 (15:17 +0000)]
Reland "Trigger exception debug event for promises at the throw site."
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
266533003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21097
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Wed, 30 Apr 2014 15:13:38 +0000 (15:13 +0000)]
ScopeInfo::ContextSlotIndex() handlified.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
253263003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21096
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Wed, 30 Apr 2014 15:03:18 +0000 (15:03 +0000)]
Public interface of KeyedLookupCache handlified.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
264563003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21095
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 30 Apr 2014 14:51:41 +0000 (14:51 +0000)]
Revert "Trigger exception debug event for promises at the throw site."
This reverts r21092.
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/
262533009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21094
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Wed, 30 Apr 2014 14:33:35 +0000 (14:33 +0000)]
CallICStub with a "never patch" approach by default. Patching will
occur only when custom feedback needs to be gathered (future CLs).
Now rebased on https://codereview.chromium.org/
254623002/, which moves the type feedback vector to the SharedFunctionInfo.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
247373002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21093
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 30 Apr 2014 14:17:40 +0000 (14:17 +0000)]
Trigger exception debug event for promises at the throw site.
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
260723002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21092
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
alexandre.rames@arm.com [Wed, 30 Apr 2014 13:38:00 +0000 (13:38 +0000)]
ARM64: Generate optimized code for Math.floor and Math.round with double outputs.
R=jkummerow@chromium.org, ulan@chromium.org
Review URL: https://codereview.chromium.org/
258793002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21091
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 30 Apr 2014 13:19:19 +0000 (13:19 +0000)]
Harden more runtime functions
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/
255333004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21090
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 30 Apr 2014 12:38:39 +0000 (12:38 +0000)]
Do not use default for switch over AllocationSpace.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
262583004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21089
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Wed, 30 Apr 2014 12:35:41 +0000 (12:35 +0000)]
Small cleanup: AstConstructionVisitor no longer needs a Zone pointer.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
265623002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21088
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Wed, 30 Apr 2014 12:33:16 +0000 (12:33 +0000)]
Fix gcmole warning in EnsureSlotContainsAllocationSite().
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
268443002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21087
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 30 Apr 2014 12:25:18 +0000 (12:25 +0000)]
Kiss goodbye to MaybeObject.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
259173003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21086
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Wed, 30 Apr 2014 10:51:01 +0000 (10:51 +0000)]
Simplify feedback vector creation and store in SharedFunctionInfo.
LOG=N
BUG=v8:3212
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
254623002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21085
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 30 Apr 2014 10:24:03 +0000 (10:24 +0000)]
Unbreak the build after r21083.
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
266493003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21084
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 30 Apr 2014 09:50:58 +0000 (09:50 +0000)]
Added a Isolate* parameter to Serializer::enabled().
This parameter will soon be used when a few pseudo-classes like
Serializer are turned into real classes. The current CL is already big
enough, untying our Gordian knot called "startup" will continue...
BUG=359977
LOG=y
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
260003006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21083
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
haitao.feng@intel.com [Wed, 30 Apr 2014 09:23:41 +0000 (09:23 +0000)]
Introduce DropUnderReturnAddress for x64 port.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
242113005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21082
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Wed, 30 Apr 2014 09:13:21 +0000 (09:13 +0000)]
Handlification TODOs in scanner and string stream resolved.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
251263004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21081
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
haitao.feng@intel.com [Wed, 30 Apr 2014 09:12:18 +0000 (09:12 +0000)]
Introduce PushQuad and PopQuad for x64 port.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
238253013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21080
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
haitao.feng@intel.com [Wed, 30 Apr 2014 09:08:21 +0000 (09:08 +0000)]
Update SafeMove, SafePush, SmiToIndex and SmiToNegativeIndex for x32 port.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
240473009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21079
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Wed, 30 Apr 2014 09:04:17 +0000 (09:04 +0000)]
A new test needs to exit early on non-internationalization builds.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
265513003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21078
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 30 Apr 2014 08:52:00 +0000 (08:52 +0000)]
Fix some more missing ToObject on Array.prototype.
R=mvstanton@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
254103002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21077
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Wed, 30 Apr 2014 08:40:33 +0000 (08:40 +0000)]
TODO in Dictionary resolved.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
251043008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21076
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
haitao.feng@intel.com [Wed, 30 Apr 2014 08:38:20 +0000 (08:38 +0000)]
Update ElementsTransitionGenerator::GenerateSmiToDouble to support x32 port.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
242603002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21075
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Wed, 30 Apr 2014 08:28:29 +0000 (08:28 +0000)]
ES6: Add support for Array.prototype.fill()
BUG=v8:3273
LOG=Y
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/
240873002
Patch from Adrian Perez <aperez@igalia.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21074
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Wed, 30 Apr 2014 08:19:38 +0000 (08:19 +0000)]
Remove BootUpMemoryUse test.
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
254273002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21073
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 30 Apr 2014 08:16:16 +0000 (08:16 +0000)]
Remove duplicate ToObject implementaion from i18n.
R=mvstanton@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
255273004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21072
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Wed, 30 Apr 2014 07:36:12 +0000 (07:36 +0000)]
Bugfix: internationalization routines fail on monkeypatching.
Calls to Object.defineProperty() and Object.apply() are not safe.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
253903003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21071
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Wed, 30 Apr 2014 07:07:39 +0000 (07:07 +0000)]
Enable concurrent sweeping.
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
266463002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21070
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 30 Apr 2014 06:26:50 +0000 (06:26 +0000)]
Hide some more heap allocators.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
252213002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21069
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Tue, 29 Apr 2014 19:37:56 +0000 (19:37 +0000)]
Fix compile.
BUG=
Review URL: https://codereview.chromium.org/
260493003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21068
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Tue, 29 Apr 2014 19:01:41 +0000 (19:01 +0000)]
Wait for sweepter threads in idle notifcation with large hints.
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
259243002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21067
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 29 Apr 2014 17:48:07 +0000 (17:48 +0000)]
Pass in the prototype to CreateApiFunction rather than setting it on the result.
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/
253603003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21066
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Tue, 29 Apr 2014 15:52:50 +0000 (15:52 +0000)]
Adapt more test expectations
TBR=danno@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
259253003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21063
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Tue, 29 Apr 2014 15:11:57 +0000 (15:11 +0000)]
disable Object.observe
R=danno@chromium.org, danno
BUG=
Review URL: https://codereview.chromium.org/
252063003
Patch from Rafael Weinstein <rafaelw@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21062
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Tue, 29 Apr 2014 15:11:03 +0000 (15:11 +0000)]
Revert "Enable concurrent sweeping."
[Sheriff intervening.]
TBR=hpayer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
254003002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21061
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Tue, 29 Apr 2014 14:31:12 +0000 (14:31 +0000)]
WeakHashTable::Lookup() handlified and ObjectHashTable's interface cleaned up.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
251293002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21060
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Tue, 29 Apr 2014 14:23:03 +0000 (14:23 +0000)]
Enable concurrent sweeping.
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
253923004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21059
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Tue, 29 Apr 2014 14:17:42 +0000 (14:17 +0000)]
Wait for sweeper threads in incremental marking step when sweeper threads are done sweeping.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
252123006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21058
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Tue, 29 Apr 2014 14:16:38 +0000 (14:16 +0000)]
OrderedHashTable::FindEntry() handlified.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
260313003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21057
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rmcilroy@chromium.org [Tue, 29 Apr 2014 14:14:06 +0000 (14:14 +0000)]
Fix android_arm.debug after r20051
The ConstantPoolBuilder stores RelocInfo in an stl::vector, therefore RelocInfo
cannot subclass BASE_EMBEDDED.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
253923005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21056
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Tue, 29 Apr 2014 14:09:14 +0000 (14:09 +0000)]
OrderedHashMap::Lookup() and ObjectHashTable::Lookup() handlified.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
256743008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21055
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 29 Apr 2014 14:03:06 +0000 (14:03 +0000)]
Rename debug event enum to be consistent.
R=aandrey@chromium.org
Review URL: https://codereview.chromium.org/
255163004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21054
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 29 Apr 2014 13:58:55 +0000 (13:58 +0000)]
Hide heap methods where possible.
Factory is already a friend class of Heap.
We introduce a TestHeap class in cctest.h to access protected methods.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
247263003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21053
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Tue, 29 Apr 2014 13:51:14 +0000 (13:51 +0000)]
JSObject::GetHiddenProperty() handlified.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
255153002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21052
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Tue, 29 Apr 2014 13:43:17 +0000 (13:43 +0000)]
Object::Lookup(), JSObject::*Lookup*() and JSReceiver::*Lookup*() handlified.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
253843006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21051
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Tue, 29 Apr 2014 13:42:00 +0000 (13:42 +0000)]
arm: Fix Smi check in SubStringStub::Generate
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
256743007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21050
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 29 Apr 2014 13:18:27 +0000 (13:18 +0000)]
Return MaybeHandle from Object::ToSmi.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
260083011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21047
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Tue, 29 Apr 2014 13:09:31 +0000 (13:09 +0000)]
Remove String::Visit
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
254763008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21046
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Tue, 29 Apr 2014 12:52:42 +0000 (12:52 +0000)]
Check that JSArray::SetElementsLength does not throw in array.length accessor.
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
252743010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21045
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Tue, 29 Apr 2014 12:32:38 +0000 (12:32 +0000)]
Do not make objects in optimized code weak if collecting maps is disabled.
When collecting maps is disabled we do not clear non-live references.
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/
258163003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21044
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Tue, 29 Apr 2014 11:33:39 +0000 (11:33 +0000)]
Micro-optimizations to pop() and shift()
R=verwaest@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/
247613002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21043
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Tue, 29 Apr 2014 11:01:42 +0000 (11:01 +0000)]
Don't unlink evacuation candidates before sweeping, move them to the end of their list of pages.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
256743004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21042
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00