yangguo
d28b2a194d
Extract non-IO part of mksnapshot into an API method.
...
R=vogelheim@chromium.org
Review URL: https://codereview.chromium.org/789213002
Cr-Commit-Position: refs/heads/master@{#25747}
2014-12-10 14:20:26 +00:00
dcarney
5ce364d817
new api for adding indexed interceptors
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/765883003
Cr-Commit-Position: refs/heads/master@{#25688}
2014-12-05 15:21:27 +00:00
yurys
f434123a16
Add GetIdentityHash to v8::Name object API
...
v8::Object already has GetIdentityHash on it. This change adds its counterpart to v8::Name.
BUG=chromium:437416
LOG=Y
Review URL: https://codereview.chromium.org/753373003
Cr-Commit-Position: refs/heads/master@{#25598}
2014-12-02 09:13:30 +00:00
thakis
643c24eb95
Set V8_CC_GNU or V8_CC_MSVC for clang in gcc / cl mode.
...
Also, remove V8_CC_CLANG since it's not read anywhere (and ideally shouldn't
be).
Clang tries to be compatible with gcc in clang mode, and with msvc in clang-cl
mode. It wants to go down the same code paths that these compilers want to go
down in most cases.
For example, V8PRIxPTR was set incorrectly on Windows 64-bit before this change
since macros.h assumed that checking for V8_CC_MSVC is enough to find LLP64
systems, but V8_CC_MSVC wasn't set for clang. Most other existing checks for
V8_CC_MSVC should be taken for clang-cl too (and for the remaining ones,
clang-cl is happy with either code path).
Likewise, V8_IMMEDIATE_CRASH is currently set to a suboptimal value with clang
since __builtin_trap() is only used if V8_CC_GNU is set.
Including clang in the gcc and cl macros is also what chromium does.
BUG=chromium:82385
LOG=y
Review URL: https://codereview.chromium.org/757553004
Cr-Commit-Position: refs/heads/master@{#25592}
2014-12-02 05:23:21 +00:00
hpayer
297935b34f
Use deadline in IdleNotification.
...
BUG=417668
LOG=n
Review URL: https://codereview.chromium.org/750813003
Cr-Commit-Position: refs/heads/master@{#25560}
2014-11-28 10:59:24 +00:00
dcarney
50ef0690b2
Add interceptor support for symbols
...
a revival of https://codereview.chromium.org/467013003
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/760883002
Cr-Commit-Position: refs/heads/master@{#25537}
2014-11-27 10:21:39 +00:00
jochen
30b43a8aac
Document that Isolate::GetCurrent() must not be called before initialization
...
Also, add a check for debug mode.
BUG=none
R=dcarney@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/758043002
Cr-Commit-Position: refs/heads/master@{#25507}
2014-11-26 05:15:30 +00:00
yangguo
1a2a18b66c
Remove v8::StartupData::compressed_size.
...
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/739253006
Cr-Commit-Position: refs/heads/master@{#25487}
2014-11-24 16:14:34 +00:00
yangguo
9b8d40594a
Rip out bzip compression for native sources.
...
R=vogelheim@chromium.org
Review URL: https://codereview.chromium.org/750543002
Cr-Commit-Position: refs/heads/master@{#25464}
2014-11-21 12:45:20 +00:00
Benedikt Meurer
21580e7b79
Revert "Forward declaration for Isolate / Platform in libplatform.h." and "Fixes d8 on windows following.".
...
This reverts commit 0f57ce8f1a
.
and 3245b8cb83
for breaking Chromium
compile.
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/743533003
Cr-Commit-Position: refs/heads/master@{#25411}
2014-11-19 07:28:07 +00:00
bulach
0f57ce8f1a
Forward declaration for Isolate / Platform in libplatform.h.
...
Reduces dependencies on #include files, making it easier for other
build systems to include this library.
BUG=
Review URL: https://codereview.chromium.org/740493002
Cr-Commit-Position: refs/heads/master@{#25408}
2014-11-18 20:29:37 +00:00
yangguo
7e2ebd4c00
Reland "Soft fail for invalid cache data."
...
Review URL: https://codereview.chromium.org/733023003
Cr-Commit-Position: refs/heads/master@{#25378}
2014-11-17 12:16:40 +00:00
Daniel Vogelheim
4f6c75f83a
Add a version tag for cached data.
...
BUG=399580,431699
LOG=N
R=dcarney@chromium.org , marja@chromium.org
Review URL: https://codereview.chromium.org/718043002
Cr-Commit-Position: refs/heads/master@{#25339}
2014-11-13 17:17:36 +00:00
Daniel Vogelheim
f83f10973e
Revert "Soft fail for invalid cache data."
...
This reverts commit eafce666f4
.
Original commit failed some tests w/ memory leaks.
TBR=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/724053004
Cr-Commit-Position: refs/heads/master@{#25336}
2014-11-13 16:47:05 +00:00
Yang Guo
eafce666f4
Soft fail for invalid cache data.
...
API=ScriptCompiler::CachedData::rejected
LOG=Y
R=vogelheim@google.com , vogelheim@chromium.org
Review URL: https://codereview.chromium.org/724023002
Cr-Commit-Position: refs/heads/master@{#25335}
2014-11-13 15:42:47 +00:00
Adam Klein
c93c8969d1
Re-add dot_result_string to heap.h after 5f7b24f7b4
...
Failed to notice it was still being used in a DCHECK, so removing
it broke the debug build.
TBR=marja@chromium.org
Review URL: https://codereview.chromium.org/720793004
Cr-Commit-Position: refs/heads/master@{#25309}
2014-11-12 18:33:47 +00:00
Adam Klein
5f7b24f7b4
Remove unused dot_for and dot_result strings from heap.h
...
These appear to have simply been missed in r21972
R=marja@chromium.org
Review URL: https://codereview.chromium.org/698483004
Cr-Commit-Position: refs/heads/master@{#25308}
2014-11-12 18:18:16 +00:00
dslomov@chromium.org
eacdfa0b7a
Various clean-ups after top-level lexical declarations are done.
...
1. Global{Context,Scope}=>Script{Context,Scope}
2. Enable fixed tests
3. Update comments
R=rossberg@chromium.org
BUG=v8:2198
LOG=N
Review URL: https://codereview.chromium.org/716833002
Cr-Commit-Position: refs/heads/master@{#25291}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25291 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-12 11:35:18 +00:00
aandrey@chromium.org
dc416ef328
Rename v8::Exception::GetMessage to CreateMessage.
...
This is to avoid renaming to GetMessageW/GetMessageA on Windows.
API=v8::Exception::CreateMessage
R=yangguo@chromium.org , loislo
LOG=Y
Review URL: https://codereview.chromium.org/711353002
Cr-Commit-Position: refs/heads/master@{#25273}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25273 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-11 21:45:30 +00:00
dslomov@chromium.org
1a64b02dcf
harmony_scoping: Implement lexical bindings at top level
...
This implements correct semantics for "extensible" top level lexical scope.
The entire lexical scope is represented at runtime by GlobalContextTable, reachable from native context and accumulating global contexts from every script loaded into the context.
When the new script starts executing, it does the following validation:
- checks the GlobalContextTable and global object (non-configurable own) properties against the set of declarations it introduces and reports potential conflicts.
- invalidates the conflicting PropertyCells on global object, so that any code depending on them will miss/deopt causing any contextual lookups to be reexecuted under the new bindings
- adds the lexical bindings it introduces to the GlobalContextTable
Loads and stores for contextual lookups are modified so that they check the GlobalContextTable before looking up properties on global object, thus implementing the shadowing of global object properties by lexical declarations.
R=adamk@chromium.org , rossberg@chromium.org
Review URL: https://codereview.chromium.org/705663004
Cr-Commit-Position: refs/heads/master@{#25220}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25220 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-07 16:29:45 +00:00
svenpanne@chromium.org
d56a21ebff
The idea behind of this solution is to use the existing "relocation info" instead of consumption the CodeLinePosition events emitted by the V8 compilers.
...
During generation code and relocation info are generated simultaneously.
When code generation is done you each code object has associated "relocation info".
Relocation information lets V8 to mark interesting places in the generated code: the pointers that might need to be relocated (after garbage collection),
correspondences between the machine program counter and source locations for stack walking.
This patch:
1. Add more source positions info in reloc info to make it suitable for source level mapping.
The amount of data should not be increased dramatically because (1) V8 already marks interesting places in the generated code and
(2) V8 does not write redundant information (it writes a pair (pc_offset, pos) only if pos is changed and skips other).
I measured it on Octane benchmark - for unoptimized code the number of source positions may achieve 2x ('lin_solve' from NavierStokes benchmark).
2. When a sample happens, CPU profiler finds a code object by pc, then use its reloc info to match the sample to a source line.
If a source line is found that hit counter is increased by one for this line.
3. Add a new public V8 API to get the hit source lines by CDT CPU profiler.
Note that it's expected a minor patch in Blink to pack the source level info in JSON to be shown.
4.Add a test that checks how the samples are distributed through source lines.
It tests two cases: (1) relocation info created during code generation and (2) relocation info associated with precompiled function's version.
Patch from Denis Pravdin <denis.pravdin@intel.com>;
R=svenpanne@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/682143003
Patch from Weiliang <weiliang.lin@intel.com>.
Cr-Commit-Position: refs/heads/master@{#25182}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25182 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-06 09:17:14 +00:00
aandrey@chromium.org
35eaced208
Add debug mirror support for ES6 Map/Set iterators.
...
This is to show values preview of an iterator in DevTools console.
API=v8::Value::IsMapIterator, v8::Value::IsSetIterator
BUG=chromium:427868
R=arv@chromium.org , yangguo@chromium.org , adamk@chromium.org
LOG=Y
Review URL: https://codereview.chromium.org/693813002
Cr-Commit-Position: refs/heads/master@{#25100}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25100 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-04 10:02:43 +00:00
erikcorry@chromium.org
3d62e24c5f
Introduce phantom weak handles in the API and use them internally for debug info
...
R=ulan@chromium.org , jochen@chromium.org
BUG=
Review URL: https://codereview.chromium.org/687003005
Cr-Commit-Position: refs/heads/master@{#25083}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25083 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-03 17:24:22 +00:00
aandrey@chromium.org
aeb7ba5259
Introduce v8::Exception::GetMessage to find location of an error object.
...
API=v8::Exception::GetMessage
BUG=chromium:427954
R=yangguo@chromium.org
LOG=Y
Committed: https://code.google.com/p/v8/source/detail?r=25015
Review URL: https://codereview.chromium.org/687253002
Cr-Commit-Position: refs/heads/master@{#25021}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25021 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-30 14:51:46 +00:00
machenbach@chromium.org
7c27d234f3
Reverting r25015 and r25016 for broken build.
...
TBR=yangguo@chromium.org , machenbach@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/688813002
Cr-Commit-Position: refs/heads/master@{#25017}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25017 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-30 13:57:47 +00:00
aandrey@chromium.org
ad4515fd1f
Introduce v8::Exception::GetMessage to find location of an error object.
...
API=v8::Exception::GetMessage
BUG=chromium:427954
R=yangguo@chromium.org
LOG=Y
Review URL: https://codereview.chromium.org/687253002
Cr-Commit-Position: refs/heads/master@{#25015}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25015 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-30 13:18:16 +00:00
dcarney@chromium.org
e589ae22e4
remove a bunch of isolate::current in api.cc
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/686053003
Cr-Commit-Position: refs/heads/master@{#25011}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25011 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-30 09:55:10 +00:00
dcarney@chromium.org
d24cd63fff
allow disabling of ArrayBuffer neutering
...
BUG=
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/684103002
Cr-Commit-Position: refs/heads/master@{#24973}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24973 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-29 10:37:12 +00:00
dcarney@chromium.org
f118921e3b
move functions in v8::V8 that should be on v8::Isolate
...
R=marja@chromium.org , svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/652193006
Cr-Commit-Position: refs/heads/master@{#24921}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24921 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-28 08:43:39 +00:00
erikcorry@chromium.org
716648065a
Revert 'Introduce phantom weak handles in the API and use them internally for debug info'
...
Revert of https://codereview.chromium.org/649563006/ due to layout test
failures.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/677403002
Cr-Commit-Position: refs/heads/master@{#24901}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24901 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-27 12:03:39 +00:00
erikcorry@chromium.org
891e289d0f
Introduce phantom weak handles in the API and use them internally for debug info
...
R=jochen@chromium.org , ulan@chromium.org
BUG=
Review URL: https://codereview.chromium.org/649563006
Cr-Commit-Position: refs/heads/master@{#24899}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24899 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-27 11:05:11 +00:00
dcarney@chromium.org
b714772c07
pass isolate to Value::To* functions
...
BUG=
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/669373002
Cr-Commit-Position: refs/heads/master@{#24893}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24893 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-27 09:03:16 +00:00
bmeurer@chromium.org
8214cc0e56
Use getauxval() if available.
...
This fixes the problem of not being able to detect ARM features on
ChromeOS because sandbox cannot access /proc/self/auxv and
/proc/cpuinfo there.
Drive-by-cleanup to libc detection in two other places.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/672543002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24789 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-22 06:42:17 +00:00
dslomov@chromium.org
37bd114925
Update ObjectToString to Harmony-draft algorithm
...
Updates Object.prototype.toString() to use algorithm described in harmony drafts.
Currently, the behaviour is essentially the same as ES262's version, however this changes when internal structures
such as Promise make use of symbolToStringTag (as they are supposed to, see v8:3241), and changes further once
Symbol.toStringTag is exposed publicly.
BUG=v8:3241, v8:3502
LOG=N
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/546803003
Patch from Caitlin Potter <caitpotter88@gmail.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24783 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 17:21:32 +00:00
verwaest@chromium.org
37b7dde54d
Remove unused IsDirty
...
BUG=
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/670703002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24767 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 11:21:54 +00:00
svenpanne@chromium.org
3de17c6950
Remove v8stdint.h, it doesn't serve a purpose anymore.
...
Basically a follow-up to https://codereview.chromium.org/667573005/ .
LOG=y
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/670673002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24755 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 08:25:14 +00:00
bmeurer@chromium.org
78f4212ed4
Visual Studio provides stdint.h these days.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/667573005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24751 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 04:55:49 +00:00
yangguo@chromium.org
299ed092ad
Remove deprecated Ascii-related identifiers from include/v8.h
...
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/665883002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24744 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-20 15:07:27 +00:00
bmeurer@chromium.org
010f089971
Remove (untested) code for unsupported compilers.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/656143004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24735 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-20 12:04:22 +00:00
haraken@chromium.org
f3bfd04bcf
Pass an Isolate to v8::VisitHandlesWithClassIds
...
The Isolate version of v8::VisitHandlesWithClassIds is needed
for https://codereview.chromium.org/651713002/
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/664473002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24671 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-17 00:46:18 +00:00
aandrey@chromium.org
b96b570628
Introduce v8::Exception::GetStackTrace API method.
...
This will be needed to get a stack trace from a DOMException.
API=v8::Exception::GetStackTrace
R=yangguo@chromium.org
LOG=Y
Review URL: https://codereview.chromium.org/655243002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24655 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-16 10:42:08 +00:00
ulan@chromium.org
dd49272c00
Weak Cells
...
Introduce an object that holds a weak reference.
Design document: http://goo.gl/9dSvvy .
BUG=
R=erik.corry@gmail.com
Review URL: https://codereview.chromium.org/640303006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24606 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-14 14:43:45 +00:00
rmcilroy@chromium.org
61b68155c3
Remove default NOP implementation of MonotonicallyIncreasingTime.
...
BUG=417668
LOG=N
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/641653002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24489 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-09 10:44:30 +00:00
mstarzinger@chromium.org
f99fd3867b
Remove premordial math functions from native context.
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/635323002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24471 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-08 14:42:31 +00:00
jochen@chromium.org
73733bb3eb
Fix data races and leaks related to v8::Lockers
...
BUG=v8:3618
R=ishell@chromium.org , svenpanne@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/637263002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24453 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-08 08:17:04 +00:00
jochen@chromium.org
304d91d2a7
Remove PersistentBase::ClearAndLeak
...
Embedders that used this method to be able to store a Persistent in a
container should use one of the containers in v8-util.h instead.
Other uses are no longer supported.
BUG=none
R=dcarney@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/635513002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24436 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-07 12:37:27 +00:00
yangguo@chromium.org
ec871585fc
Add stack trace to the promise reject callback.
...
R=aandrey@chromium.org
BUG=chromium:393913
LOG=N
Review URL: https://codereview.chromium.org/630373003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24432 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-07 12:03:55 +00:00
erikcorry@chromium.org
d0dc7fc4da
Reland: Add a use counter for Intl.v8BreakIterator
...
This relands https://codereview.chromium.org/619913002/
The test has been fixed to do a GC so it does not appear to leak in
ASAN. In addition the test has been fixed to work in the no-i18n
build, by incorporating the change from https://codereview.chromium.org/631743002/
R=ishell@chromium.org
BUG=
Review URL: https://codereview.chromium.org/628223002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24423 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-06 15:50:40 +00:00
rmcilroy@chromium.org
7cbe1ef9ca
Add MonotonicallyIncreasingTime to V8 Platform.
...
Adds a MonotonicallyIncreasingTime() function to the Platform API to enable the
embedder to provide a time API to V8 which will be used for IdleNotification deadlines.
BUG=417668
LOG=Y
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/632663002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24411 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-06 12:22:25 +00:00
erikcorry@chromium.org
33da50f2ea
Revert Add a use counter for Intl.v8BreakIterator https://codereview.chromium.org/619913002/
...
This is due to breakage on the ASAN memory leak bot, possibly due to
pre-existing leaks in v8BreakIterator().
R=ishell@chromium.org
BUG=
Review URL: https://codereview.chromium.org/636493004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24409 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-06 11:14:50 +00:00