Commit Graph

16506 Commits

Author SHA1 Message Date
vegorov@chromium.org
38f2d25a84 Ensure that interruptor callback registered through API is called outside of ExecutionAccess lock.
Such a coarse locking can cause a dead-lock when another thread is attempting to clear an interrupt while we are waiting in the interrupt callback.

Add test that verifies this API invariant.

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21376 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-20 08:24:51 +00:00
bmeurer@chromium.org
424877c773 Fix invalid condition in check elimination effects.
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21375 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-20 08:16:47 +00:00
hpayer@chromium.org
b2c9fcaa4c Add allocation sites to scratchpad only if a significant amount of mementos was found.
BUG=
R=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21370 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-19 16:07:20 +00:00
plind44@gmail.com
13af2c0598 MIPS: Allow comparison in UINT32 mode.
Port r21355 (932c5de)

Original commit message:
Shamelessly based on parts of https://codereview.chromium.org/288853003/. :-)

BUG=
R=plind44@gmail.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21369 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-19 15:30:23 +00:00
machenbach@chromium.org
1757706cb9 Sync change log file with trunk.
BUG=
TBR=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21368 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-19 15:29:29 +00:00
dcarney@chromium.org
1b70812e7d filter out .caller from other worlds
R=verwaest@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21366 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-19 13:45:45 +00:00
wingo@igalia.com
83576f2363 Fix GCMole warning when creating generator arguments poison pill
R=jkummerow@chromium.org
TBR=rossberg@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21365 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-19 12:31:36 +00:00
wingo@igalia.com
6382a25fa7 Poison .arguments and .caller for generator functions
R=rossberg@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21362 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-19 10:47:00 +00:00
jochen@chromium.org
34c2f56213 Update BUILD.gn and properly disable it on android
BUG=none
R=dcarney@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21361 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-19 09:58:46 +00:00
bmeurer@chromium.org
890dc24758 Further improve old space allocation write barrier elimination.
Stores to old space allocations require no write barriers if the
object is the new space dominator and the value is not in new space.

R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21360 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-19 09:48:35 +00:00
adamk@chromium.org
9de1ec5a78 Comment out %RunMicrotasks assert that triggers in mjsunit tests
TBR=dcarney@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21359 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-19 08:36:56 +00:00
machenbach@chromium.org
f737580c65 Let test driver export json results.
BUG=374134
LOG=n
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21358 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-19 08:36:53 +00:00
adamk@chromium.org
62e09a3534 Fix fuzzable JS function count after r21356
TBR=dcarney@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21357 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-19 08:19:54 +00:00
adamk@chromium.org
35b8b0b27a Move microtask queueing logic from JavaScript to C++
This avoids the appearence of a leak due to storing a JSObject
as the microtask_state in the strong root list, and allows callers
to call Isolate::RunMicrotasks() without having any v8::Context
available (as at least Blink has interest in doing).

