machenbach
f72b4a084a
[build] Use shared libraries by default for debug builds
...
BUG=chromium:648864
Review-Url: https://codereview.chromium.org/2373743002
Cr-Commit-Position: refs/heads/master@{#39754}
2016-09-27 09:46:36 +00:00
mstarzinger
6a769ac1df
[presubmit] Enable readability/namespace linter checking.
...
This enables linter checking for "readability/namespace" violations
during presubmit and instead marks the few known exceptions that we
allow explicitly.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/1371083003
Cr-Commit-Position: refs/heads/master@{#31019}
2015-09-30 13:47:11 +00:00
dcarney
202a97c88e
make Handle a synonym of Local
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/679143002
Cr-Commit-Position: refs/heads/master@{#27951}
2015-04-21 08:15:57 +00:00
bmeurer
c65ae4f10c
Reland "Initial switch to Chromium-style CHECK_* and DCHECK_* macros.".
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/877753007
Cr-Commit-Position: refs/heads/master@{#26346}
2015-01-30 09:29:41 +00:00
Benedikt Meurer
883852293a
Revert "Make GCC happy again." and "Initial switch to Chromium-style CHECK_* and DCHECK_* macros.".
...
This reverts commit 6a4c0a3bae
and commit
0deaa4b629
for breaking GCC bots.
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/893533003
Cr-Commit-Position: refs/heads/master@{#26342}
2015-01-30 07:19:57 +00:00
bmeurer
0deaa4b629
Initial switch to Chromium-style CHECK_* and DCHECK_* macros.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/888613002
Cr-Commit-Position: refs/heads/master@{#26340}
2015-01-30 06:25:36 +00:00
jochen
97c1f4b15c
Turn on DCHECKs and other debugging code if dcheck_always_on is 1
...
When compiling with the macro DCHECK_ALWAYS_ON defined, DCHECKs and
supporting code gets compiled and enabled.
This increases test coverage for chromium release buildbots
BUG=v8:3731
R=jkummerow@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/760213005
Cr-Commit-Position: refs/heads/master@{#25701}
2014-12-08 09:26:16 +00:00
bmeurer@chromium.org
cbb12d66f6
Move ARM64 macros to macro-assembler-arm64.h.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/444803003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22895 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 06:35:29 +00:00
bmeurer@chromium.org
d07a2eb806
Rename ASSERT* to DCHECK*.
...
This way we don't clash with the ASSERT* macros
defined by GoogleTest, and we are one step closer
to being able to replace our homegrown base/ with
base/ from Chrome.
R=jochen@chromium.org , svenpanne@chromium.org
Review URL: https://codereview.chromium.org/430503007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22812 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 11:34:54 +00:00
danno@chromium.org
a1383e2250
Land the Fan (disabled)
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/426233002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22709 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-30 13:54:45 +00:00
jochen@chromium.org
a4506cd3f2
Move platform abstraction to base library
...
Also split v8-core independent methods from checks.h to base/logging.h and
merge v8checks with the rest of checks.
The CPU::FlushICache method is moved to CpuFeatures::FlushICache
RoundUp and related methods are moved to base/macros.h
Remove all layering violations from src/libplatform
BUG=none
R=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/358363002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22092 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-30 13:25:46 +00:00
jochen@chromium.org
b859b82008
Correct include paths in checks.h
...
BUG=none
R=mvstanton@chromium.org
TBR=mvstanton@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/314703002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21640 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 13:35:42 +00:00
jochen@chromium.org
56a486c322
Use full include paths everywhere
...
- this avoids using relative include paths which are forbidden by the style guide
- makes the code more readable since it's clear which header is meant
- allows for starting to use checkdeps
BUG=none
R=jkummerow@chromium.org , danno@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/304153016
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21625 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 08:12:43 +00:00
Jacob.Bramley@arm.com
32679b57e9
ARM64: Fix ASM_LOCATION and the like.
...
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/308023007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21620 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 07:37:16 +00:00
jochen@chromium.org
6e3ffe1ca1
Extract build configuration into a separate header and move it to the base lib
...
With this, change, atomicops, once, and lazy instance are no longer dependant
on v8 core. I'll move them in a follow-up change to the libbase as well.
BUG=none
R=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/303463005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21546 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 08:07:18 +00:00
jochen@chromium.org
276adeda1a
Replace STATIC_CHECK with STATIC_ASSERT.
...
It's just an alias, and STATIC_ASSERT is used way more often
BUG=none
R=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/304553002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21527 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 13:43:29 +00:00
bmeurer@chromium.org
d4b533d41b
Bulk update of Google copyright headers in source files.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/259183002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21035 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-29 06:42:26 +00:00
jochen@chromium.org
2ce0bebba1
Rename A64 port to ARM64 port
...
BUG=354405
R=ulan@chromium.org , rodolph.perfetta@arm.com
LOG=y
Review URL: https://codereview.chromium.org/207823003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20148 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-21 09:28:26 +00:00
marja@chromium.org
f5f67ca58e
Expose DumpBacktrace for debugging purposes.
...
After this change, you can just call DumpBacktrace in any function. Previously
the only function printing stack traces was V8_Fatal, but that also terminated
the program, so not very useful for debugging.
Note that DumpBacktrace is roughly equivalent to base::debug::StackTrace
functionality in Chromium, except less fancy, but it's enough for us.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/200343003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19993 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-17 13:33:19 +00:00
rmcilroy@chromium.org
6ef556bdff
Clean up some A64 specific code in common code that was introduced by A64 merge
...
- Remove arch specific check macros
- Remove duplicate code in code-stubs.h
- Remove flag check in bootstrap.cc which was introduced for A64 bringup
- Remove A64 specific test message expectations
R=rodolph.perfetta@arm.com , ulan@chromium.org
Review URL: https://codereview.chromium.org/134333011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19325 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-12 13:27:13 +00:00
ulan@chromium.org
e95bc7eec8
Merge experimental/a64 to bleeding_edge.
...
BUG=v8:3113
LOG=Y
R=jochen@chromium.org , rmcilroy@chromium.org , rodolph.perfetta@arm.com
Review URL: https://codereview.chromium.org/148293020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19311 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-12 09:19:30 +00:00
jkummerow@chromium.org
6aad7fb992
Fix compilation with GCC 4.8
...
BUG=v8:2767,v8:2149
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/69413002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17641 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-12 12:09:38 +00:00
danno@chromium.org
7339d45a9f
Define DEBUG for v8_optimized_debug=2
...
Thereby ensuring there is only a minimal performance regression vs. NDEBUG (now it's only about 10% slower rather than ~2x).
R=jkummerow@chromium.org , mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/39183004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17392 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-25 11:10:28 +00:00
titzer@chromium.org
dc901fae7f
First implementation of HUnique<T> and HUniqueSet<T>, which is supposed to replace UniqueValueId.
...
BUG=
R=rossberg@chromium.org , verwaest@chromium.org
Review URL: https://codereview.chromium.org/23609020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16683 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-12 12:08:54 +00:00
bmeurer@chromium.org
7a2c253e24
Move OS/compiler/feature detection to public v8config.h header.
...
From now on the v8config.h header should be the one and
only file where we do (freaky) checks to detect OS, C++
compiler or certain compiler features. Since we need that
both internally and for the public API, the new v8config.h
is the proper place to add (everything is prefixed with V8_
so we are safe).
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/23248006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16281 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-23 07:32:25 +00:00
bmeurer@chromium.org
125d3390a3
Improve detection of C++11 features.
...
Also improve detection of V8_INFINITY while we're at it.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/23323003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16254 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-21 10:43:50 +00:00
bmeurer@chromium.org
e9fcf8fc98
Revert the latest set of platform changes.
...
Revert "Fix NaCl build."
Revert "Revert target arch detection."
Revert "Fix typo."
Revert "Simplify implementation of Mutex."
Revert "Fix for older clang releases that lack __has_extension."
Revert "Reland initial bits of "Implement correct OS and CC detection.""
TBR=danno@chromium.org ,svenpanne@chromium.org
Review URL: https://codereview.chromium.org/21095008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15976 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-31 07:51:46 +00:00
bmeurer@chromium.org
a59d3ba977
Reland initial bits of "Implement correct OS and CC detection."
...
This adds the OS and CC detection and cleans up the globals.h to
some degree. It also places all of the C++11 feature detection into
globals.h.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/21223003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15953 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-30 10:36:58 +00:00
bmeurer@chromium.org
31eeeab30d
Just check for C++ version.
...
This fixes build breakage introduced with r15736.
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/19671009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15737 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-18 07:50:33 +00:00
bmeurer@chromium.org
aaad82db0e
Use C++11 static_assert() if available.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/19684009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15736 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-18 07:43:41 +00:00
jkummerow@chromium.org
fe5ce826c8
Add empty-handle checks to API functions (#ifdef ENABLE_EXTRA_CHECKS)
...
Review URL: https://chromiumcodereview.appspot.com/10917088
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12445 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-09-05 16:06:53 +00:00
svenpanne@chromium.org
375be4ae25
Inline an inline function into the CHECK macro
...
CheckHelper was only used within the macro itself. Furthermore, GCC
with -Winline was not always happy with the inline function. Simple
solution: Inline the inline function into the macro itself. Inlining
squared!
Review URL: https://chromiumcodereview.appspot.com/9295048
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10550 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-30 13:02:48 +00:00
kmillikin@chromium.org
4a4ccbf434
Fix a few preprocessor macros that could capture an 'else'.
...
Namely they are SLOW_ASSERT, RETURN_IF_SCHEDULED_EXCEPTION, and
RETURN_IF_EMTPY_HANDLE_VALUE.
R=svenpanne@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8983016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10329 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-01-04 14:45:29 +00:00
kmillikin@chromium.org
0a7010458a
Remove the static qualifier from functions in header files.
...
This shaves 416+ KB, just under 1% off the size of the debug d8 executable
on Linux (mostly because the CheckHelper functions for assertions were
getting separate copies for each compilation unit). The difference in
release builds is negligible---a size reduction of 0.1%.
Also, change namespace-level 'static const' variables to remove the static
storage class as it's the default.
R=danno@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8680013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10083 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-11-29 10:56:11 +00:00
vegorov@chromium.org
d855e5104c
Fix presubmit error introduced by r9767.
...
TBR=erik.corry@gmail.com
Review URL: http://codereview.chromium.org/8383031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9770 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-25 09:30:52 +00:00
vegorov@chromium.org
93f99ec06b
Provide fast-path for CHECK macro.
...
Makes debug build 20% faster.
R=erik.corry@gmail.com
Review URL: http://codereview.chromium.org/8256011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9767 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-25 09:06:07 +00:00
erik.corry@gmail.com
6f6d744115
Faster slow asserts.
...
Review URL: http://codereview.chromium.org/8267004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9607 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-13 11:54:19 +00:00
yangguo@chromium.org
2ade6a5a2e
Small fix for STATIC_ASSERT.
...
Review URL: http://codereview.chromium.org/7776007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9052 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-29 11:41:23 +00:00
sgjesse@chromium.org
1e8079fcc9
Increase coverage of global loads in optimized code
...
In the cases where a global property cell cannot be used in the optimized code
use standard load ic to get the property instead of bailing out.
This is re-committing r7212 and r7215 which where reverted in r7239 with the addition of recoring the source position in the hydrogen code for the LoadGlobalCell instruction. To record that position an optional position field has been added to the variable proxy AST node.
Review URL: http://codereview.chromium.org/6758007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7474 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-01 11:54:04 +00:00
erik.corry@gmail.com
d25755eeea
Add some missing includes and other minor changes intended to keep
...
the distance between bleeding edge and the gc branch minimal.
Review URL: http://codereview.chromium.org/5788002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6016 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-12-15 08:07:27 +00:00
lrn@chromium.org
b55add7e20
Optimized scanner to avoid virtual calls for every character read.
...
Review URL: http://codereview.chromium.org/5545006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5935 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-12-07 14:03:59 +00:00
kasperl@chromium.org
90b3370374
Update V8 to version 3.0 (re-land r5920).
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5922 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-12-07 11:31:57 +00:00
kasperl@chromium.org
51b494d096
Revert r5920. Will re-land shortly.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5921 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-12-07 11:01:02 +00:00
kasperl@chromium.org
e5860bd6a8
Update V8 to version 3.0.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5920 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-12-07 09:11:56 +00:00
lrn@chromium.org
0c60c88c2c
Working stand-alone preparser.
...
BUG=
TEST=
Review URL: http://codereview.chromium.org/5302003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5885 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-11-24 09:57:06 +00:00
lrn@chromium.org
af7b6fecfe
Split globals.h into two parts, where only one depends on V8.
...
Made allocation.{h,cc} independent of V8, allowing utils.h to allocate
vectors and collectors.
Review URL: http://codereview.chromium.org/5005001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5826 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-11-15 13:23:30 +00:00
lrn@chromium.org
f386f97476
Move part of scanner.* into scanner-base.* for reuse in preparser scanner.
...
Make checks.h not depend on flags.h or global.h (or anything else except
include/v8stdint.h). Only checks.cc has the dependencies (so another
implementation of checks.cc can be provided by the preparser).
Now files depending on checks.h (using ASSERT macros) can include it
directly without depending on all of v8.
Review URL: http://codereview.chromium.org/4576001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5775 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-11-05 13:33:40 +00:00
mikhail.naganov@gmail.com
64eade00e7
Enable static assertions in release mode.
...
Review URL: http://codereview.chromium.org/3146004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5226 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-10 09:22:49 +00:00
mikhail.naganov@gmail.com
522faec553
Fix compile errors on Linux x64 and Windows.
...
Will fix test-heap-profiler in the next change.
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/2877019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5079 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-15 14:28:52 +00:00
mikhail.naganov@gmail.com
c98ac6e82c
Heap profiler: implement diffing of snapshots.
...
To trace objects between snapshots, an external map of object tags is
maintained. After the first heap snapshot has been taken, the map is
updated by reporting object moves from the GC. If no snapshots were
taken, there is no overhead (except for flag checking).
I considered graph comparison algorithms that doesn't require using
object tags, but they are all of a high computational complexity, and
will still fail to detect object moves properly, even for trivial
cases, so using tags looks like unavoidable.
Review URL: http://codereview.chromium.org/3020002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5078 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-15 13:21:50 +00:00