machenbach@chromium.org
929b99ed8d
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
2014-05-05 07:02:13 +00:00
bmeurer@chromium.org
7c1036d424
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
2014-05-05 06:53:19 +00:00
machenbach@chromium.org
b41af2c63f
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
2014-05-05 00:04:56 +00:00
adamk@chromium.org
5ea893074c
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
2014-05-02 21:29:15 +00:00
jochen@chromium.org
4dd8b11171
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
2014-05-02 19:30:54 +00:00
rafaelw@chromium.org
72a090f3ee
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
2014-05-02 17:31:27 +00:00
rafaelw@chromium.org
7c138a7370
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
2014-05-02 16:13:10 +00:00
rafaelw@chromium.org
699bde3fc5
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
2014-05-02 14:17:13 +00:00
rafaelw@chromium.org
1b270ef5ea
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
2014-05-02 13:55:11 +00:00
ishell@chromium.org
d76ad1691c
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
2014-05-02 13:03:39 +00:00
mvstanton@chromium.org
53d7aa29bb
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
2014-05-02 12:59:48 +00:00
svenpanne@chromium.org
461bb09b4a
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
2014-05-02 12:35:51 +00:00
ishell@chromium.org
b4c1eda032
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
2014-05-02 11:30:24 +00:00
ishell@chromium.org
ca2def98a5
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
2014-05-02 10:27:12 +00:00
svenpanne@chromium.org
5170a008d3
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
2014-05-02 10:14:37 +00:00
bmeurer@chromium.org
972bfb0dd9
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
2014-05-02 08:41:06 +00:00
bmeurer@chromium.org
50d8259fea
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
2014-05-02 08:08:23 +00:00
haraken@chromium.org
570fd74fc0
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
2014-05-02 08:00:47 +00:00
bmeurer@chromium.org
59e5c97ec0
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
2014-05-02 06:37:54 +00:00
svenpanne@chromium.org
7bfc426fc9
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
2014-05-02 06:02:00 +00:00
bmeurer@chromium.org
b7148380cc
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
2014-05-02 05:59:07 +00:00
plind44@gmail.com
30e5a737b3
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
2014-04-30 20:19:45 +00:00
hpayer@chromium.org
56d0b9757e
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
2014-04-30 19:32:47 +00:00
hpayer@chromium.org
3dd05f8fc7
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
2014-04-30 18:57:25 +00:00
hpayer@chromium.org
25e7980994
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
2014-04-30 18:13:24 +00:00
m.m.capewell@googlemail.com
d8ad2dd590
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
2014-04-30 17:31:05 +00:00
ishell@chromium.org
f7e8255f5c
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
2014-04-30 17:27:40 +00:00
ishell@chromium.org
13b64dfe3f
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
2014-04-30 17:12:52 +00:00
plind44@gmail.com
016a04197a
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
2014-04-30 15:25:47 +00:00
yangguo@chromium.org
7e367ae0ed
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
2014-04-30 15:17:51 +00:00
ishell@chromium.org
b8008a3e39
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
2014-04-30 15:13:38 +00:00
ishell@chromium.org
134ead10d3
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
2014-04-30 15:03:18 +00:00
yangguo@chromium.org
792af58115
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
2014-04-30 14:51:41 +00:00
mvstanton@chromium.org
287f65aec9
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
2014-04-30 14:33:35 +00:00
yangguo@chromium.org
eed0e7e7a3
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
2014-04-30 14:17:40 +00:00
alexandre.rames@arm.com
67ea9e4b42
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
2014-04-30 13:38:00 +00:00
jkummerow@chromium.org
2008b820dc
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
2014-04-30 13:19:19 +00:00
yangguo@chromium.org
528fd3c6a7
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
2014-04-30 12:38:39 +00:00
mvstanton@chromium.org
f720123189
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
2014-04-30 12:35:41 +00:00
mvstanton@chromium.org
d46e3a77a0
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
2014-04-30 12:33:16 +00:00
yangguo@chromium.org
88144ee17f
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
2014-04-30 12:25:18 +00:00
mvstanton@chromium.org
15dc39a86f
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
2014-04-30 10:51:01 +00:00
svenpanne@chromium.org
d60dbdaf27
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
2014-04-30 10:24:03 +00:00
svenpanne@chromium.org
4dca23f825
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
2014-04-30 09:50:58 +00:00
haitao.feng@intel.com
bf338d78af
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
2014-04-30 09:23:41 +00:00
ishell@chromium.org
1b3b922020
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
2014-04-30 09:13:21 +00:00
haitao.feng@intel.com
8b48953268
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
2014-04-30 09:12:18 +00:00
haitao.feng@intel.com
48ef785061
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
2014-04-30 09:08:21 +00:00
mvstanton@chromium.org
5e2ee2bac2
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
2014-04-30 09:04:17 +00:00
mstarzinger@chromium.org
129c58c47d
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
2014-04-30 08:52:00 +00:00