Commit Graph

24487 Commits

Author SHA1 Message Date
yangguo
4e036f3042 Debugger: refactor ScopeIterator, FrameInspector and DebugEvaluate.
This is a pure refactor and does not change functionality.

R=ulan@chromium.org

Review URL: https://codereview.chromium.org/1264993002

Cr-Commit-Position: refs/heads/master@{#29995}
2015-08-04 12:10:13 +00:00
ulan
0cf86bd2c8 Use conservative heap growing factor for background tab.
BUG=chromium:515873
LOG=NO

Review URL: https://codereview.chromium.org/1257833005

Cr-Commit-Position: refs/heads/master@{#29994}
2015-08-04 12:05:22 +00:00
paul.lind
880a648954 MIPS: Fix reg use in SIMD.js Add the other SIMD Phase 1 types.
Port 7b9670b63b

Only fails in debug builds.

TEST=mjsunit/harmony/simd
BUG=

Review URL: https://codereview.chromium.org/1264103005

Cr-Commit-Position: refs/heads/master@{#29993}
2015-08-04 11:09:32 +00:00
yangguo
a246e296c6 Remove serializer-specific hash table size heuristic.
The heuristic can cause weird behavior when bootstrapping.
The memory savings is not worth this hassle.

Review URL: https://codereview.chromium.org/1265983006

Cr-Commit-Position: refs/heads/master@{#29992}
2015-08-04 10:57:12 +00:00
hpayer
8548ea5d1a AdjustLiveBytes and friends takes a heap object pointer instead of an address.
That makes going to the page safe. Addresses can be in arbitrary locations of an object, e.g. in a large object but not on the first 1M page.
BUG=

Review URL: https://codereview.chromium.org/1256203004

Cr-Commit-Position: refs/heads/master@{#29991}
2015-08-04 07:02:57 +00:00
v8-autoroll
5ee3176909 Update V8 DEPS.
Rolling v8/buildtools to 565d04e8741429fb1b4f26d102f2c6c3b849edeb

TBR=machenbach@chromium.org

Review URL: https://codereview.chromium.org/1267173003

Cr-Commit-Position: refs/heads/master@{#29990}
2015-08-04 03:25:44 +00:00
ofrobots
7f2dc889d4 remove recursion from NewSpace::AllocateRaw*
The recursion between AllocateRaw* and SlowAllocateRaw makes incremental
stepping very complicated. This patch removes the recursion. Follow-on
patches will improve accounting of allocations done by incremental mark.

See: https://codereview.chromium.org/1252053003/#msg5

BUG=
R=hpayer@chromium.org

Review URL: https://codereview.chromium.org/1265443003

Cr-Commit-Position: refs/heads/master@{#29989}
2015-08-03 20:43:51 +00:00
oth
d689c7a7be [Interpreter] Consistency fixes.
Change minimum BytecodeArray frame size to zero now return value is in
the accumulator.

Fix inconsistent checks in bytecode-array-builder.cc.

Simplify bytecode disassembly by adding Bytecodes::Decode to
disassemble one bytecode and operands.

BUG=v8:4280
LOG=N

Review URL: https://codereview.chromium.org/1259193004

Cr-Commit-Position: refs/heads/master@{#29988}
2015-08-03 20:39:36 +00:00
ulan
d8ad147944 Grow heap slowly after running memory reducer.
BUG=

Review URL: https://codereview.chromium.org/1261373006

Cr-Commit-Position: refs/heads/master@{#29987}
2015-08-03 18:45:53 +00:00
mlippautz
869ab06ea5 GC: Refactor incremental marking steps w/ deadline into a separate call
BUG=

Review URL: https://codereview.chromium.org/1270873002

Cr-Commit-Position: refs/heads/master@{#29986}
2015-08-03 18:25:21 +00:00
yangguo
4a2e4420b8 Remove JSFunctionResultCache.
There is only one use case for it: String.prototype.search converts a
string argument into a RegExp. The cache is used to avoid repeating that
conversion. However, this does not make the added complexity worthwhile.

Review URL: https://codereview.chromium.org/1267493006

Cr-Commit-Position: refs/heads/master@{#29985}
2015-08-03 18:14:17 +00:00
dstence
8d2eec506f Enable gdb-jit for PPC64 on Linux (both big-endian and little-endian).
R=danno@chromium.org, mbrandy@us.ibm.com, michael_dawson@ca.ibm.com

BUG=

Review URL: https://codereview.chromium.org/1252913007

Cr-Commit-Position: refs/heads/master@{#29984}
2015-08-03 18:02:33 +00:00
mlippautz
40bb3a58a0 Remove high promotion mode
High promotion mode limits new space size in the case where many objects (high
rate) are promoted.  The result is frequent scavenger runs with low pause times. The
approach conflicts with pretenuring which requires a larger new space size to
collect enough feedback to be usable.

Ultimately the goal is to have pretenuring catch allocation sites that have high
promotion rates.

Revert "Bring back high promotion mode to shrink young generation size when scavenging latency is high."

This reverts commit 37be1d5e9e.

Revert "GC. Delay/avoid entering high promotion mode"

This reverts commit a5221d0779.

BUG=chromium:499507,chromium:506910
LOG=n

Review URL: https://codereview.chromium.org/1247723003

Cr-Commit-Position: refs/heads/master@{#29983}
2015-08-03 17:29:50 +00:00
binji
df1f72bbf1 [d8 worker] Fix regression when serializing very large arraybuffer
BUG=chromium:514081
R=jarin@chromium.org
LOG=n

Review URL: https://codereview.chromium.org/1264723002

Cr-Commit-Position: refs/heads/master@{#29982}
2015-08-03 17:08:00 +00:00
jochen
ed3e5d1f3a Check whether a typed array was neutered before writing to it
As demanded by the spec.

BUG=chromium:516251
R=jkummerow@chromium.org
LOG=n

Review URL: https://codereview.chromium.org/1261453004

Cr-Commit-Position: refs/heads/master@{#29981}
2015-08-03 16:11:29 +00:00
bbudge
565fe3f017 SIMD.js Fix x87 build.
Rename method EmitIsSpecObject -> EmitIsSimdObject.

LOG=N
BUG=v8:4124

Review URL: https://codereview.chromium.org/1263473008

Cr-Commit-Position: refs/heads/master@{#29980}
2015-08-03 15:32:49 +00:00
hpayer
82e1069330 Add support for large object IsSlotInBlackObject to filter out all dead slots correctly.
BUG=chromium:454297
LOG=n

Review URL: https://codereview.chromium.org/1268663004

Cr-Commit-Position: refs/heads/master@{#29979}
2015-08-03 15:24:17 +00:00
mbrandy
e16cfe562d PPC: Clean up register save/restore logic.
NOPRESUBMIT=true
R=titzer@chromium.org, michael_dawson@ca.ibm.com, jyan@ca.ibm.com, joransiu@ca.ibm.com
BUG=

Review URL: https://codereview.chromium.org/1271583002

Cr-Commit-Position: refs/heads/master@{#29978}
2015-08-03 14:36:56 +00:00
titzer
80efc9d2fb Fix presubmit errors in runtime-simd.cc.
R=mstarzinger@chromium.org
BUG=
NOTREECHECKS=true

Review URL: https://codereview.chromium.org/1263363002

Cr-Commit-Position: refs/heads/master@{#29977}
2015-08-03 14:28:06 +00:00
hpayer
0924d6d542 Reland of land concurrent sweeping of code space. (patchset #1 id:1 of https://codereview.chromium.org/1263343002/)
Reason for revert:
Bogus revert.

Original issue's description:
> Revert of Reland concurrent sweeping of code space. (patchset #6 id:100001 of https://codereview.chromium.org/1242333002/)
>
> Reason for revert:
> Reverted because 507840 came back on recent Chromecrash. Should not have committed this Cl.
>
> Original issue's description:
> > Reland concurrent sweeping of code space.
> >
> > BUG=
> >
> > Committed: https://crrev.com/8516dccf6a561020441773c93c564dd4aa6ee59e
> > Cr-Commit-Position: refs/heads/master@{#29967}
>
> TBR=jochen@chromium.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=
>
> Committed: https://crrev.com/5c6e7d00438cc82a5584e3178d7dadf36e4a34f8
> Cr-Commit-Position: refs/heads/master@{#29975}

TBR=jochen@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

Review URL: https://codereview.chromium.org/1271773002

Cr-Commit-Position: refs/heads/master@{#29976}
2015-08-03 14:12:34 +00:00
hpayer
5c6e7d0043 Revert of Reland concurrent sweeping of code space. (patchset #6 id:100001 of https://codereview.chromium.org/1242333002/)
Reason for revert:
Reverted because 507840 came back on recent Chromecrash. Should not have committed this Cl.

Original issue's description:
> Reland concurrent sweeping of code space.
>
> BUG=
>
> Committed: https://crrev.com/8516dccf6a561020441773c93c564dd4aa6ee59e
> Cr-Commit-Position: refs/heads/master@{#29967}

TBR=jochen@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

Review URL: https://codereview.chromium.org/1263343002

Cr-Commit-Position: refs/heads/master@{#29975}
2015-08-03 13:06:55 +00:00
bbudge
7b9670b63b SIMD.js Add the other SIMD Phase 1 types.
Adds Int32x4, Bool32x4, Int16x8, Bool16x8, Int8x16, Bool8x16.
Adds Simd128Value base heap object class.
Changes heap/factory construction pattern to use arrays.
Adds replaceLane functions to facilitate testing.

NOPRESUBMIT=true
(presubmit checks erroneously interpret array declaration in macro definition as variable size array.)

LOG=Y
BUG=v8:4124

Review URL: https://codereview.chromium.org/1250733005

Cr-Commit-Position: refs/heads/master@{#29974}
2015-08-03 13:02:56 +00:00
jarin
156a155be3 [deoptimizer] Fix the frame size calculation for debugger-inspectable frame construction.
The calculation now takes into account the size of the arguments object
if it is present in the optimized frame.

(Yang, many thanks for the awesome repro!)

BUG=chromium:514362
LOG=N
R=yangguo@chromium.org

Review URL: https://codereview.chromium.org/1264483008

Cr-Commit-Position: refs/heads/master@{#29973}
2015-08-03 12:59:59 +00:00
machenbach
53fbbf0296 [Sheriff] Mark test as flaky.
BUG=v8:4141
LOG=n
NOTRY=true
TBR=yangguo@chromium.org, vogelheim@chromium.org

Review URL: https://codereview.chromium.org/1263033005

Cr-Commit-Position: refs/heads/master@{#29972}
2015-08-03 11:42:10 +00:00
jarin
f8dcbf4695 [deoptimizer] Do not pass arguments markers to the debugger.
This fixes a bug introduced by r28826 (Unify decoding of deoptimization
translations, https://codereview.chromium.org/1136223004), where we
started leaking arguments marker sentinel to the debugger, which would
then cause crashes. This change replaces the sentinel with the undefined
value in the debugger-inspectable frame.

BUG=chromium:514362
LOG=n
R=yangguo@chromium.org

Review URL: https://codereview.chromium.org/1263333002

Cr-Commit-Position: refs/heads/master@{#29971}
2015-08-03 10:43:31 +00:00
oth
6ab1f70e12 [Intepreter] BytecodeArrayBuilder and accumulator based bytecodes.
The BytecodeArrayBuilder has responsibility for emitting the BytecodeArray. It will be used by the AST walker.

Bytecode now uses an accumulator plus registers rather being pure register based.

Update BytecodeArray::Disassemble to print operand information.

BUG=v8:4280
LOG=N

Review URL: https://codereview.chromium.org/1266713004

Cr-Commit-Position: refs/heads/master@{#29970}
2015-08-03 10:42:30 +00:00
yangguo
2da7214d98 Disable code recompile verification.
No-snap builds are still failing.

NOTREECHECKS=true
NOTRY=true
TBR=machenbach@chromium.org

Review URL: https://codereview.chromium.org/1260283006

Cr-Commit-Position: refs/heads/master@{#29969}
2015-08-03 10:26:16 +00:00
ulan
59b4d68b77 Partially revert 5aacee to see its impact on memory histograms.
Original CL: https://crrev.com/5aaceefd9a84327ce6afeaea16557449bf83ce57

BUG=chromium:515721
LOG=NO

Review URL: https://codereview.chromium.org/1264063003

Cr-Commit-Position: refs/heads/master@{#29968}
2015-08-03 09:31:48 +00:00
hpayer
8516dccf6a Reland concurrent sweeping of code space.
BUG=

Review URL: https://codereview.chromium.org/1242333002

Cr-Commit-Position: refs/heads/master@{#29967}
2015-08-03 09:15:42 +00:00
yangguo
f7d808847f Create function name const assignment after parsing language mode.
Otherwise we may choose sloppy const or strict const depending on
whether the function is parsed the first time.

R=mvstanton@chromium.org
BUG=v8:4336
LOG=N

Review URL: https://codereview.chromium.org/1260053004

Cr-Commit-Position: refs/heads/master@{#29966}
2015-08-03 09:14:26 +00:00
mvstanton
99a53f7323 [compiler] Verify that type feedback vector structure is the same on recompile.
Use a CHECK statement to find any violations of this rule.

Review URL: https://codereview.chromium.org/1255383004

Cr-Commit-Position: refs/heads/master@{#29965}
2015-08-03 08:14:49 +00:00
chunyang.dai
872206f4c2 X87: [turbofan] Fix kArchTailCallCodeObject on ia32/x64.
port ec9bc79473 (r29949).

original commit message:

    Previously these instructions tried to jump to the value at the code entry's
    location, rather than jumping to this location. Also adds a test.

BUG=

Review URL: https://codereview.chromium.org/1256163003

Cr-Commit-Position: refs/heads/master@{#29964}
2015-08-03 03:10:20 +00:00
chunyang.dai
200d49bf4a X87: VectorICs: refactoring to eliminate "for queries only" vector ic mode.
port 1a5751f9b3 (r29956)

original commit message:

    Since we need the notion of a dummy vector ic, we can use that to avoid
    a special case of the IC constructor. Also, consolidate the two dummy
    ICs into one.

BUG=

Review URL: https://codereview.chromium.org/1265113002

Cr-Commit-Position: refs/heads/master@{#29963}
2015-08-03 03:09:15 +00:00
dusan.milosavljevic
3850132759 MIPS64: Fix hidden bug in relocations for j and jal.
Introduce new mechanism for relocating j/jal.

Resolves flaky failures of mozilla regress tests.

Additionally:

- internal encoded references are not relocated during code generation phase.
- remove asserts from j and jal which are not
valid because addresses are not final and valid in code generation phase.

TEST=mozilla/js1_5/Regress/regress-280769-2, regress-367561-01,
     mozilla/ecma_3/Statements/regress-444979
BUG=
R=paul.lind@imgtec.com

Review URL: https://codereview.chromium.org/1216823003 .

Patch from dusan.milosavljevic <dusan.milosavljevic@imgtec.com>.

Cr-Commit-Position: refs/heads/master@{#29962}
2015-08-01 17:04:48 +00:00
oth
e6e3c6a840 [Interpreter] Remove unnecessary const specifiers on scalar types.
BUG=v8:4280
LOG=N

Review URL: https://codereview.chromium.org/1269813006

Cr-Commit-Position: refs/heads/master@{#29961}
2015-08-01 07:25:30 +00:00
v8-autoroll
11eb702e51 Update V8 DEPS.
Rolling v8/testing/gmock to 0421b6f358139f02e102c9c332ce19a33faf75be

Rolling v8/testing/gtest to 9855a87157778d39b95eccfb201a9dc90f6d61c6

TBR=machenbach@chromium.org

Review URL: https://codereview.chromium.org/1271653002

Cr-Commit-Position: refs/heads/master@{#29960}
2015-08-01 03:23:22 +00:00
mbrandy
de7e8a8c6d PPC: VectorICs: refactoring to eliminate "for queries only" vector ic mode.
Port 1a5751f9b3

Original commit message:
    Since we need the notion of a dummy vector ic, we can use that to avoid
    a special case of the IC constructor. Also, consolidate the two dummy
    ICs into one.

R=mvstanton@chromium.org, michael_dawson@ca.ibm.com, jyan@ca.ibm.com, joransiu@ca.ibm.com
BUG=

Review URL: https://codereview.chromium.org/1261433007

Cr-Commit-Position: refs/heads/master@{#29959}
2015-07-31 19:27:00 +00:00
cbruni
ffb3a92759 Array Builtin Refactoring: Creating API methods on ElementsAccessor
BUG=

Review URL: https://codereview.chromium.org/1260283002

Cr-Commit-Position: refs/heads/master@{#29958}
2015-07-31 16:10:51 +00:00
titzer
44bfb4b57e [turbofan] Simplifying handling of callee-cleanup stack area.
R=danno@chromium.org
BUG=

Review URL: https://codereview.chromium.org/1269913002

Cr-Commit-Position: refs/heads/master@{#29957}
2015-07-31 15:18:52 +00:00
mvstanton
1a5751f9b3 VectorICs: refactoring to eliminate "for queries only" vector ic mode.
Since we need the notion of a dummy vector ic, we can use that to avoid
a special case of the IC constructor. Also, consolidate the two dummy
ICs into one.

BUG=

Review URL: https://codereview.chromium.org/1268783004

Cr-Commit-Position: refs/heads/master@{#29956}
2015-07-31 14:04:13 +00:00
titzer
3edebf08eb [turbofan] Float32 LinkageLocations need double registers too.
R=bmeurer@chromium.org
BUG=

Review URL: https://codereview.chromium.org/1268433003

Cr-Commit-Position: refs/heads/master@{#29955}
2015-07-31 12:53:30 +00:00
martyn.capewell
9bf532350f [turbofan] Merge dependent Word32Equal on ARM64
Improve code generated for flag materialization.

Review URL: https://codereview.chromium.org/1260733003

Cr-Commit-Position: refs/heads/master@{#29954}
2015-07-31 12:46:09 +00:00
bmeurer
4fc6f54724 [stubs] Unify (and optimize) implementation of ToObject.
This is the initial (big) step towards a more uniform implementation of
the ToObject abstract operation (ES6 7.1.13), where we have a fallback
implementation in JSReceiver::ToObject() and a fast (hydrogen) CodeStub
to deal with the fast case (we should be able to do more cleanup on this
in a followup CL).  For natives we expose the abstract operation via a
%_ToObject intrinsic, also exposed via a macro TO_OBJECT, that unifies
the previous confusion with TO_OBJECT_INLINE, ToObject, TO_OBJECT,
$toObject and %$toObject.  Now the whole implementation of the abstract
operation is context independent, meaning we don't need any magic in the
builtins object nor the native context.

R=mvstanton@chromium.org,yangguo@chromium.org

Review URL: https://codereview.chromium.org/1266013006

Cr-Commit-Position: refs/heads/master@{#29953}
2015-07-31 12:25:44 +00:00
mvstanton
f8a4afa7bd VectorICs: Crankshaft adaptations to deal with vector store ics.
Also, a one line fix in TurboFan to call the correct store ic.

BUG=

Review URL: https://codereview.chromium.org/1266983002

Cr-Commit-Position: refs/heads/master@{#29952}
2015-07-31 11:56:22 +00:00
yangguo
1667c15e37 Debugger: move implementation to a separate folder.
R=cbruni@chromium.org

Review URL: https://codereview.chromium.org/1265923002

Cr-Commit-Position: refs/heads/master@{#29951}
2015-07-31 11:08:15 +00:00
ulan
b4cfd60e07 Ensure the memory reduces makes progress.
BUG=

Review URL: https://codereview.chromium.org/1262363002

Cr-Commit-Position: refs/heads/master@{#29950}
2015-07-31 10:28:16 +00:00
rmcilroy
ec9bc79473 [turbofan] Fix kArchTailCallCodeObject on ia32/x64.
Previously these instructions tried to jump to the value at the code entry's
location, rather than jumping to this location. Also adds a test.

BUG=v8:4280
LOG=N

Review URL: https://codereview.chromium.org/1265723003

Cr-Commit-Position: refs/heads/master@{#29949}
2015-07-31 10:20:25 +00:00
titzer
8d2f455352 [turbofan] GraphBuilderTester uses --print-opt-code.
R=bmeurer@chromium.org
BUG=

Review URL: https://codereview.chromium.org/1256723003

Cr-Commit-Position: refs/heads/master@{#29948}
2015-07-31 09:12:41 +00:00
ulan
d5419bb6b4 Take into account freed global handles for heap growing.
This partially brings back the heuristic from v8 4.44.

BUG=

Review URL: https://codereview.chromium.org/1269743002

Cr-Commit-Position: refs/heads/master@{#29947}
2015-07-31 09:00:10 +00:00
jochen
bc49e1e1ba After trying once to create a Realm in regress-crbug-501711.js give up
R=hpayer@chromium.org
BUG=

Review URL: https://codereview.chromium.org/1261123003

Cr-Commit-Position: refs/heads/master@{#29946}
2015-07-31 08:06:54 +00:00