The queue is now a strong root, represented as a FixedArray of JSFunctions
(or empty_fixed_array, if it's empty); it doubles in size when it needs to grow.
The number of elements in the queue is stored in Isolate::pending_microtask_count().

LOG=Y
R=dcarney@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21356 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-19 07:57:04 +00:00
svenpanne@chromium.org
ec23d0b815 Allow comparison in UINT32 mode.
Shamelessly based on parts of https://codereview.chromium.org/288853003/. :-)

R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21355 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-19 07:47:09 +00:00
bmeurer@chromium.org
ba5763f3cb Drop redundant FullCodeGenerator::prepared_bailout_ids_.
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21354 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-19 07:26:33 +00:00
bmeurer@chromium.org
f1f1ee9798 Perform block ordering in-place.
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21353 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-19 07:24:24 +00:00
bmeurer@chromium.org
ecadc63b60 Partial revert of "Next bunch of fixes for check elimination".
This reverts the part of r21154 that introduced the CHECK()s to verify
state of objects with stable maps during code generation. The CHECK()s
seem to trigger a non-critical hidden bug in the map stability
mechanism. We will re-add these CHECK()s once the bug is found and
fixed.

BUG=372173
LOG=y
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21352 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-19 07:08:47 +00:00
svenpanne@chromium.org
7ac5dfbd3e Revert "Simplify debugger state."
This reverts r21346, it broke the layout tests.

R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21351 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-19 07:06:44 +00:00
danno@chromium.org
327c016af4 Fix performance regression in regular expressions after Array.push() optimizations
R=yangguo@chromium.org
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21348 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-16 15:42:00 +00:00
yangguo@chromium.org
fe243379f8 Decouple CpuFeatures from serializer state.
Traditionally, we cross compile a snapshot iff the serializer is enabled.
This will change in the future.

Changes:
 - CpuFeatures probing is done once per process, depending on whether we
   cross compile.
 - CpuFeatures are consolidated into the platform-independent assembler.h
   as much as possible.
 - FLAG_enable_<feature> will only be checked at probing time (already the
   case for ARM).
 - The serializer state is cached by the MacroAssembler.
 - PlatformFeatureScope is no longer necessary.
 - CPUFeature enum values no longer map to CPUID bit fields.

R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21347 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-16 15:18:24 +00:00
yangguo@chromium.org
2d1a75d608 Simplify debugger state.
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21346 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-16 14:58:03 +00:00
rmcilroy@chromium.org
5cfca21295 Fix MacroAssembler::Prologue for Arm when FLAG_out_off_line_constant_pool is enabled.
The prologue update in r21329 changed the scoping of the PredictableCodeSizeScope.

R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21345 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-16 14:49:11 +00:00
rossberg@chromium.org
417610e24a Stage ES6 symbols
R=yangguo@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21344 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-16 14:42:02 +00:00
jkummerow@chromium.org
8407277cc0 Harden builtins BuildResultFromMatchInfo and URIDecodeOctets
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21343 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-16 13:43:19 +00:00
jkummerow@chromium.org
5843a3359c Add builtin detector to generate-runtime-tests.py
R=dslomov@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21342 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-16 13:23:32 +00:00
jkummerow@chromium.org
43c170eb44 Move check for existence of generated tests from run-tests.py to presubmit.py
Inspired by https://codereview.chromium.org/275143002#msg3

R=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21341 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-16 13:18:13 +00:00
jkummerow@chromium.org
48c39e57b2 Expand C++ macros in tools/generate-runtime-tests.py to increase coverage
R=dslomov@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21340 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-16 13:16:08 +00:00
yangguo@chromium.org
75a7a3157f Use %DebugGetProperty in debug mirror to check for Promise.
R=aandrey@chromium.org, amikhaylova@google.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21339 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-16 13:06:20 +00:00
yangguo@chromium.org
5c3c644cd3 Make plot shell script nicer.
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21338 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-16 13:04:45 +00:00
m.m.capewell@googlemail.com
ce8dab82f7 ARM64: Fix native cctest
CPUFeatures::Probe has been modified such that it can be called only once, but
the cctests make two calls in native builds: once in VM init, and once in each
test setup. This patch removes the call in the test setup.

BUG=
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21337 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-16 12:09:42 +00:00
machenbach@chromium.org
04043b3352 Fix keyboard interrupt in test driver.
Drain the queues to prevent failures when queues are garbage collected. Fails when interrupting test262 otherwise.

R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21334 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-15 15:01:27 +00:00
jkummerow@chromium.org
cede70c21b Ensure that collection iterators' maps have constructors
This fixes JSObject::GetCreationContext() for such iterators.

R=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21333 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-15 14:13:59 +00:00
jkummerow@chromium.org
628bdf69df Fix builtin/runtime name clashes generated by macros
Specifically: DataView{S,G}et* and a few more Math functions.

Also change indentation in typedarray.js for easier future builtins parsing.

R=dslomov@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21332 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-15 13:03:14 +00:00
yangguo@chromium.org
773a7eda67 Adapt test expectations in webkit.
R=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21331 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-15 12:46:32 +00:00
machenbach@chromium.org
1d0db84277 Fix deopt fuzzer after test runner changes.
Use the same keyboard interrupt logic as run-tests.
Close the perf database explicitly after one run, as it has two runs on the same architecture. Currently the first run closes on garbage collection, which might corrupt the second run.

BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21330 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-15 12:40:40 +00:00
yangguo@chromium.org
7a5207803c Refactor MacroAssembler::Prologue.
R=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21329 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-15 12:10:00 +00:00
machenbach@chromium.org
743e07bad0 Run tests sorted by expected runtime.
BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21328 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-15 12:01:34 +00:00
hpayer@chromium.org
0bfa182784 Decrease OldSurvivalRateLowThreshold to fit heap growing strategy.
BUG=
R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21327 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-15 11:10:07 +00:00
hpayer@chromium.org
ab0033de15 Only allow allocation site lifetime transitions from undicided to tenure or don't tenure.
BUG=
R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21326 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-15 11:09:22 +00:00
yangguo@chromium.org
fbd03e4daf Use table to dispatch debug commands.
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21325 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-15 10:40:48 +00:00
marja@chromium.org
11b8551f60 Parser / PreParser: Simplify error message arguments.
In some places, we pretended that there can be multiple arguments, though in
practice there was only one. In other places (most importantly, PreParser), we
only handled one argument. (This means that we were not able to produce a
multi-argument error inside a lazy function anyway.)

This CL makes it clear that there is ever only one argument.

R=ulan@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21324 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-15 09:44:57 +00:00
mstarzinger@chromium.org
fb5492d601 Ignore Eclipse project description files.
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21323 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-15 09:34:47 +00:00
svenpanne@chromium.org
53139a0a9b Omit stack check in non-looping loops.
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21322 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-15 09:25:03 +00:00
yangguo@chromium.org
14e0dd5e6e Remove custom JSON implementation from d8.
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21321 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-15 09:19:02 +00:00
svenpanne@chromium.org
cab2719fd1 Avoid memset(NULL, ...).
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21320 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-15 07:16:46 +00:00
plind44@gmail.com
d51e48dced MIPS: Fix FlooringDivByPowerOf2I.
Port r21313 (3b4cb0b)

Original commit message:
Fix for divisor=1, found during code inspection. We can't hit this bug, due to
HDiv::Canonicalize() discarding the operation, but it might avoid a future bug
hunt. Patch also includes a small tidying of the ARM64 code.

BUG=
R=plind44@gmail.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21317 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-14 17:34:09 +00:00
yangguo@chromium.org
ca9555120c Remove socket implementation from V8.
R=jkummerow@chromium.org, svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21316 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-14 16:34:13 +00:00
yangguo@chromium.org
33fba3bfa1 Remove DebuggerAgent.
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21315 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-14 16:28:46 +00:00
machenbach@chromium.org
c0ec7f20c8 Mark slow mozilla test.
This test is the remaining low hanging fruit in quick check and blocks the runner for 5 extra seconds.

BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21314 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-14 15:05:44 +00:00