Commit Graph

17452 Commits

Author SHA1 Message Date
verwaest@chromium.org
5baaf3c981 Use the HeapObjectIterator to scan-on-scavenge map pages.
Deserializing the partial snapshot may prematurely stop using a map page, adding a free-space filler at the end. Scan-on-scavenge of map-space did not expect anything but maps, and would interpret the uninitialized memory as pointers. Using the heap iterator we can skip over free space and only visit maps.

BUG=390732
LOG=y
R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22208 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 16:55:17 +00:00
jkummerow@chromium.org
5c6d414fbc Hydrogen LoopBuilder: add support for "while(true) {...}" loops
R=danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22207 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 16:33:42 +00:00
jkummerow@chromium.org
70811b5d7b HGraphBuilder::BuildJSObjectCheck: Tighten instance type comparison
R=danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22206 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 16:32:23 +00:00
kilvadyb@homejinni.com
cff28953aa MIPS: Remove unnecessary check in RegExpExecStub.
Port r22202 (cd07587)

BUG=v8:592
LOG=N
R=palfia@homejinni.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22205 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 16:22:34 +00:00
aandrey@chromium.org
952a986dd1 Introduce debug events for Microtask queue.
R=yangguo@chromium.org, adamk@chromium.org, rafaelw@chromium.org, rossberg@chromium.org
BUG=chromium:272416
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22204 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 15:56:01 +00:00
yangguo@chromium.org
7acb28a120 Fix assertion failure in mjsunit/regexp-stack-overflow.
TBR=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22203 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 14:57:55 +00:00
yangguo@chromium.org
87dfaa8951 Remove unnecessary check in RegExpExecStub.
R=ulan@chromium.org
BUG=v8:592
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22202 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 14:03:10 +00:00
m.m.capewell@googlemail.com
32ce17d644 ARM64: use direct conditional branches for regexp
R=ulan@chromium.org, bmeurer@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22199 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 13:16:51 +00:00
m.m.capewell@googlemail.com
144c172205 ARM64: improve Adr patching
R=ulan@chromium.org, bmeurer@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22198 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 13:08:15 +00:00
yangguo@chromium.org
f3b9ece6a4 Revert "Reland^2 r22105 "Remove static initializer from isolate""
This reverts r22167.

BUG=v8:3421
LOG=N
TBR=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22197 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 12:33:16 +00:00
kilvadyb@homejinni.com
f9a0e2eb2f MIPS: Start using OStreams.
Port r22179 (01402bc)

Original commit message:
Note that until everything is OStream-based, there are a few places
where we have to do some impedance matching. A few accessors had to be
const-corrected on the way.

BUG=
R=palfia@homejinni.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22196 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 12:27:23 +00:00
yangguo@chromium.org
a0c10d119a Revert "Turn old space cons strings into regular external strings (not short)."
This reverts commits r22192 and r22194.

TBR=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22195 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 12:24:41 +00:00
yangguo@chromium.org
a97789d65a Fix changed expectation in Heap::AllowToBeMigrated.
R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22194 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 12:01:34 +00:00
jkummerow@chromium.org
dfa8df2fdd Fix deopt reason printing to print stub failure reason with --trace-stub-failures --code-comments
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22193 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 11:47:31 +00:00
yangguo@chromium.org
6574f33d2a Turn old space cons strings into regular external strings (not short).
R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22192 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 11:46:31 +00:00
mvstanton@chromium.org
bed0877111 Error in CallFunctionNoFeedback ia32 made less efficient code.
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22191 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 11:11:39 +00:00
dcarney@chromium.org
1859b04071 add GetOwnPropertyDescriptor to api
R=verwaest@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22190 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 10:04:57 +00:00
jochen@chromium.org
c1231d426f Add an API to pump the message loop to libplatform
BUG=none
LOG=n
R=marja@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22187 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 09:33:36 +00:00
machenbach@chromium.org
ba584456e6 Fix result status of rerun flaky tests.
Tests that pass on reruns where wrongly treated as failures. Now the result state can include any of (PASS, FAIL, CRASH, TIMEOUT)

BUG=374134
LOG=n
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22186 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 09:33:22 +00:00
jkummerow@chromium.org
34eb0262a9 Hydrogenized KeyedLoadGeneric stub: Fix BuildDecodeField
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22185 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 08:58:03 +00:00
jkummerow@chromium.org
aca5038b3d Hydrogenized KeyedLoadGeneric stub: Fix string hash retrieval
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22184 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 08:55:42 +00:00
ishell@chromium.org
ff134a1939 Stack overflow checkers are now compatible with ASAN's detect_stack_use_after_return mode.
BUG=chromium:376287
BUG=chromium:376262
BUG=chromium:369962
LOG=N
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22183 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 08:52:28 +00:00
jochen@chromium.org
7b94143287 Don't even include v8.h from libbase or libplatform
BUG=none
R=yangguo@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22182 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 08:50:52 +00:00
jochen@chromium.org
abb0ff205c Buildfix for windows after r22180
TBR=yangguo@chromium.org
LOG=n
BUG=none

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22181 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 07:57:29 +00:00
jochen@chromium.org
ca16bb7ae2 Split out libplatform into a separate libary
Also remove the "use default platform" compile flag. Instead, the embedder
has to provide the platform.

Change all binaries to use the default platfrom from libplatform.

Unless --job-based-sweeping is passed, nothing uses the platform yet, so
nothing will break for embedders (yet).

BUG=none
R=jkummerow@chromium.org
LOG=y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22180 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 07:37:27 +00:00
svenpanne@chromium.org
d7934d1fbe Start using OStreams.
Note that until everything is OStream-based, there are a few places
where we have to do some impedance matching. A few accessors had to be
const-corrected on the way.

R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22179 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 07:18:30 +00:00
ishell@chromium.org
2fba190240 One of the fast cases in JSObject::MigrateFastToFast() should not be taken if the number of fields did not change.
BUG=chromium:390918
LOG=N
R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22174 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 19:10:19 +00:00
verwaest@chromium.org
a1dd1a262c Revert "Remove special ExecutableAccessorInfo handling based on flag"
Temporarily reverting until we figure out how to handle the API cases that use accessors to lazily compute values.
dataAttributeGetterCustom in V8MessageEventCustom (at least) overwrites itself with the computed value using ForceSet. We can either force such clients to first use ForceDelete before caching, use some other caching mechanism; or provide an API for lazily computed properties.

TBR=dcarney@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22173 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 16:59:04 +00:00
machenbach@chromium.org
cf88d3c953 Fix rerun barrier for flaky tests.
- The rerun flag doesn't include the first run.
- Timeout is an int. The division makes it 0 for small
numbers.

BUG=374134
LOG=n
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22172 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 15:33:21 +00:00
verwaest@chromium.org
2350d46146 Remove special ExecutableAccessorInfo handling based on flag
This additionally removes special "prototype" handling for O.o, since it's broken; and added test.

BUG=
R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22171 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 15:28:29 +00:00
kilvadyb@homejinni.com
ec349cbfed MIPS: Clean up the global object naming madness.
Port r22117 (e9244d6)

BUG=
R=palfia@homejinni.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22170 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 15:21:28 +00:00
yangguo@chromium.org
f353ff668a Harden Runtime_LiveEditCheckAndDropActivations against unsafe args.
R=jarin@chromium.org
BUG=390925
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22169 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 15:09:44 +00:00
kilvadyb@homejinni.com
7a8a44aaf6 MIPS: KeyedLoadIC should have same register spec as LoadIC.
Port r22103 (2c36867)

Original commit message:
On arm, arm64 and x64 there is a different register specification between LoadIC and KeyedLoadIC.

It would be nicer if these are the same, allowing some key optimizations.

BUG=
R=palfia@homejinni.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22168 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 15:09:14 +00:00
jochen@chromium.org
d8aefde617 Reland^2 r22105 "Remove static initializer from isolate"
Make Isolate::UncheckedCurrent() return NULL if Isolate wasn't yet initialized
to avoid reentrancy when running with the profiler

BUG=none
R=dcarney@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22167 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 14:43:54 +00:00
yangguo@chromium.org
44d6ef37ab Reland "Fix stack trace accessor behavior."
BUG=v8:3404
LOG=N
R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22166 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 14:18:10 +00:00
jochen@chromium.org
b0956fb1a2 Add clang-format to presubmit checks
The check doesn't modify the patch, instead, you'll have to use "git cl
format" manually.

BUG=none
R=danno@google.com, danno@chromium.org, jkummerow@chromium.org
LOG=y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22165 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 14:11:44 +00:00
jochen@chromium.org
df6e1ac69e Make flag definition macros style guide compliant and clang-format it.
coding style wants macros to be all upper case, and so clang-format only
detects those as macros.

BUG=none
R=jkummerow@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22164 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 14:00:16 +00:00
wingo@igalia.com
341d61867c Allow yield expressions without a RHS.
R=marja@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22163 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 13:48:28 +00:00
yangguo@chromium.org
a481d753d0 Stack traces exposed to Javascript should omit extensions.
R=marja@chromium.org
BUG=v8:311
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22162 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 13:36:29 +00:00
yangguo@chromium.org
1c6f0fa6c7 Revert "Precisely sweep scan on scavenge pages and use heap iterator to iterate over them."
This reverts r22154.

TBR=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22159 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 13:00:36 +00:00
hpayer@chromium.org
d4c07acd66 Wait for sweeper threads only if we have to, i.e. if we globally have to finish sweeping or if we have to allocate from a certain space.
BUG=
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22156 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 12:33:12 +00:00
wingo@igalia.com
09660b00eb Add more generator/yield parsing tests
R=marja@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22155 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 12:27:34 +00:00
hpayer@chromium.org
4793ec3b7e Precisely sweep scan on scavenge pages and use heap iterator to iterate over them.
BUG=
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22154 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 12:19:03 +00:00
marja@chromium.org
be0d2fbe1f Fix: Parser::HandleSourceURLComments was making gcmole unhappy (rightfully).
R=yangguo@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22153 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 12:01:56 +00:00
jochen@chromium.org
128086642b Fix platform-cygwin.cc to really not use an Isolate
BUG=none
R=jkummerow@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22152 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 11:22:54 +00:00
yangguo@chromium.org
1f24d32b00 Remove deprecated v8::Context::HasOutOfMemoryException.
LOG=Y
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22151 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 10:34:13 +00:00
yangguo@chromium.org
b6fcac16a3 Revert "Reland "Linux perf tool support update + refactoring." (r22118)"
This reverts r22146.

TBR=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22150 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 10:19:35 +00:00
ishell@chromium.org
8bf1b45e5b Mark mjsunit/migrations test in debug mode as TIMEOUT
Review URL: https://codereview.chromium.org/362953002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22149 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 09:57:27 +00:00
m.m.capewell@googlemail.com
91ba01532f ARM64: Reland faster immediate check
Improve the code used to check for encodable logical immediates, fix some corner
cases associated with moving kWMinInt into W registers, and add tests.

BUG=
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22148 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 09:52:23 +00:00
machenbach@chromium.org
4d55c22827 Add information about rerun tests to json output.
BUG=374134
LOG=n
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22147 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 09:12:07 +00:00