bmeurer@chromium.org
546e8a6287
Fix cctest/test-run-machops/RunLoadImmIndex
...
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/436533002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22746 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 10:24:44 +00:00
svenpanne@chromium.org
337a7f61b2
Fixed a few space leaks.
...
TBR=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/430133002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22745 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 10:17:25 +00:00
bmeurer@chromium.org
bcbb39e0ef
Fix android debug build.
...
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/430123002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22743 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 09:30:16 +00:00
jkummerow@chromium.org
9930eaae1c
Greenify NaCl build
...
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/438523003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22742 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 09:19:50 +00:00
bmeurer@chromium.org
0eecf982f9
[arm] Add support for ROR. Refactor operand2 handling.
...
This was the last missing bit for full "flexible second operand" /
operand2 support on ARM.
TEST=cctest/test-instruction-selector-arm,cctest/test-run-machops
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/434553002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22732 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 07:44:29 +00:00
danno@chromium.org
252cb8ba6e
Fix 64-bit VS2010 build
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/420033003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22722 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-30 16:21:36 +00:00
mstarzinger@chromium.org
1e1a7a593b
Fix relative include path in cctest case.
...
R=jarin@chromium.org , titzer@chromium.org
Review URL: https://codereview.chromium.org/426233003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22721 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-30 15:35:29 +00:00
mstarzinger@chromium.org
18bd8cadc4
Fix build failures with LLVM-GCC 4.2 on Mac (moar).
...
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/429863004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22720 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-30 15:34:09 +00:00
mstarzinger@chromium.org
c1ce19867c
Fix relative include path in cctest helper.
...
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/431623002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22714 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-30 14:40:57 +00:00
mstarzinger@chromium.org
2c328e94f9
Remove accidental duplication in cctest suite.
...
R=danno@google.com , danno@chromium.org
Review URL: https://codereview.chromium.org/423313004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22712 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-30 14:23:52 +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
jkummerow@chromium.org
49233c9972
Throw an exception when an access check fails and no external callback is installed
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/428733007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22698 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-30 09:31:06 +00:00
dusan.milosavljevic@imgtec.com
e0401f3f71
MIPS64: Add support for architecture revision 6.
...
TEST=
BUG=
R=jkummerow@chromium.org , paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/426863006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22681 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-29 18:02:26 +00:00
mstarzinger@chromium.org
947740a6d8
Revert "Make --always-opt also optimize toplevel code."
...
TBR=ishell@chromium.org
Review URL: https://codereview.chromium.org/429583002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22670 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-29 13:08:51 +00:00
mstarzinger@chromium.org
34f5edd500
Make --always-opt also optimize toplevel code.
...
R=jacob.bramley@arm.com , titzer@chromium.org , rossberg@chromium.org
Review URL: https://codereview.chromium.org/410153002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22666 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-29 11:41:42 +00:00
ishell@chromium.org
f2e5395a32
Regression test for chromium:388880 added.
...
BUG=chromium:388880
LOG=N
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/424693006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22652 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-28 15:33:24 +00:00
rmcilroy@chromium.org
cc532e449b
Tests that the GC doesn't mistake non-pointer constant pool entries as pointers.
...
Adds a test for ConstantPoolArray to ensure that the GC
doesn't mistake non-pointer entries as pointers and try
to modify them during scavenge operations.
Also adds asserts to ConstantPoolArray::set(int, *Object) to
ensure we don't add new-space pointers in constant pool
array.
R=hpayer@chromium.org
Committed: https://code.google.com/p/v8/source/detail?r=22608
Review URL: https://codereview.chromium.org/396803009
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22634 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-28 10:04:36 +00:00
verwaest@chromium.org
4a956ab1c2
Change Has* and Get*Attributes to return Maybe<*>, indicating possible exceptions.
...
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/418383002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22624 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-25 18:32:11 +00:00
machenbach@chromium.org
110a5fdae4
Revert "Tests that the GC doesn't mistake non-pointer constant pool entries as pointers."
...
This reverts commit r22608 for breaking win and arm64, ConstantPoolExtended and ConstantPoolSmall.
BUG=
TBR=rmcilroy@chromium.org
Review URL: https://codereview.chromium.org/415773010
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22609 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-24 18:59:19 +00:00
rmcilroy@chromium.org
59ee2de97c
Tests that the GC doesn't mistake non-pointer constant pool entries as pointers.
...
Adds a test for ConstantPoolArray to ensure that the GC
doesn't mistake non-pointer entries as pointers and try
to modify them during scavenge operations.
Also adds asserts to ConstantPoolArray::set(int, *Object) to
ensure we don't add new-space pointers in constant pool
array.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/396803009
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22608 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-24 18:13:16 +00:00
rmcilroy@chromium.org
7cd5dbb9fa
Revert r22597 (which should have been called: "Tests that the GC doesn't mistake non-pointer constant pool entries as poitners.")
...
TBR=yangguo@chromium.org
Review URL: https://codereview.chromium.org/413173002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22598 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-24 12:30:53 +00:00
rmcilroy@chromium.org
48f44b65ee
Use heap iterator in store buffer when page was swept precisely.
...
BUG=
R=rmcilroy@chromium.org
Committed: https://code.google.com/p/v8/source/detail?r=22592
Review URL: https://codereview.chromium.org/413693002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22597 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-24 12:12:44 +00:00
yangguo@chromium.org
2811213380
Flag for serialization when compiling code stubs if --serialize-toplevel.
...
R=mvstanton@chromium.org
BUG=v8:3465
LOG=N
Review URL: https://codereview.chromium.org/419503002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22596 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-24 12:11:30 +00:00
ernstm@chromium.org
9523e0acf4
re-land: Track history of events in GCTracer.
...
- track incremental marking stats directly on GCTracer.
- add simple ring buffer class.
- track last 10 scavenges and mark-compacts in ring buffers on GCTracer.
- various clean-ups.
This is a re-land of https://codereview.chromium.org/391413006/ with
- int instead of size_t in ring buffer unit test.
- git cl format
R=hpayer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/411293002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22593 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-24 11:16:01 +00:00
machenbach@chromium.org
4c345d38bd
Partially revert "Unflake and speedup JsNative*Sample cpu profile tests"
...
This reverts the test expectations of commit r22345. Several cpu profiler flakes were happening lately.
BUG=v8:2999
LOG=n
R=bmeurer@chromium.org
TBR=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/418843002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22588 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-24 09:26:03 +00:00
jochen@chromium.org
cb8105e223
Move gc notifications from V8 to Isolate and make idle hint mandatory
...
Embedders should use e.g. isolate->IdleNotification(1000) instead
of v8::V8::IdleNotification()
BUG=397026
R=hpayer@chromium.org , ernstm@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/412163003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22584 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-24 08:28:02 +00:00
machenbach@chromium.org
ea1be613dc
Revert "Track history of events in GCTracer."
...
This reverts commit 22567 for breaking win64 compile.
BUG=
TBR=ernstm@chromium.org
Review URL: https://codereview.chromium.org/414743002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22572 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-23 16:12:02 +00:00
ernstm@chromium.org
462cca2ecb
Track history of events in GCTracer.
...
- track incremental marking stats directly on GCTracer.
- add simple ring buffer class.
- track last 10 scavenges and mark-compacts in ring buffers on GCTracer.
- various clean-ups.
R=hpayer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/391413006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22567 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-23 15:16:53 +00:00
neis@chromium.org
ac192b4f2a
Add debugging output to RangeType test.
...
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/411873002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22552 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-23 11:17:14 +00:00
yangguo@chromium.org
ed04566cba
Correctly hook up back references to internalized strings in code deserializer.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/411483002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22540 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-23 07:16:32 +00:00
neis@chromium.org
6176dee6ea
Add constructor for range types.
...
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/409543004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22535 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-22 17:33:22 +00:00
mvstanton@chromium.org
6d3fc8a322
Introduce FLAG_vector_ics.
...
When FLAG_vector_ics is true, then AST nodes that use Load and KeyedLoad ICs
will allocate a type vector slot to store feedback information. Full codegen
will emit a load of the slot into a register if the flag is on.
Support is incomplete, right now the IC doesn't know how to use the feedback
slot.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/398053002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22500 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 11:19:56 +00:00
rossberg@chromium.org
8023c9f564
Implement basic code generation for arrow functions
...
Implements code generation for arrow functions by desugaring them into
a FunctionLiteral. For the moment, a normal FUNCTION_SCOPE is used, so
"this" and "arguments" behave as in normal functions. Implementing the
correct scoping rules is to be done later on.
BUG=v8:2700
LOG=
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/382893003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22495 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 09:58:01 +00:00
verwaest@chromium.org
7e29b64e27
Reimplement SetProperty using the LookupIterator
...
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/392243002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22482 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 13:47:25 +00:00
mstarzinger@chromium.org
9d2609fe98
Reland "Make v8::TryCatch able to consume natively thrown exceptions."
...
R=svenpanne@chromium.org
BUG=chromium:362388
TEST=cctest/test-api/TryCatchNative
LOG=N
Review URL: https://codereview.chromium.org/399473006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22481 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 13:28:12 +00:00
hpayer@chromium.org
6067ca6a62
Concurrent/parallel precise sweeping.
...
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/398333002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22471 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 11:04:20 +00:00
yangguo@chromium.org
ee9ed36179
Mark test-mark-compact/Promotion as PASS, FAIL on arm64.
...
BUG=v8:3446
LOG=N
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/400533002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22438 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-17 06:51:20 +00:00
vogelheim@chromium.org
a42612b4a7
Change ScriptCompiler::CompileOptions to allow for two 'cache' modes
...
(parser or code) and to be explicit about cache consumption or production
(rather than making presence of cached_data imply one or the other.)
Also add a --cache flag to d8, to allow testing the functionality.
-----------------------------
API change
Reason: Currently, V8 supports a 'parser cache' for repeatedly executing the same script. We'd like to add a 2nd mode that would cache code, and would like to let the embedder decide which mode they chose (if any).
Note: Previously, the 'use cached data' property was implied by the presence of the cached data itself. (That is, kNoCompileOptions and source->cached_data != NULL.) That is no longer sufficient, since the presence of data is no longer sufficient to determine /which kind/ of data is present.
Changes from old behaviour:
- If you previously didn't use caching, nothing changes.
Example:
v8::CompileUnbound(isolate, source, kNoCompileOptions);
- If you previously used caching, it worked like this:
- 1st run:
v8::CompileUnbound(isolate, source, kProduceToCache);
Then, source->cached_data would contain the
data-to-be cached. This remains the same, except you
need to tell V8 which type of data you want.
v8::CompileUnbound(isolate, source, kProduceParserCache);
- 2nd run:
v8::CompileUnbound(isolate, source, kNoCompileOptions);
with source->cached_data set to the data you received in
the first run. This will now ignore the cached data, and
you need to explicitly tell V8 to use it:
v8::CompileUnbound(isolate, source, kConsumeParserCache);
-----------------------------
BUG=
R=marja@chromium.org , yangguo@chromium.org
Review URL: https://codereview.chromium.org/389573006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22431 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 12:18:33 +00:00
yangguo@chromium.org
ef734e2686
Verify that source string matches serialized code.
...
R=mvstanton@chromium.org , vogelheim@chromium.org
Review URL: https://codereview.chromium.org/394793002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22417 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 06:59:14 +00:00
yangguo@chromium.org
ed744ffa17
Do not dump user source code in the code serializer.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/390303002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22403 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-15 10:17:22 +00:00
yangguo@chromium.org
fd57811644
Fix up internalized strings after deserializing user code.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/387343002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22398 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-15 08:46:47 +00:00
hpayer@chromium.org
9180b1a319
Remove sequential sweeping mode and perform lazy sweeping when no sweeper threads are active.
...
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/396443004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22394 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-15 08:24:44 +00:00
marja@chromium.org
5de6d47ad2
Fix flags for test cases involving arrow functions
...
There are a lot of tests in cctest/test-parsing/ErrorsArrowFunctions,
so it is quite slow. This patch removes some flags to make it faster.
Removing three flags that don't affect the test brings down the run
time one order of magnitude, which is fast enough even for debug/ASAN
bots.
Also, remove the unneeded kArrowFunctions flag from
cctest/test-parsing/NoErrorsYieldSloppyAllModes
BUG=
R=marja@chromium.org
Review URL: https://codereview.chromium.org/387383002
Patch from Adrián Pérez de Castro <aperez@igalia.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22392 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-15 08:10:26 +00:00
verwaest@chromium.org
6466ff39fb
Remove PropertyAttributes from SetProperty
...
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/390833003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22383 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-14 14:52:24 +00:00
verwaest@chromium.org
1d55a634a9
Replace AddProperty by AddNamedProperty to speed up the common case
...
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/384003003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22381 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-14 14:05:30 +00:00
verwaest@chromium.org
aa7198dfdd
This CL simplifies var / const by ensuring the behavior is consistent in itself, and with regular JS semantics; between regular var/const and eval-ed var/const.
...
Legacy const is changed so that a declaration declares a configurable, but non-writable, slot, and the initializer reconfigures it (when possible) to non-configurable non-writable. This avoids the need for "the hole" as marker value in JSContextExtensionObjects and GlobalObjects. Undefined is used instead.
BUG=
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/379893002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22379 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-14 14:01:04 +00:00
titzer@chromium.org
f28f6102f8
Revert "Remove sequential sweeping mode and perform lazy sweeping when no sweeper threads are active."
...
Reason: broke win64 build
This reverts commit 221bfdd2da2b6f3c1cbe77c5d197f1ea626b0bd2.
TBR=hpayer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/393523002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22374 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-14 13:02:36 +00:00
hpayer@chromium.org
030df48ced
Remove sequential sweeping mode and perform lazy sweeping when no sweeper threads are active.
...
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/384373002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22372 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-14 11:31:22 +00:00
yangguo@chromium.org
ba8bbee634
Serialize builtins by referencing canonical ones.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/383173002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22371 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-14 11:22:03 +00:00
marja@chromium.org
70da8959bc
Implement handling of arrow functions in the parser
...
Arrow functions are parsed from ParseAssignmentExpression(). Handling the
parameter list is done by letting ParseConditionalExpression() parse a comma
separated list of identifiers, and it returns a tree of BinaryOperation nodes
with VariableProxy leaves, or a single VariableProxy if there is only one
parameter. When the arrow token "=>" is found, the VariableProxy nodes are
passed to ParseArrowFunctionLiteral(), which will then skip parsing the
paramaeter list. This avoids having to rewind when the arrow is found and
restart parsing the parameter list.
Note that the empty parameter list "()" is handled directly in
ParsePrimaryExpression(): after is has consumed the opening parenthesis,
if a closing parenthesis follows, then the only valid input is an arrow
function. In this case, ParsePrimaryExpression() directly calls
ParseArrowFunctionLiteral(), to avoid needing to return a sentinel value
to signal the empty parameter list. Because it will consume the body of
the arrow function, ParseAssignmentExpression() will not see the arrow
"=>" token as next, and return the already-parser expression.
The implementation is done in ParserBase, so it was needed to do some
additions to ParserBase, ParserTraits and PreParserTraits. Some of the
glue code can be removed later on when more more functionality is moved
to ParserBase.
Additionally, this adds a runtime flag "harmony_arrow_functions"
(disabled by default); enabling "harmony" will enable it as well.
BUG=v8:2700
LOG=N
R=marja@chromium.org
Review URL: https://codereview.chromium.org/383983002
Patch from Adrián Pérez de Castro <aperez@igalia.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22366 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-14 07:55:45 +00:00
dslomov@chromium.org
1b5958382a
Revert "Remove sequential sweeping mode and perform lazy sweeping when no sweeper threads are active."
...
This reverts commit r22346 for breaking GC stress tests.
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/386943003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22349 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-11 11:33:57 +00:00
dslomov@chromium.org
4db1f68077
Disabling flakes.Filed 3433, 3434, 3435.
...
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/382083003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22348 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-11 11:20:37 +00:00
hpayer@chromium.org
6d022494ec
Remove sequential sweeping mode and perform lazy sweeping when no sweeper threads are active.
...
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/382793002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22346 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-11 09:51:34 +00:00
alph@chromium.org
e64230c1f9
Unflake and speedup JsNative*Sample cpu profile tests
...
Instead of running cpu profiler for a hundred milliseconds,
collecting samples distributed in a non-deterministic way all along
the code, make the tests rely on a single sample we collect on
the profiler start.
R=bmeurer@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/301603005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22345 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-11 09:06:12 +00:00
marja@chromium.org
938b57f75b
Revert "Implement handling of arrow functions in the parser"
...
This reverts revision 22320.
Reason: ASAN still detects leaks!
Conflicts:
src/preparser.h
TBR=aperez@igalia.com ,marja@chromium.org
BUG=
Review URL: https://codereview.chromium.org/389503002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22337 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-11 06:39:31 +00:00
rossberg@chromium.org
1d7cd30677
Parser sync tests for let
identifiers
...
R=marja@chromium.org
BUG=
Review URL: https://codereview.chromium.org/385613002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22324 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-10 14:39:35 +00:00
marja@chromium.org
e5991fc373
Implement handling of arrow functions in the parser
...
Arrow functions are parsed from ParseAssignmentExpression(). Handling the
parameter list is done by letting ParseConditionalExpression() parse a comma
separated list of identifiers, and it returns a tree of BinaryOperation nodes
with VariableProxy leaves, or a single VariableProxy if there is only one
parameter. When the arrow token "=>" is found, the VariableProxy nodes are
passed to ParseArrowFunctionLiteral(), which will then skip parsing the
paramaeter list. This avoids having to rewind when the arrow is found and
restart parsing the parameter list.
Note that the empty parameter list "()" is handled directly in
ParsePrimaryExpression(): after is has consumed the opening parenthesis,
if a closing parenthesis follows, then the only valid input is an arrow
function. In this case, ParsePrimaryExpression() directly calls
ParseArrowFunctionLiteral(), to avoid needing to return a sentinel value
to signal the empty parameter list. Because it will consume the body of
the arrow function, ParseAssignmentExpression() will not see the arrow
"=>" token as next, and return the already-parser expression.
The implementation is done in ParserBase, so it was needed to do some
additions to ParserBase, ParserTraits and PreParserTraits. Some of the
glue code can be removed later on when more more functionality is moved
to ParserBase.
Additionally, this adds a runtime flag "harmony_arrow_functions"
(disabled by default); enabling "harmony" will enable it as well.
BUG=v8:2700
LOG=N
R=marja@chromium.org
Review URL: https://codereview.chromium.org/385553003
Patch from Adrián Pérez de Castro <aperez@igalia.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22320 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-10 12:27:07 +00:00
yurys@chromium.org
3994880715
Support ES6 Map and Set in heap profiler
...
Added special handling for Map and Set in the heap snapshot generator.
Extracted common base type from JSMap/JSSet similar to JSWeakMap/JSWeakSet.
After handling collection specific properties all collections are processed as regular JSObject to make sure all regular properties set on them are present in the heap snapshot.
BUG=v8:3368
LOG=Y
R=alph@chromium.org , rossberg@chromium.org
Committed: https://code.google.com/p/v8/source/detail?r=22311
Review URL: https://codereview.chromium.org/373183002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22316 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-10 10:54:47 +00:00
yangguo@chromium.org
d9d66d02b4
Fix build.
...
TBR=marja@chromium.org
Review URL: https://codereview.chromium.org/384663002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22315 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-10 10:48:28 +00:00
yangguo@chromium.org
339bc81390
Refactor ScriptData class for cached compile data.
...
R=marja@chromium.org , vogelheim@chromium.org
Review URL: https://codereview.chromium.org/376223002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22314 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-10 10:28:05 +00:00
yurys@chromium.org
3b2511ed4a
Revert "Support ES6 Map and Set in heap profiler"
...
This reverts commit 47f86e067f
due to some weird (likely unrelated) compilation errors.
BUG=v8:3368
TBR=rossberg
Review URL: https://codereview.chromium.org/380153002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22312 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-10 08:45:45 +00:00
yurys@chromium.org
47f86e067f
Support ES6 Map and Set in heap profiler
...
Added special handling for Map and Set in the heap snapshot generator.
Extracted common base type from JSMap/JSSet similar to JSWeakMap/JSWeakSet.
After handling collection specific properties all collections are processed as regular JSObject to make sure all regular properties set on them are present in the heap snapshot.
BUG=v8:3368
LOG=Y
R=alph@chromium.org , rossberg@chromium.org
Review URL: https://codereview.chromium.org/373183002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22311 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-10 07:24:52 +00:00
dusan.milosavljevic@rt-rk.com
a0f6878a06
Add mips64 port.
...
Summary:
- Changes in common code are mainly boilerplate changes,
gyp and test status files updates.
- On mips64 simulator all tests pass from all test units.
- Current issues: mjsunit JS debugger tests fail randomly on HW in release mode.
Corresponding tests are skipped on HW.
- Skipped tests on mips64: test-heap/ReleaseOverReservedPages, mjsunit/debug-*
TEST=
BUG=
R=danno@chromium.org , plind44@gmail.com , ulan@chromium.org
Review URL: https://codereview.chromium.org/371923006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22297 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-09 11:08:26 +00:00
yangguo@chromium.org
8a2a4bf983
Flush ICache after deserializing code.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/375223002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22289 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-09 07:32:55 +00:00
yangguo@chromium.org
823daea2ba
Temporarily disable test-compiler/SerializeToplevel on ARM.
...
TBR=dslomov@chromium.org
Review URL: https://codereview.chromium.org/373383002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22288 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-09 06:02:18 +00:00
dslomov@chromium.org
969a3d7b9d
Add TIMEOUT for MultithreadedParallelIsolates
...
R=machenbach@chromium.org
BUG=v8:3215
LOG=N
Review URL: https://codereview.chromium.org/376963002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22283 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-08 14:43:09 +00:00
yangguo@chromium.org
41b74fd26f
Fix issues with code serializer.
...
- code pre-aging does not work with serializing.
- compilation info needs to remember that we compile for serializing.
- test case leaks memory.
R=vogelheim@chromium.org
Review URL: https://codereview.chromium.org/379563002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22281 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-08 14:13:50 +00:00
yangguo@chromium.org
0bc70a5f3e
Temporarily disable failing test.
...
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/374863004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22277 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-08 10:22:26 +00:00
yangguo@chromium.org
1aede5f400
Introduce code serializer/deserializer.
...
R=vogelheim@chromium.org
Review URL: https://codereview.chromium.org/373713006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22276 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-08 09:04:08 +00:00
marja@chromium.org
c393b9a576
Revert "Implement handling of arrow functions in the parser"
...
This reverts r22265.
Reason: ASAN tests fail.
BUG=
TBR=marja@chromium.org ,aperez@igalia.com
Review URL: https://codereview.chromium.org/372983003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22266 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-08 07:48:22 +00:00
marja@chromium.org
7367720daa
Implement handling of arrow functions in the parser
...
Arrow functions are parsed from ParseAssignmentExpression. Handling the
parameter list is done by letting ParseConditionalExpression() parse
a comma-separated list of identifiers, and it returns a tree of
BinaryOperation nodes with VariableProxy leaves, or a single
VariableProxy if there is only one parameter. When the arrow token "=>"
is found, the VariableProxy nodes are passed to ParseFunctionLiteral(),
which will then skip parsing the paramaeter list. This avoids having
to rewind when the arrow is found and restart parsing the parameter
list. Note that ParseExpression() expects parenthesized expressions
to not be empty, so checking for a closing parenthesis is added in
handling the empty parameter list "()" will accept a right-paren and
return an empty expression, which means that the parameter list is
empty.
Additionally, this adds the following machinery:
- A runtime flag "harmony_arrow_functions" (disabled by default).
Enabling "harmony" will enable it as well.
- An IsArrow bit in SharedFunctionInfo, and accessors for it.
- An IsArrow bit in FunctionLiteral, accessorts for it, and
a constructor parameter to set its value.
- In ParserBase: allow_arrow_functions() and set_allow_arrow_functions()
- A V8 native %FunctionIsArrow(), which is used to skip adding the
"function " prefix when getting the source code for an arrow
function.
R=marja@chromium.org
Review URL: https://codereview.chromium.org/160073006
Patch from Adrián Pérez de Castro <aperez@igalia.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22265 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-08 07:11:13 +00:00
yangguo@chromium.org
72441a1123
Reland "Postpone termination exceptions in debug scope."
...
BUG=v8:3408
LOG=Y
R=yurys@chromium.org
Review URL: https://codereview.chromium.org/364813002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22262 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-08 06:57:17 +00:00
weiliang.lin@intel.com
31134fafef
X87: More OStreamsUse OStreams more often
...
port r22232
original commit message:
This is a mostly mechanical CL (more than 90% Emacs macros and
query-replace-regexp) moving FILE*/StringStream*-based APIs to
OStream-based APIs. There are a few places where this had to stop,
otherwise the CL would be even bigger, but this can easily and
incrementally cleaned up later.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/379493002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22259 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-08 05:24:52 +00:00
verwaest@chromium.org
168523b542
Revert "Treat ExecutableAccessorInfo as regular data properties."
...
Temporarily revert since blink has some properties like this on the
prototype chain where it expects accessorpair-behavior (e.g.,
window.onload).
TBR=dslomov@chromium.org
BUG=
Review URL: https://codereview.chromium.org/378583002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22251 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-07 16:18:15 +00:00
verwaest@chromium.org
cef7b20ec0
Only create arguments-maps in the bootstrapper, remove now obsolete ValueType flag.
...
TBR=dslomov@chromium.org
BUG=
Review URL: https://codereview.chromium.org/375503008
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22245 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-07 13:27:37 +00:00
dslomov@chromium.org
7050e6fa06
Revert "Only create arguments-maps in the bootstrapper, remove now obsolete ValueType flag."
...
This reverts commit r22240 for breaking tests on Linux.
Revert "Remove SetOwnPropertyIgnoreAttribute uses from the bootstrapper"
This reverts commit r22241 for breaking tests on Linux.
TBR=verwaest@chromium.org
Review URL: https://codereview.chromium.org/371913002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22242 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-07 13:12:29 +00:00
verwaest@chromium.org
1ef7582e7e
Only create arguments-maps in the bootstrapper, remove now obsolete ValueType flag.
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/358363003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22240 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-07 12:21:01 +00:00
verwaest@chromium.org
251ae22156
Treat ExecutableAccessorInfo as regular data properties.
...
BUG=
R=dcarney@chromium.org , mvstanton@chromium.org
Review URL: https://codereview.chromium.org/368783006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22236 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-07 11:00:44 +00:00
svenpanne@chromium.org
018ef484b9
More OStreamsUse OStreams more often.
...
This is a mostly mechanical CL (more than 90% Emacs macros and
query-replace-regexp) moving FILE*/StringStream*-based APIs to
OStream-based APIs. There are a few places where this had to stop,
otherwise the CL would be even bigger, but this can easily and
incrementally cleaned up later.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/363323003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22232 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-07 09:57:29 +00:00
jochen@chromium.org
6d5d4b44b5
Remove a bunch of Isolate::UncheckedCurrent calls
...
The callbacks are per isolate, so we shouldn't get the isolate implicitly
from TLS. Also, we shouldn't allow calls to these methods prior to
initializing the respective isolate (and silently ignore them).
Esp. add a per-isolate API to set the stats counter callbacks and
make it possible to set the stats counter callback after the isolate
was touched.
Embedders should use e.g. isolate->SetCounterFunction(callback) instead
of v8::V8::SetCounterFunction(callback).
BUG=none
R=svenpanne@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/365153002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22223 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-07 07:19:46 +00:00
bmeurer@chromium.org
29667ff172
Properly seed the RNG for cctest/test-types.
...
This was broken since r21879, as the RandomNumberGenerator constructor
does no longer look at FLAG_random_seed implicitly.
TEST=cctest/test-types
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/370973002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22222 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-07 07:04:16 +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
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
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
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
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
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
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
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
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
yangguo@chromium.org
2adbfced35
Reland "Add mechanism to postpone interrupts selectively."
...
BUG=v8:3408
LOG=N
R=yurys@chromium.org
Review URL: https://codereview.chromium.org/359963004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22142 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 08:05:40 +00:00
jochen@chromium.org
539c6183e3
Revert "Reland 22105 "Remove static initializer from isolate""
...
BUG=none
TBR=yangguo@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/362893006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22141 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 07:44:02 +00:00
jochen@chromium.org
8fc4a8e1b3
Reland 22105 "Remove static initializer from isolate"
...
R=dcarney@chromium.org
LOG=n
BUG=none
Review URL: https://codereview.chromium.org/367583003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22139 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 07:04:44 +00:00
marja@chromium.org
7717f2366f
Handle "//# sourceURL" comments in the Parser instead of the JS.
...
BUG=v8:2948
LOG=N
R=svenpanne@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/316173002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22137 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 07:01:31 +00:00
hpayer@chromium.org
9bc3d1a8fe
Added a promotion queue unit test that test promotion queue memory corruption
...
by semi-space evacuation.
BUG=
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/362723003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22134 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 18:48:02 +00:00
rossberg@chromium.org
8a25b88722
Make freeze & friends ignore private properties
...
R=verwaest@chromium.org
BUG=v8:3419
LOG=Y
Review URL: https://codereview.chromium.org/355123006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22132 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 15:47:41 +00:00
ishell@chromium.org
2c94151e6e
Reland r22082 "Replace HeapNumber as doublebox with an explicit MutableHeapNumber."
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/334323003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22129 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 15:02:31 +00:00
yangguo@chromium.org
be35a9e768
Revert "ARM64: Faster immediate check and fix corner cases"
...
This reverts r22120 due to build breakage of arm64.debug target.
TBR=m.m.capewell@googlemail.com
Review URL: https://codereview.chromium.org/361973002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22123 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 13:50:46 +00:00
m.m.capewell@googlemail.com
95a3627609
ARM64: Faster immediate check and fix corner cases
...
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/341123003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22120 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 13:25:33 +00:00
verwaest@chromium.org
26eae0c429
Clean up the global object naming madness.
...
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/352173006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22117 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 12:12:34 +00:00
yangguo@chromium.org
4e4fb07c24
Disable test-spaces/SizeOfFirstPageIsLargeEnough for snapshot=off build.
...
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/368583002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22114 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 11:54:57 +00:00
alph@chromium.org
6b1c019776
Make JsNative1JsNative2JsSample cctest work on Win Release
...
MSVC optimization realizes that CallJsFunction2 is just the same as CallJsFunction, so it eliminates the former making the call stack contain two instances of the same function.
The patch makes two functions distinct.
LOG=N
BUG=v8:3055
R=aandrey@chromium.org , jkummerow@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/357383003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22113 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 10:10:12 +00:00
jochen@chromium.org
3c62545377
Move libplatform files into v8::platform namespace
...
BUG=none
R=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/336313017
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22107 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 08:15:09 +00:00
jochen@chromium.org
9acb3bcbb2
Revert 22105 "Remove static initializer from isolate"
...
Fails to run on mac
BUG=none
LOG=n
TBR=yangguo@chromium.org
Review URL: https://codereview.chromium.org/368503003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22106 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 07:07:50 +00:00
jochen@chromium.org
bb169b93ae
Remove static initializer from isolate
...
We don't have a default isolate anymore, so we can just create the
thread data and keys on demand
BUG=none
R=dcarney@chromium.org , svenpanne@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/337603010
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22105 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 06:43:14 +00:00
marja@chromium.org
570a0bf8f5
Parser: add usage counters for "use asm".
...
R=jochen@chromium.org
BUG=
Review URL: https://codereview.chromium.org/336863007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22093 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-30 13:35:16 +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
ishell@chromium.org
d1190c503d
Revert "Replace HeapNumber as doublebox with an explicit MutableHeapNumber."
...
This reverts commit r22082 for breaking arm64 build.
TBR=verwaest@chromium.org
Review URL: https://codereview.chromium.org/360023003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22083 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-30 10:19:31 +00:00
ishell@chromium.org
cea1824f58
Replace HeapNumber as doublebox with an explicit MutableHeapNumber.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/355793003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22082 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-30 09:44:43 +00:00
yangguo@chromium.org
965f7037c8
Revert "Add mechanism to postpone interrupts selectively."
...
This reverts commit r22073.
TBR=yurys@chromium.org
Review URL: https://codereview.chromium.org/362493002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22074 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-30 06:45:23 +00:00
yangguo@chromium.org
326bc2a533
Add mechanism to postpone interrupts selectively.
...
BUG=v8:3408
LOG=N
R=yurys@chromium.org
Review URL: https://codereview.chromium.org/359723005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22073 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-30 06:27:20 +00:00
verwaest@chromium.org
63431b23d1
Split SetProperty(...attributes, strictmode) into DefineProperty(...attributes) and SetProperty(...strictmode)
...
BUG=
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/351853005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22064 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-27 13:48:37 +00:00
yangguo@chromium.org
0133d96be3
Remove script collected debug event.
...
R=yurys@chromium.org
Review URL: https://codereview.chromium.org/358873005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22063 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-27 12:10:43 +00:00
svenpanne@chromium.org
23f747b953
Unbreak Win64 build (hopefully).
...
cpplint, our fragile overloading of CheckEqualsHelper and Win64 don't
really play together very well...
TBR=marja@chromium.org
Review URL: https://codereview.chromium.org/354143003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22056 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-27 10:01:44 +00:00
svenpanne@chromium.org
e25f833496
Added slim versions of output streams.
...
R=bmeurer@chromium.org , mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/352823003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22049 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-27 08:42:17 +00:00
yurys@chromium.org
0339d069d9
Add OnCompileError handler and v8::CompileError debug event.
...
This event is generated when the parser can not generate code.
R=vsevik@chromium.org , yangguo@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/264333007
Patch from Alexey Kozyatinskiy <kozyatinskiy@google.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22043 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-26 16:03:52 +00:00
rossberg@chromium.org
cb2419c615
Infer whether a variable is assigned in inner functions
...
R=titzer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/345573002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22039 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-26 11:59:42 +00:00
yangguo@chromium.org
7e9fc63d66
Reorder full code for while loops to better reflect statement positions.
...
R=jkummerow@chromium.org
BUG=v8:2047
LOG=N
Review URL: https://codereview.chromium.org/353823002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22013 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-25 12:42:28 +00:00
wingo@igalia.com
3454a45f5d
Test that trailing commas in object literals are allowed
...
ES6 will allow trailing commas in object literals. It turns out that V8
already allowed it, too, as does JSC and SpiderMonkey.
R=marja@chromium.org
BUG=
Review URL: https://codereview.chromium.org/350353002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22005 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-25 10:13:10 +00:00
alph@chromium.org
65e585fa38
CPU profiler: increase the max number of captured frames.
...
LOG=N
R=jkummerow@chromium.org , loislo@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/357443003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21986 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-24 16:00:51 +00:00
marja@chromium.org
62ffc7de20
New try: Parser: Delay internalizing strings and values
...
This is a reincarnation of r21841.
The previous try was https://codereview.chromium.org/314603004/ but it regressed
JSBench and morejs.
BUG=
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/335293004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21972 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-24 14:03:24 +00:00
haitao.feng@intel.com
5970d4fa10
Add X32 port into V8
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/18014003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21955 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-24 05:27:44 +00:00
vogelheim@chromium.org
7b7bb25a24
Support external startup data in V8.
...
[Re-retry of r21696 and r21739]
If the embedder chooses, the 'natives' (library sources) and the
precompiled startup blob can be written to files during the build
process and handed over to V8 at startup. The main purpose would be
to reduce the size of the compiled binary for space constrained
platforms.
The build-time option is off by default. Nothing should change if
it's not enabled.
BUG=
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/334913004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21941 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-23 13:52:17 +00:00
yangguo@chromium.org
9e3ba659d9
Run JS micro tasks in the appropriate context.
...
R=jochen@chromium.org
BUG=385349
LOG=Y
Review URL: https://codereview.chromium.org/332923003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21933 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-23 11:47:20 +00:00
verwaest@chromium.org
bd5f13ebc3
Remove specialized access checks and overwrites altogether. They are already handled by GetOwnPropertyAttributes (and GetPropertyAttributesWithFailedAccessChecks)
...
BUG=
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/331693006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21922 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-23 09:11:45 +00:00
verwaest@chromium.org
d06afb3ce0
Remove AccessControl from AccessorPairs, as it's an invalid usecase of AllCan*
...
BUG=
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/332863003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21918 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-23 09:02:16 +00:00
verwaest@chromium.org
d611bd896b
Simplify access checks performed by GetOwnProperty
...
BUG=
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/339553002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21917 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-23 08:53:27 +00:00
hpayer@chromium.org
100b9d836f
An object should only be promoted to the old generation if it survived a scavenge operation.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/345523002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21915 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-23 08:50:54 +00:00
marja@chromium.org
0f8251e1b8
test-parsing: Add functionality to specify "always true flags".
...
Many parsing tests need to pin a certain flag, and apart from the pinned flag,
we want to keep the "test with all combinations" behavior for the non-pinned
flags.
R=ulan@chromium.org
BUG=
Review URL: https://codereview.chromium.org/349603004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21900 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-20 12:28:13 +00:00
mstarzinger@chromium.org
fec6e62dfb
Check alpha-sorting of includes during presubmit.
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/333013002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21894 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-20 08:40:11 +00:00
yurys@chromium.org
a862f7819b
Added Message::GetScripOrigin.
...
Replaced Message::GetResourceName with GetScriptOrigin().ResourceName().
Now, GetScriptOrigin().ResourceName() function returns the resource name or sourceURL (from //# sourceURL=) for the script from where the function causing the error originates.
Method GetScriptResourceName() deprecated. Use GetScriptOrigin()->ResourceName() instead.
Function used in Blink: https://codereview.chromium.org/260513004/
R=yangguo@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/265593002
Patch from Alexey Kozyatinskiy <kozyatinskiy@google.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21893 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-20 07:44:05 +00:00
marja@chromium.org
9ad39a8043
Revert "Parser: Delay internalizing strings and values." (r21841)
...
Plus the fixes on top.
Reason: regresses benchmarks (JSBench) and perf (morejs).
TBR=rossberg@chromium.org
BUG=385404
LOG=N
Review URL: https://codereview.chromium.org/345513003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21882 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-18 07:30:56 +00:00
jochen@chromium.org
005410e8ea
Untangle RNG from v8 core
...
This will allow for using the RNG from platform files without depending on
isolates.
BUG=none
R=bmeurer@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/333053002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21879 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-17 16:27:19 +00:00
marja@chromium.org
3b53ba87c8
Fix: AstValueFactory must be internalized before ThrowPendingError.
...
R=rossberg@chromium.org
BUG=385193
LOG=N
Review URL: https://codereview.chromium.org/335373002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21872 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-17 11:48:37 +00:00
marja@chromium.org
5bbc92dee0
Throw syntax error when a getter/setter has the wrong number of params
...
We used to allow any number of parameters in getters and setters to
match JSC. This is a violation of ES5.1 and both SpiderMonkey and
Chakra throw on these syntax errors.
BUG=v8:3371
LOG=Y
R=marja@chromium.org
Review URL: https://codereview.chromium.org/329413002
Patch from Erik Arvidsson <arv@chromium.org>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21868 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-17 07:23:26 +00:00
jochen@chromium.org
9c2019b25c
Remove dependency on Vector from platform files
...
Add wrappers to utils.h instead.
BUG=none
R=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/328343003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21846 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-13 16:43:27 +00:00
marja@chromium.org
a290cf8cda
Parser: Delay internalizing strings and values.
...
This is needed so that we can run Parser on a non-main thread (independent
of the Isolate and the V8 heap).
BUG=
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/314603004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21841 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-13 13:31:56 +00:00
svenpanne@chromium.org
510ea9e529
Reland "Rename kIs64BitArch with kRequiresCodeRange."
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/331823002
Patch from Weiliang Lin <weiliang.lin@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21837 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-13 11:06:42 +00:00
dcarney@chromium.org
99d9abaf82
remove this == null
...
R=danno@chromium.org
BUG=chromium:381910
Review URL: https://codereview.chromium.org/336483002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21807 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 12:01:01 +00:00
rossberg@chromium.org
d757f378d3
Add v8::Promise::Then.
...
Blink needs v8::Promise::Then to implement ScriptPromise::then.
Blink-side CL: https://codereview.chromium.org/316453002
BUG=371288
LOG=Y
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/314553002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21805 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 11:33:30 +00:00
dcarney@chromium.org
44b0e2110e
filter cross context eval
...
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/294073002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21793 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 08:28:19 +00:00
svenpanne@chromium.org
b016d74864
Unbreak build.
...
TBR=ulan@chromium.org
Review URL: https://codereview.chromium.org/329053005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21764 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-11 09:34:25 +00:00
yurys@chromium.org
6cb9002057
V8 can clear exception pending message, when should not do this.
...
The case:
v8::TryCatch try_catch;
CompileRun(try { CEvaluate('throw 1;'); } finally {});
CHECK(try_catch.HasCaught());
CHECK(!try_catch.Message().IsEmpty());
CEvaluate is native call. Last check is not passed without patch. Patch contains test TryCatchFinallyStoresMessageUsingTryCatchHandler with more details.
R=yangguo@chromium.org , mstarzinger@chromium.org , vsevik@chromium.org
Review URL: https://codereview.chromium.org/321763002
Patch from Alexey Kozyatinskiy <kozyatinskiy@google.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21755 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-11 05:48:33 +00:00
danno@chromium.org
7c56c0e864
Reland 21720: Introduce FieldIndex to unify and abstract property/field offset
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/300283002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21746 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-10 14:01:08 +00:00
mstarzinger@chromium.org
3a58f23bcd
Temporary disabled failing tests on ARM64 no-snap.
...
R=machenbach@chromium.org
TEST=cctest/test-serialize
BUG=v8:3385
LOG=N
Review URL: https://codereview.chromium.org/324943002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21745 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-10 13:23:05 +00:00
machenbach@chromium.org
6ccf6f8bf8
Revert "Support external startup data in V8."
...
This reverts commit r21696 for breaking chromium windows compilation in the chromium cq.
Conflicts:
src/d8.cc
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/328693003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21740 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-10 10:51:33 +00:00
danno@chromium.org
ec57abdaa7
Revert 21720: "Introduce FieldIndex to unify and abstract property/field offset"
...
Due to assorted failures
R=mstarzinger@chromium.org
TBR=mstarzginer@chromium.org
Review URL: https://codereview.chromium.org/329463005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21732 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-10 09:00:10 +00:00
danno@chromium.org
ffc4ad0697
Introduce FieldIndex to unify and abstract property/field offset
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/300283002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21720 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-06 14:05:10 +00:00
yurys@chromium.org
5586f1f309
Revert "V8 can clear exception pending message, when should not do this."
...
This reverts commit 2c6665a7a21bd38f3dea28eb9b303f913c69be8d. Broke too many tests.
TBR=yangguo@chromium.org
BUG=None
LOG=N
Review URL: https://codereview.chromium.org/318773006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21698 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-05 13:58:57 +00:00
yurys@chromium.org
6c57157587
V8 can clear exception pending message, when should not do this.
...
The case:
v8::TryCatch try_catch;
CompileRun(try { CEvaluate('throw 1;'); } finally {});
CHECK(try_catch.HasCaught());
CHECK(!try_catch.Message().IsEmpty());
CEvaluate is native call. Last check is not passed without patch. Patch contains test TryCatchFinallyStoresMessageUsingTryCatchHandler with more details.
R=mstarzinger@chromium.org , vsevik@chromium.org , yangguo@chromium.org
Review URL: https://codereview.chromium.org/306463002
Patch from Alexey Kozyatinskiy <kozyatinskiy@google.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21697 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-05 13:07:53 +00:00
vogelheim@chromium.org
ba9f391bc0
Support external startup data in V8.
...
[Retry of crrev.com/293993021, which caused problems with 'ninja all' in Chromium. First patch set if a clean apply
of crrev.com/293993021. Subsequent sets are the actual fix
for that issue.]
If the embedder chooses, the 'natives' (library sources) and the
precompiled startup blob can be written to files during the build
process and handed over to V8 at startup. The main purpose would be
to reduce the size of the compiled binary for space constrained
platforms.
The build-time option is off by default. Nothing should change if
it's not enabled.
BUG=
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/315033002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21696 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-05 13:06:21 +00:00
marja@chromium.org
16be5bb377
Compilation API: next step of deprecations.
...
Remove deprecated functions and deprecated Script::GetId (which was supposed to
be deprecated, but Chrome was using it).
R=dcarney@chromium.org , svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/315003003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21695 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-05 13:02:18 +00:00
jochen@chromium.org
799fc835f8
Move atomic ops and related files to base library
...
BUG=none
R=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/316133002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21693 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-05 12:14:47 +00:00
mvstanton@chromium.org
e039477000
Revert "Support external startup data in V8."
...
This reverts commit r21646, as it blocks pushing to chromium.
TBR=vogelheim@chromium.org
Review URL: https://codereview.chromium.org/317633003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21666 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-04 08:35:42 +00:00
weiliang.lin@intel.com
ba38bb579b
X87: Temporarily skip cctest/test-serialize tests in debug mode
...
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/307373002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21661 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-04 01:40:07 +00:00
adamk@chromium.org
13d2f365cc
Add API support for passing a C++ function as a microtask callback
...
This allows embedders to enqueue microtasks without having any v8::Context
handy, as happens in Blink in some cases (such as DOM mutations due to editing
triggering MutationObservers).
LOG=Y
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/306053003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21658 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 20:12:19 +00:00
rmcilroy@chromium.org
97c962c255
Add support for extended constant pool arrays.
...
This CL adds support for ConstantPoolArrays which contain an extended section.
This will be used to enable larger constant pools than can be addressed by a
single ldr with immediate offset instruction (which has a limit of a 4KB range).
Extended constant pools will have a small section, which is addressable via a
single ldr instruction, and an extended section, which will require a multi-
instruction sequence to load from.
Currently, no code uses the extended ConstantPoolArray's - this change will
be made in a followup CL.
A number of changes are made to the ConstantPoolArray object in order to
support this:
- Small section layout is now entirely defined by the small layout bitmaps.
- The ConstantPoolArray no longer extends FixedArrayBase since the length
field is not useful for extended layouts.
- Enums are used to represent the type of an entry and the layout section.
- An iterator can be used to iterate through all elements of a given type.
- A number of tests were added for these features.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/304143002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21653 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 16:22:10 +00:00
ishell@chromium.org
55443af648
Fixed lint errors caused by "runtime/references" rule (Is this a non-const reference?) and the rule itself is restored.
...
BUG=v8:3326
LOG=N
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/314723002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21651 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 15:45:38 +00:00
marja@chromium.org
2f1daf4aaa
Fix leaky tests added by r21649.
...
TBR=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/313653002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21650 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 15:39:47 +00:00
marja@chromium.org
350a3329ed
Add tests for FuncNameInferrer.
...
There were no explicit tests for FuncNameInferrer (though, some tests might
implicitly rely on it working properly in the common cases). Afaics, there were
no tests which would exercise inferring two byte function names or escaped
function names.
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/310063002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21649 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 15:02:16 +00:00
vogelheim@chromium.org
61509aaea5
Support external startup data in V8.
...
If the embedder chooses, the 'natives' (library sources) and the
precompiled startup blob can be written to files during the build
process and handed over to V8 at startup. The main purpose would be
to reduce the size of the compiled binary for space constrained
platforms.
The build-time option is off by default. Nothing should change if
it's not enabled.
BUG=
R=bmeurer@chromium.org , jochen@chromium.org
Review URL: https://codereview.chromium.org/293993021
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21646 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 14:38:35 +00:00
jochen@chromium.org
a980e51471
Add DEPS files and run checkdeps in presubmit check
...
BUG=none
R=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/312763002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21642 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 13:39:42 +00:00
mvstanton@chromium.org
e093f3f0d3
Adjust cctest.status for Cpu profiler tests which are flaky.
...
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/307383003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21637 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 13:18:16 +00:00
rossberg@chromium.org
396c169e7c
Fix test
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/306353002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21628 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 09:34:29 +00:00
jochen@chromium.org
55e65935c9
Fix compilation on win shared and mips
...
TBR=mvstanton@chromium.org
LOG=n
BUG=none
Review URL: https://codereview.chromium.org/309983002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21627 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 08:29:03 +00:00
ishell@chromium.org
b58a08d998
Fix PathTracer.
...
When tracing, we abuse the map for marking, thereby mutating it.
HeapObject::map() takes care of recovering unabused value.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/316533002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21626 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 08:28:38 +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
hpayer@chromium.org
b8c3ee40ab
Tenure allocation sites only when semi-space is maximum size.
...
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/309623007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21623 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 07:55:38 +00:00
adamk@chromium.org
2e2eb6a07e
Split Put into Put and Remove
...
No longer treat the hole as a removal. This removes one branch in
Put and cleans up the API.
BUG=None
LOG=Y
R=adamk@chromium.org , mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/309663005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21616 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 00:53:16 +00:00
adamk@chromium.org
509a1a405c
ES6: Add support for values/keys/entries for Map and Set
...
This allows code like this:
var map = new Map();
map.set(1, 'One');
...
var iter = map.values();
var res;
while (!(res = iter.next()).done) {
print(res.value);
}
BUG=v8:1793
LOG=Y
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/259883002
Patch from Erik Arvidsson <arv@chromium.org>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21615 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 00:34:01 +00:00
yangguo@chromium.org
97e550985e
Release execution lock before dispatching interrupt handling.
...
R=yurys@chromium.org
Review URL: https://codereview.chromium.org/309533009
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21605 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-02 12:07:37 +00:00
yangguo@chromium.org
f1357a21d2
Some debugger-related clean-ups and renamings.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/300553008
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21604 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-02 11:41:50 +00:00
verwaest@chromium.org
60a71d8a8c
Remove PROHIBITS_OVERWRITING as it is subsumed by non-configurable properties.
...
v8::DontDelete is set for Unforgeable properties, so just not setting PROHIBITS_OVERWRITING should be enough.
The secondary "feature" of not allowing accessors to be installed in extending objects is incorrect and confusing, given that it only applies to accessors but not to regular properties:
Object.defineProperty({__proto__:window}, "location", { value: 10 })
works where
Object.defineProperty({__proto__:window}, "location", { get: function() {} })
doesn't work.
LOG=y
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/306203002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21596 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-02 11:02:06 +00:00
yangguo@chromium.org
50cba82cb9
Remove unused debug API.
...
R=yurys@chromium.org
Review URL: https://codereview.chromium.org/303693010
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21590 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-02 06:22:09 +00:00
bmeurer@chromium.org
e9357a5e77
Refactor HType to get rid of various hacks.
...
- Move HType to it's own file.
- Add HType::HeapObject and some other useful types.
- Get rid of the broken and useless HType::NonPrimitive.
- Introduce HType::FromType() to convert from HeapType to HType.
- Also add unit tests for HType.
- Fix types in Crankshaft.
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/300893003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21578 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-29 04:13:50 +00:00
adamk@chromium.org
20eeff9ae4
Allow microtasks to throw exceptions and handle them gracefully
...
If the embedder calls V8::TerminateExecution while we're running microtasks, bail out
and clear any pending microtasks.
All other exceptions are simply swallowed. No current Blink or V8 microtasks throw, this
just ensures something sane happens if another embedder decides to pass a throwing
microtask (or if ours unexpectedly throw due to, e.g., stack exhaustion).
BUG=371566
LOG=Y
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/294943009
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21574 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 18:40:04 +00:00
rossberg@chromium.org
0589ba7017
Split Distributivity test
...
TBR=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/298253008
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21572 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 15:05:53 +00:00
mvstanton@chromium.org
8c54a373dd
Changing the attributes of a data property implemented with
...
ExecutableAccessorInfo turns the property into a field. Better
to keep it as a callback, and correctly deal with the changed
property attributes.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/262053011
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21558 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 09:58:27 +00:00
mvstanton@chromium.org
5f7fed0134
Repairs to FLAG_pretenure_call_new.
...
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/307583002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21553 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 08:39:33 +00:00
mstarzinger@chromium.org
3812677b42
Make incremental marker post-process JSWeakCollection.
...
R=hpayer@chromium.org
BUG=v8:2070
LOG=N
Review URL: https://codereview.chromium.org/301553003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21552 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 08:35: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
yangguo@chromium.org
5599b3a743
Fix path tracer test.
...
Path tracer is not compatible with --enable-slow-assert.
R=mstarzinger@chromium.org
BUG=v8:3350
LOG=N
Review URL: https://codereview.chromium.org/297193005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21542 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 06:42:01 +00:00
rossberg@chromium.org
68a1a59556
Remove cpp hack to avoid link failures on Windows
...
TBR=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/298133005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21532 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 14:26:32 +00:00
rossberg@chromium.org
7ac892c8bd
Establish distributivity for type union & intersection
...
This requires introducing proper bounds on all leaf types, so that intersection between bitsets and these types can be accurately represented. Extending a union also becomes more involved.
(On the upside, the modified union/intersect algorithm would now allow support for proper variance for function types.)
Not sure if it is worth landing this. Distributivity isn't really a crucial property for our use cases. It seems fine if intersection is slightly lossy.
R=bmeurer@chromium.org , jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/251753005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21528 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 13:52:31 +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
yangguo@chromium.org
4309b34e40
Skip PathTracer test for now.
...
TBR=mstarzinger@chromium.org
BUG=3350
LOG=N
Review URL: https://codereview.chromium.org/305583002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21526 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 13:40:40 +00:00
yangguo@chromium.org
1630b6d83c
Fix PathTracer.
...
When tracing, we abuse the map for marking, thereby mutating it.
FixedTypedArrayBase::size() uses the object's map, which causes crash.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/300753002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21523 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 13:05:11 +00:00
hpayer@chromium.org
0fde744d00
Escape % in SNPrintF call in pretenuring test.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/298183002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21513 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 08:41:12 +00:00
jochen@chromium.org
84e078e561
Reland 21502 - "Move OS::MemCopy and OS::MemMove out of platform to utils"
...
Verified that arm builds locally.
BUG=none
TBR=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/306473004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21512 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 07:57:22 +00:00
hpayer@chromium.org
b3c067ff03
Remove global pretenuring mode.
...
BUG=
R=bmeurer@chromium.org , mvstanton@chromium.org
Review URL: https://codereview.chromium.org/304493002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21511 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 07:48:36 +00:00
jochen@chromium.org
eabd5a19b9
Revert 21502 - "Move OS::MemCopy and OS::MemMove out of platform to utils"
...
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/297303004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21504 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 19:56:27 +00:00
jochen@chromium.org
a5a21a0da4
Move OS::MemCopy and OS::MemMove out of platform to utils
...
Since both are jitted on some platforms and depend on codegen, they
don't belong to the platform abstraction. At the same time, I can't put
them to codegen.h, as this would introduce cyclic dependencies.
BUG=none
R=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/302563004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21502 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 19:33:15 +00:00
jochen@chromium.org
0f73456d3f
Move NumberOfProcessorsOnline from CPU to OS
...
It's really more an OS-level information, and this way the default
platform doesn't depend on CPU-level details
BUG=none
R=yangguo@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/300713002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21501 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 15:18:45 +00:00
rossberg@chromium.org
9516c181a1
More nuisance
...
TBR=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/297323004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21497 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 13:33:06 +00:00
rossberg@chromium.org
2fbc98a65a
Shut up VS
...
TBR=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/298073005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21495 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 13:24:59 +00:00
rossberg@chromium.org
dbf7d8528c
Various extensions to types
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/296213005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21494 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 13:10:52 +00:00
hpayer@chromium.org
6ed0102b1d
Remove high promotion mode.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/296413004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21493 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 12:58:55 +00:00
marja@chromium.org
2b7810c09c
Fix mem leaks in tests & ScriptCompiler::CompileUnbound.
...
- Leak in test-parsing/DontRegressPreParserDataSizes
- Leak in test-api/EventLogging
- Leak in ScriptCompiler::CompileUnbound which won't happen during normal
operation, but exposed by test-apöi/CompiledWithInvalidCachedData.
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/302603002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21488 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 11:04:32 +00:00
danno@chromium.org
9c485e182b
Introduce x87 port
...
Support x87-only platform (ia32 without SSE)
R=danno@chromium.org
Review URL: https://codereview.chromium.org/293743005
Patch from Weiliang Lin <weiliang.lin@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21469 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 16:37:27 +00:00
dslomov@chromium.org
45ab7d5266
Check for cached transition to ExternalArray elements kind.
...
R=ishell@chromium.org , verwaest@chromium.org
BUG=v8:3337
LOG=Y
Review URL: https://codereview.chromium.org/291193011
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21466 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 14:01:17 +00:00
mstarzinger@chromium.org
a2082b256d
Revert "Make v8::TryCatch able to consume natively thrown exceptions (again)."
...
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/296133013
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21461 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 11:12:25 +00:00
yurys@chromium.org
7741fe0466
Support ES6 weak collections in heap profiler
...
BUG=chromium:376196
LOG=Y
R=alph@chromium.org , yangguo@chromium.org
Review URL: https://codereview.chromium.org/294163005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21460 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 11:05:22 +00:00
rodolph.perfetta@arm.com
123608ab9b
ARM64 simulator fix for EXTR
...
Fixes extract when imms = 0 because a left shift of 64 is not valid.
R=rodolph.perfetta@arm.com , svenpanne@chromium.org
Review URL: https://codereview.chromium.org/286193004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21459 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 09:41:41 +00:00
ishell@chromium.org
4b9c03050a
Reland r21442 "Inobject slack tracking is done on a per-closure basis instead of per-shared info basis."
...
This fixes inobject slack tracking for prototype inheritance pattern that uses closures.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/292183008
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21457 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 08:52:05 +00:00
mstarzinger@chromium.org
473d3e1e71
Make v8::TryCatch able to consume natively thrown exceptions (again).
...
R=yangguo@chromium.org
BUG=chromium:362388
TEST=cctest/test-api/TryCatchNative
LOG=N
Review URL: https://codereview.chromium.org/291393002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21456 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 08:34:10 +00:00
ishell@chromium.org
9f3183f76b
Revert "Reland r21346 "Inobject slack tracking is done on a per-closure basis instead of per-shared info basis.""
...
This reverts r21442.
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/292433016
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21444 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 17:13:28 +00:00
ishell@chromium.org
00b8e6128f
Reland r21346 "Inobject slack tracking is done on a per-closure basis instead of per-shared info basis."
...
This fixes inobject slack tracking for prototype inheritance pattern that uses closures.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/290993009
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21442 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 16:22:23 +00:00
rossberg@chromium.org
06f746a576
Consistently say 'own' property
...
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/291153005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21441 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 15:27:57 +00:00
ishell@chromium.org
58932c6c44
Revert "Inobject slack tracking is done on a per-closure basis instead of per-shared info basis."
...
This reverts r21436.
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/295933012
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21437 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 13:38:32 +00:00
ishell@chromium.org
4a47cc5f63
Inobject slack tracking is done on a per-closure basis instead of per-shared info basis.
...
This fixes inobject slack tracking for prototype inheritance pattern that uses closures.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/283383006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21436 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 12:35:45 +00:00
yurys@chromium.org
8751323701
Add support for ES6 Symbol in heap profiler
...
Heap profiler will create a node with name Symbol and type kSymbol.
BUG=chromium:376194
LOG=Y
R=loislo@chromium.org , yangguo@chromium.org
Review URL: https://codereview.chromium.org/290013004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21433 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 11:26:48 +00:00
mstarzinger@chromium.org
acec73631c
Revert "Make v8::TryCatch able to consume natively thrown exceptions"
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/293123003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21432 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 11:16:05 +00:00
jarin@chromium.org
3d0bf69cd8
Attempt no. 3 to fix Heap::IsHeapIterable and HeapIterator.
...
Now we remember new space's top pointer after the last GC to find out if there was a new space allocation since the last GC.
Unfortunately, this not completely safe - the debugger has a callback hook (that can call to JS) at the end of the GC epilogue that can in theory allocate and possibly make the heap non-iterable. We can only hope this does not happen.
BUG=373283
R=hpayer@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/291193005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21431 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 11:13:37 +00:00
yangguo@chromium.org
d0398c08ce
Make serializer non-static.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/296853007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21430 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 09:36:20 +00:00
jkummerow@chromium.org
0829572ee8
Revert "Rename target-specific binaries built for host."
...
The Android build system support for gyp has been fixed to handle
target-dependent host binaries correctly without requiring them to
include the target architecture in the name. Remove the suffixes to make
referring to these targets simpler again.
This reverts r14209.
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/236833004
Patch from Richard Coles <torne@chromium.org>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21428 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 09:04:24 +00:00
mstarzinger@chromium.org
38d30d781f
Make v8::TryCatch able to consume natively thrown exceptions.
...
R=yangguo@chromium.org , haraken@chromium.org
BUG=chromium:362388
TEST=cctest/test-api/TryCatchNative
LOG=N
Review URL: https://codereview.chromium.org/287133005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21427 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 08:46:01 +00:00
yangguo@chromium.org
6fd69c2476
Remove special debug ExternalReferences.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/296043002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21421 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 07:57:33 +00:00
alph@chromium.org
a7e816db28
Introduce a separate event for CodeDeopt
...
The reuse of CodeCreateEvent for deopt events caused a CodeCreateEvent
fired twice for a code object. When the event was processed for the first
time it seized the no-fp-ranges from code object, so the second event
had no ranges info leaving code entry without them.
As a result when a cpu profile sample falls into the region it missed the
2nd stack frame.
LOG=N
BUG=
R=bmeurer@chromium.org , loislo@chromium.org
Review URL: https://codereview.chromium.org/290093005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21418 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 05:36:27 +00:00
adamk@chromium.org
ccf8b20443
Fix OrderedHashSet::Remove caller in debug-only code after r21408
...
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/294473011
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21409 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-21 12:31:31 +00:00
adamk@chromium.org
9f86a91e76
Teach OrderedHashSet::Remove to report whether it actually removed anything
...
This avoids an unnecessary runtime call from Set.prototype.delete().
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/290733008
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21408 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-21 12:16:47 +00:00
jarin@chromium.org
02f1a1b987
Revert "Fix Heap::IsHeapIterable." (again)
...
This reverts commit r21397.
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/299813002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21404 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-21 09:49:18 +00:00
marja@chromium.org
910050e6d9
Fix UnboundScript::GetScriptName and GetLineNumber.
...
Probably broken since r19925 (mine).
R=dcarney@chromium.org
BUG=
Review URL: https://codereview.chromium.org/296043004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21398 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-21 07:32:32 +00:00
jarin@chromium.org
58a130da6e
Reland "Fix Heap::IsHeapIterable."
...
This relands r21388 (+ handlification of an offending function).
BUG=373283
LOG=N
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/294903003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21397 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-21 06:44:38 +00:00
jarin@chromium.org
014bf8b407
Revert "Fix Heap::IsHeapIterable."
...
This reverts commit r21387.
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/291193002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21388 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-20 14:03:38 +00:00
jarin@chromium.org
dd4c82bbb3
Fix Heap::IsHeapIterable.
...
We only consider heap iterable if the new space is empty (in addition to the exisiting old space check).
The change also moves the iterability forcing + allocation prevention gadgets to HeapIterator so that it is impossible to miss them when iterating the heap.
R=hpayer@chromium.org
BUG=373283
LOG=N
Review URL: https://codereview.chromium.org/285693006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21387 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-20 13:19:21 +00:00
yangguo@chromium.org
cf49b6e3ca
Reland "Simplify debugger state."
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/299653002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21378 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-20 08:52:42 +00:00
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
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
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
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
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
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
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
ulan@chromium.org
d7c81b557c
Temporarily skip test-heap/NoWeakHashTableLeakWithIncrementalMarking on Windows.
...
BUG=3331
LOG=N
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/286783002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21305 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-14 12:28:34 +00:00
ulan@chromium.org
4d92ce5752
Fix test after r21299.
...
This fixes Win and Mac test failures.
TBR=danno@chromium.org
Review URL: https://codereview.chromium.org/282863005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21303 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-14 11:43:21 +00:00
ulan@chromium.org
876b48f384
Skip write barriers when updating the weak hash table.
...
Write barrier on the weak hash table makes all its pointers strong,
which can cause a memory leak.
BUG=359401
LOG=Y
TEST=cctest/test-heap/NoWeakHashTableLeakWithIncrementalMarking
R=hpayer@chromium.org , mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/284773004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21299 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-14 09:12:21 +00:00
yangguo@chromium.org
20a627183f
Rename debug API methods.
...
R=yurys@chromium.org
Review URL: https://codereview.chromium.org/281733002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21295 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-14 08:07:21 +00:00
yangguo@chromium.org
a7a6abbde6
Require CMOV support for the ia32 port.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/275253004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21279 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-13 08:16:26 +00:00
Jacob.Bramley@arm.com
e876dab9ad
ARM64: Fix and improve MacroAssembler::Printf.
...
- W-sized values passed to Printf are now handled correctly by the
simulator. In AAPCS64, int32_t and int64_t are passed in the same
way, so this didn't affect non-simulator builds.
- Since Printf now records the type and size of each argument, it is
possible to mix argument types.
- It is now possible to print the stack pointer. There is only one
remaining restriction: The `csp` register cannot be printed unless
it is the current stack pointer. This is because it is modified by
BumpSystemStackPointer when the caller-saved registers are
preserved.
BUG=
R=rmcilroy@chromium.org
Review URL: https://codereview.chromium.org/268353005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21272 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-12 15:44:21 +00:00
yangguo@chromium.org
3ccedf8952
Clean up debugger flags.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/261253005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21270 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-12 13:47:01 +00:00
verwaest@chromium.org
a773cd7271
Replace NewFunctionWithPrototype(name, prototype) by NewFunction(name)
...
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/268063008
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21235 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 16:39:33 +00:00
yangguo@chromium.org
3fa6100ed3
Require SSE2 support for the ia32 port.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/275433004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21223 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 13:01:50 +00:00
ishell@chromium.org
ff2d004f85
Presubmit checks recover:
...
1) runtime/references checks temporarily disabled (56 items left)
2) other errors fixed
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/277913002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21222 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 12:59:24 +00:00
rmcilroy@chromium.org
2ba3716e4a
Reland - Arm64: Ensure that csp is always aligned to 16 byte values even if jssp is not.
...
Even although the Arm64 specification specifies that csp
only needs to be aligned to 16 bytes if it is dereferenced, some
implementations show poor performance.
Also makes the following change:
- Enable CPU support for arm64 to enable probing of cpu implementer and cpu part.
- Add ALWAYS_ALIGN_CSP CpuFeature for Arm64 and set it based on runtime probing of the cpu imp
- Rename PrepareForPush and PrepareForPop to PushPreamble and PopPostamble and move PopPostabl
Original Review URL: https://codereview.chromium.org/264773004
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/271543004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21221 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 12:51:52 +00:00
yangguo@chromium.org
f56701f30c
Clean up Debugger::NotifyMessageHandler.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/276433004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21210 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 09:24:32 +00:00
yangguo@chromium.org
c02ad39c10
Clean up stack guard interrupts.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/264233005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21208 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 09:13:12 +00:00
svenpanne@chromium.org
9e1abe4d68
Reland "Removed default Isolate."
...
Changes compared to original CL: Until the Serializer/Isolate chaos is
cleaned up, we can't initalize/dispose cctests in a tidy way, see
cctest.cc.
BUG=359977
LOG=y
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/267383002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21205 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 08:40:18 +00:00
hpayer@chromium.org
de21c8a245
Simplify ConfigureHeap and change --max_new_space_size to --max_semi_space_size.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/271843005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21204 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 08:38:27 +00:00
alph@chromium.org
a2221e08b5
DevTools: Unflake test-cpu-profiler/JsNativeJsRuntimeJsSample
...
BUG=v8:3308
LOG=N
R=bmeurer@chromium.org , jochen@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/271683002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21198 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-08 09:47:17 +00:00
mstarzinger@chromium.org
ca11434e51
Broaden test expectation for ARM64.
...
R=machenbach@chromium.org
BUG=v8:3154
TEST=cctest/test-heap/ReleaseOverReservedPages
Review URL: https://codereview.chromium.org/270303005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21192 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-07 16:13:04 +00:00
bmeurer@chromium.org
11f0e77562
Revert "Arm64: Ensure that csp is always aligned to 16 byte values even if jssp is not." and "Arm64: Fix check errors on Arm64 debug after r21177.".
...
This reverts commit r21177 and r21179 for breaking the arm64 build.
TBR=rmcilroy@chromium.org
Review URL: https://codereview.chromium.org/271623002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21184 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-07 06:40:50 +00:00
rmcilroy@chromium.org
67ff68783a
Arm64: Fix check errors on Arm64 debug after r21177.
...
r21177 added extra AssertStackConsistency() checks which
increased code size on debug and caused the assembler buffer
to be too large. Increased some of these buffers to
compensate.
Also, ProfileEntryHoolStub could use the wrong number of
instructions for kProfileEntryHookCallSize depending upon
whether debug code was being emitted or ALWAYS_ALIGN_CSP was
enabled. Fixed this by taking ALWAYS_ALIGN_CSP into account
and ensuring that no debug code is emitted during
MaybeCallEntryHook().
TBR=ulan@chromium.org
Review URL: https://codereview.chromium.org/263213008
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21179 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-06 19:07:31 +00:00
rossberg@chromium.org
ae0a36ee32
Re^3-land "Ship promises and weak collections"
...
R=jochen@chromium.org
BUG=
Review URL: https://codereview.chromium.org/266243003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21173 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-06 14:48:34 +00:00
svenpanne@chromium.org
e9e373e8c9
Revert "Removed default Isolate."
...
This reverts commit r21167, cctest/test-serialize has to be fixed first.
TBR=dcarney@chromium.org
Review URL: https://codereview.chromium.org/267163002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21170 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-06 13:06:12 +00:00
svenpanne@chromium.org
9b4bd33551
Removed default Isolate.
...
There is probably room for more cleanup after this...
BUG=359977
LOG=y
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/262163006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21167 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-06 11:48:26 +00:00
mvstanton@chromium.org
f2903b6f6c
Fix for 3303 MultithreadedParallelIsolates has a race condition.
...
The fix is to make the code aging sequence hang off the isolate.
BUG=v8:3303
R=svenpanne@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/261953002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21165 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-06 11:25:37 +00:00
Jacob.Bramley@arm.com
77d6bca46f
ARM64: Use default-NaN mode to canonicalize NaNs.
...
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/255343004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21156 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-06 08:05:27 +00:00
adamk@chromium.org
3274485c50
Store JSGlobalProxy's identity hash directly on the proxy itself
...
Previously, the hash was stored on the underlying global object, since
it was stored in the hidden property table. This patch moves to an
implementation modeled on JSProxy, adding a new 'hash' field to JSGlobalProxy.
This allows storing the global proxy in a Map, Set, WeakMap, or WeakSet and
accessing it even after the proxy has been attached to a new global, which
is Firefox's current behavior and was the consensus of a recent thread on public-script-coord:
http://lists.w3.org/Archives/Public/public-script-coord/2014AprJun/0012.html
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/254433002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21150 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-05 18:27:57 +00:00
hpayer@chromium.org
dde49c9dc3
Set max new space size in tests to proper MB value.
...
Revert "Limit old space size in test which require a large new space."
This reverts commit r21103.
Revert "Remove max space limits in tests."
This reverts commit r21104.
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/263103006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21149 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-05 16:48:33 +00:00
marja@chromium.org
98cd283399
Remove symbol preparse data altogether.
...
Removing it seems to be a clear win on mobile: producing symbol data makes cold
parsing 20-30% slower, and having symbol data doesn't make warm parsing any
faster.
Notes:
- V8 used to produce symbol data, but because of a bug, it was never used until
recently. (See fix https://codereview.chromium.org/172753002 which takes the
symbol data into use again.)
- On desktop, warm parsing is faster if we have symbol data, and producing it
during cold parsing doesn't make parsing substantially slower. However, this
doesn't seem to be the case on mobile.
- The preparse data (cached data) will now contain only the positions of the
lazy functions.
BUG=
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/261273003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21146 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-05 14:55:13 +00:00
jochen@chromium.org
12b2f9d6de
Fix cctest.status typo
...
TBR=ishell@chromium.org
BUG=none
LOG=n
Review URL: https://codereview.chromium.org/266823004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21144 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-05 13:56:39 +00:00
jochen@chromium.org
7d2b13b4ca
Mark test-cpu-profiler/JsNativeJsRuntimeJsSample as flaky
...
BUG=v8:3308
LOG=n
TBR=yurys@chromium.org
Review URL: https://codereview.chromium.org/268093002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21143 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-05 13:29:10 +00:00
adamk@chromium.org
5ea893074c
Fix ObjectNotifierPerformChange leak after r21126
...
Due to overlapping names of natives and runtime functions, the wrong
context was used for Notifier.prototype.performChange. The leak test
has been augmented to properly cover the leaky case, and the test
now passes.
Also tightened up type checks in runtime.cc and removed Object.observe
functions from knownIssues in fuzz-natives-part2.js.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/264793015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21129 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-02 21:29:15 +00:00
jochen@chromium.org
4dd8b11171
Introduce a microtask suppression scope and move microtask methods to isolate
...
BUG=369503
R=adamk@chromium.org
LOG=y
TEST=cctest/test-api/SetAutorunMicrotasks
Review URL: https://codereview.chromium.org/263933002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21128 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-02 19:30:54 +00:00
rafaelw@chromium.org
7c138a7370
Don't leak contexts in Object.observe
...
The Object.observe API may construct internal structures as a result of API calls. These structures can persist as long as an object that was once observed persists. This patch ensures that these structures are created in the correct context so as to avoid leaking contexts
R=verwaest@chromium.org , dcarney
BUG=
Review URL: https://codereview.chromium.org/263833007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21126 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-02 16:13:10 +00:00
rafaelw@chromium.org
1b270ef5ea
Re-enable Object.observe and add enforcement for security invariants.
...
This patch reverts r21062 which disabled Object.observe and the relevant tests.
It also adds enforcement for the following three invariants:
1) No observer may receive a change record describing changes to an object which is in different security origin (context have differing security tokens)
2) No observer may receive a change record whose context's security token is different from that of the object described by the change.
3) Object.getNotifier will return null if the caller and the provided object are in differing security origins
Further, it ensures that the global object can never be observed nor a notifier retrieved for it.
Tests are included.
R=verwaest@chromium.org , rossberg
LOG=Y
Review URL: https://codereview.chromium.org/265503002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21122 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-02 13:55:11 +00:00
mvstanton@chromium.org
53d7aa29bb
v8:3303 MultithreadedParallelIsolates has a race condition
...
Disabling test until bug is fixed.
R=svenpanne@chromium.org
BUG=v8:3303
LOG=N
Review URL: https://codereview.chromium.org/263893003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21120 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-02 12:59:48 +00:00
yangguo@chromium.org
88144ee17f
Kiss goodbye to MaybeObject.
...
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/259173003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21086 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-30 12:25:18 +00:00
mvstanton@chromium.org
15dc39a86f
Simplify feedback vector creation and store in SharedFunctionInfo.
...
LOG=N
BUG=v8:3212
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/254623002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21085 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-30 10:51:01 +00:00
hpayer@chromium.org
c7768f4cd8
Remove BootUpMemoryUse test.
...
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/254273002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21073 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-30 08:19:38 +00:00
yangguo@chromium.org
ace81fd71b
Hide some more heap allocators.
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/252213002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21069 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-30 06:26:50 +00:00
danno@chromium.org
55fbf13ec1
disable Object.observe
...
R=danno@chromium.org , danno
BUG=
Review URL: https://codereview.chromium.org/252063003
Patch from Rafael Weinstein <rafaelw@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21062 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-29 15:11:57 +00:00
ishell@chromium.org
9ca2fc30a9
OrderedHashTable::FindEntry() handlified.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/260313003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21057 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-29 14:16:38 +00:00
ishell@chromium.org
c3d349f028
OrderedHashMap::Lookup() and ObjectHashTable::Lookup() handlified.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/256743008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21055 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-29 14:09:14 +00:00
yangguo@chromium.org
30e2802e12
Hide heap methods where possible.
...
Factory is already a friend class of Heap.
We introduce a TestHeap class in cctest.h to access protected methods.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/247263003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21053 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-29 13:58:55 +00:00
ishell@chromium.org
c8e95c411c
JSObject::GetHiddenProperty() handlified.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/255153002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21052 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-29 13:51:14 +00:00
yangguo@chromium.org
99d9712bb0
Return MaybeHandle from Object::ToSmi.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/260083011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21047 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-29 13:18:27 +00:00
dcarney@chromium.org
7b1e830489
Remove String::Visit
...
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/254763008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21046 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-29 13:09:31 +00:00
danno@chromium.org
af46ecddda
Micro-optimizations to pop() and shift()
...
R=verwaest@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/247613002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21043 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-29 11:33:39 +00:00
ulan@chromium.org
1a2d652658
Remove old-style accessor support from runtime.
...
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/258243003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21041 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-29 10:59:14 +00:00
ulan@chromium.org
39c4b3c18d
Fix android_arm64 build after r21001.
...
BUG=
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/253873010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21040 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-29 10:58:16 +00:00
yangguo@chromium.org
14f132c2d9
Refactor calls to CALL_HEAP_FUNCTION.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/258953009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21036 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-29 07:02:11 +00:00
yangguo@chromium.org
ee0cd292d7
Tighten OpenHandle's extra checks.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/240113010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21022 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-28 13:42:03 +00:00
yangguo@chromium.org
0b8d76f74d
Fix assertion when collecting stack trace from debug break.
...
R=mstarzinger@chromium.org
BUG=v8:3296
LOG=N
Review URL: https://codereview.chromium.org/256113003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21015 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-28 12:08:17 +00:00
alph@chromium.org
a9655b7d37
Add timestamps to CPU profile samples.
...
BUG=363976
LOG=Y
R=bmeurer@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/259803002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20993 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 18:53:06 +00:00
jochen@chromium.org
c27da0c9b2
Remove static CallCompletedCallback handlers
...
BUG=none
R=svenpanne@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/249313002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20985 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 13:49:22 +00:00
jochen@chromium.org
8795d02bfd
Enter a description of the change.
...
Reland 20968 - "Merge v8utils.* and utils.*"
> BUG=none
> R=mstarzinger@chromium.org
> LOG=n
>
> Review URL: https://codereview.chromium.org/256753002
BUG=none
LOG=n
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/250733004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20984 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 13:47:01 +00:00
ishell@chromium.org
3ce912038e
ObjectHashTable's key and WeakHashTable's key types are now Handle<Object> instead of Object*.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/257853003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20982 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 13:35:03 +00:00
ishell@chromium.org
fd02e1220c
HashTable::New() handlified.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/257633002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20980 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 13:06:21 +00:00
jochen@chromium.org
f2a1176f90
Revert 20968 - "Merge v8utils.* and utils.*"
...
> BUG=none
> R=mstarzinger@chromium.org
> LOG=n
>
> Review URL: https://codereview.chromium.org/256753002
BUG=none
LOG=n
TBR=danno@chromium.org
Review URL: https://codereview.chromium.org/250823003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20975 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 12:21:32 +00:00
yangguo@chromium.org
cb2f43cb14
Always include debugger support.
...
Motivation: we do not have test coverage for debuggersupport=off.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/256653004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20969 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 11:00:37 +00:00
jochen@chromium.org
c0380f6a56
Merge v8utils.* and utils.*
...
BUG=none
R=mstarzinger@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/256753002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20968 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 10:57:34 +00:00
hpayer@chromium.org
20107bf2d8
Remove lazy sweeping.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/254603002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20966 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 09:50:42 +00:00
plind44@gmail.com
01ef9aef0a
MIPS: CodeStubs contain their corresponding Isolate* now. (part 2)
...
Port r20940 (a5dde97)
Original commit message:
This CL mechanically removes all useless Isolate* parameters from code
stub functions, making things quite a bit simpler.
BUG=359977
LOG=y
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/251473004
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20945 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-24 14:51:25 +00:00
plind44@gmail.com
bb1abb7f01
MIPS: CodeStubs contain their corresponding Isolate* now. (part 1)
...
Port r20919 (aa51355)
Original commit message:
This is a purely mechanical change, adding an Isolate* to the CodeStub
constructor and a corresponding field plus a getter. A few methods in
CodeStub and its subclasses can be simplified now, but this is done in
a separate CL.
The underlying reason apart from simplicity is that deep down in the
call chain we need to detect if the serializer is active or not. This
information will be part of the Isolate, not a global variable with
funky synchronization primitives around it (which is fundamentally
wrong and the underlying cause for race conditions and a catch-22
during initialization).
BUG=359977
LOG=y
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/252383005
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20944 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-24 14:42:33 +00:00
svenpanne@chromium.org
b8d27f9d38
CodeStubs contain their corresponding Isolate* now. (part 2)
...
This CL mechanically removes all useless Isolate* parameters from code
stub functions, making things quite a bit simpler.
BUG=359977
LOG=y
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/255543003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20940 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-24 12:07:40 +00:00
ulan@chromium.org
484442d1f5
Mark test-cpu-profiler/SampleWhenFrameIsNotSetup as flaky.
...
BUG=v8:3287
LOG=N
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/252493002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20930 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-24 09:23:38 +00:00
hpayer@chromium.org
738f85c7d8
Don't move the object start of objects on non-swept pages.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/255603002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20929 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-24 09:04:12 +00:00
ishell@chromium.org
e493dc9ca9
Tiny cleanup.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/247953003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20925 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-24 08:35:04 +00:00
svenpanne@chromium.org
dd30db9021
CodeStubs contain their corresponding Isolate* now. (part 1)
...
This is a purely mechanical change, adding an Isolate* to the CodeStub
constructor and a corresponding field plus a getter. A few methods in
CodeStub and its subclasses can be simplified now, but this is done in
a separate CL.
The underlying reason apart from simplicity is that deep down in the
call chain we need to detect if the serializer is active or not. This
information will be part of the Isolate, not a global variable with
funky synchronization primitives around it (which is fundamentally
wrong and the underlying cause for race conditions and a catch-22
during initialization).
BUG=359977
LOG=y
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/246643014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20919 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-24 06:25:42 +00:00
ishell@chromium.org
4591771820
StringTable::LookupKey() and all callers handlified.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/249103002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20915 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-23 15:43:39 +00:00
yangguo@chromium.org
6d250412f1
Clean up some uses of Failures and MaybeObjects.
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/245963007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20914 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-23 15:08:03 +00:00
ulan@chromium.org
6cae9d1ce8
Allow Object.defineProperty to update value of an API accessor.
...
This is needed for converting internal accessors to API accessors and can break blink tests.
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/240573004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20910 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-23 13:05:38 +00:00
svenpanne@chromium.org
eeb1d7020e
Revert "Simplify v8/Isolate teardown."
...
This reverts commit r20876, it broke non-snapshot tests.
TBR=bmeurer@chromium.org
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20879 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-22 10:45:43 +00:00
svenpanne@chromium.org
206dbe87e7
Bumped the boot-up memory-limit, part 2.
...
Basically a follow-up to r20851
TBR=jarin@chromium.org
Review URL: https://codereview.chromium.org/247193003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20878 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-22 09:40:18 +00:00
svenpanne@chromium.org
618ff3a3f5
Simplify v8/Isolate teardown.
...
This implies that one better has a v8::V8::Initialize when v8::V8::Dispose is used.
BUG=359977
LOG=y
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/238353015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20876 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-22 09:24:56 +00:00
verwaest@chromium.org
c9db6148a9
Set code on the SharedFunctionInfo before creating the function.
...
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/238773009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20873 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-22 08:30:09 +00:00
yangguo@chromium.org
c44dc2fc3d
Fix interpreted-regexp test.
...
TBR=ishell@chromium.org
Review URL: https://codereview.chromium.org/246953002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20869 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-22 06:54:16 +00:00
adamk@chromium.org
1572115483
Fix breakage on V8 Linux - nosse2
...
This was introduced by https://code.google.com/p/v8/source/detail?r=20857
R=adamk@chromium.org
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/241433002
Patch from Erik Arvidsson <arv@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20858 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-17 19:39:48 +00:00
adamk@chromium.org
3308cb5857
ES6: Add support for Map/Set forEach
...
This implements MapIterator and SetIterator which matches
the same constructs in the ES6 spec. However, these 2
iterators are not exposed to user code yet. They are only
used internally to implement Map.prototype.forEach and
Set.prototype.forEach.
Each iterator has a reference to the OrderedHashTable where
it directly accesses the hash table's entries.
The OrderedHashTable has a reference to the newest iterator
and each iterator has a reference to the next and previous
iterator, effectively creating a double linked list.
When the OrderedHashTable is mutated (or replaced) all the
iterators are updated.
When the iterator iterates passed the end of the data table
it closes itself. Closed iterators no longer have a
reference to the OrderedHashTable and they are removed from
the double linked list. In the case of Map/Set forEach, we
manually call Close on the iterator in case an exception was
thrown so that the iterator never reached the end.
At this point the OrderedHashTable keeps all the non finished
iterators alive but since the only thing we currently expose
is forEach there are no unfinished iterators outside a forEach
call. Once we expose the iterators to user code we will need
to make the references from the OrderedHashTable to the
iterators weak and have some mechanism to close an iterator
when it is garbage collected.
BUG=1793, 2323
LOG=Y
R=adamk@chromium.org
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/238063009
Patch from Erik Arvidsson <arv@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20857 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-17 17:45:32 +00:00
mstarzinger@chromium.org
1213ecb50b
Make Heap::AllocateRaw*String private.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/241023002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20856 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-17 14:58:03 +00:00
mvstanton@chromium.org
9ce1c5144a
Serializer enable/disable flags need thread safety.
...
BUG=
R=hpayer@chromium.org , svenpanne@chromium.org
Review URL: https://codereview.chromium.org/240193002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20855 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-17 14:45:06 +00:00
jarin@chromium.org
3277f2b90b
Bump up the boot-up memory limit.
...
... to compansate for the extre memory consumed by r20840
("Select function map based on prototype and shared function info.")
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/239513015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20851 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-17 13:58:51 +00:00
mstarzinger@chromium.org
1def20d5ef
Make Heap::AllocateRaw private.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/238443016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20849 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-17 13:53:06 +00:00
ishell@chromium.org
313844d842
Heap::AllocateStringFromOneByte() and major part of its callers handlified.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/239243018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20846 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-17 13:27:02 +00:00
mstarzinger@chromium.org
1c314382c0
Extend GCMole to also cover cctest files.
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/240933002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20841 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-17 11:57:08 +00:00
hpayer@chromium.org
39b5090f8e
Grow old generation slower on low-memory devices.
...
BUG=
R=mstarzinger@chromium.org , rmcilroy@chromium.org
Review URL: https://codereview.chromium.org/236063015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20837 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-17 11:27:45 +00:00
rossberg@chromium.org
6d475fb350
Fix handlification bug in test
...
R=bmeurer@chromium.org , mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/240603004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20835 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-17 09:30:41 +00:00
palfia@homejinni.com
ec73d3db09
Adjust memory limits.
...
- Introduce new constant: kBootCodeSizeMultiplier to handle the code size differences across the platforms.
- Increase memory limits due to larger code size on MIPS.
BUG=
R=danno@chromium.org , plind44@gmail.com
Review URL: https://codereview.chromium.org/234153002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20825 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-16 21:57:48 +00:00
adamk@chromium.org
91618cf1e9
Revert "ES6: Add support for Map/Set forEach"
...
This reverts https://code.google.com/p/v8/source/detail?r=20823
It broke Windows builds. Will need to find a Windows try bot to figure
out why.
TBR=mstarzinger@chromium.org ,arv@chromium.org
Review URL: https://codereview.chromium.org/238973011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20824 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-16 21:19:25 +00:00
adamk@chromium.org
7c300d1f83
ES6: Add support for Map/Set forEach
...
This implements MapIterator and SetIterator which matches
the same constructs in the ES6 spec. However, these 2
iterators are not exposed to user code yet. They are only
used internally to implement Map.prototype.forEach and
Set.prototype.forEach.
Each iterator has a reference to the OrderedHashTable where
it directly accesses the hash table's entries.
The OrderedHashTable has a reference to the newest iterator
and each iterator has a reference to the next and previous
iterator, effectively creating a double linked list.
When the OrderedHashTable is mutated (or replaced) all the
iterators are updated.
When the iterator iterates passed the end of the data table
it closes itself. Closed iterators no longer have a
reference to the OrderedHashTable and they are removed from
the double linked list. In the case of Map/Set forEach, we
manually call Close on the iterator in case an exception was
thrown so that the iterator never reached the end.
At this point the OrderedHashTable keeps all the non finished
iterators alive but since the only thing we currently expose
is forEach there are no unfinished iterators outside a forEach
call. Once we expose the iterators to user code we will need
to make the references from the OrderedHashTable to the
iterators weak and have some mechanism to close an iterator
when it is garbage collected.
BUG=1793,2323
LOG=Y
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/240323003
Patch from Erik Arvidsson <arv@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20823 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-16 21:12:27 +00:00
rossberg@chromium.org
926ec656de
Implement structural function and array types
...
Just wanted to add two constructors to a datatype, how ugly can it get?
R=bmeurer@chromium.org , jarin@chromium.org
BUG=
Committed: https://code.google.com/p/v8/source/detail?r=20809
Committed: https://code.google.com/p/v8/source/detail?r=20815
Review URL: https://codereview.chromium.org/228263005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20817 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-16 16:16:37 +00:00
rossberg@chromium.org
e3e81d85bb
Revert "Implement structural function and array types"
...
TBR=jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/237963016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20816 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-16 15:59:39 +00:00
rossberg@chromium.org
6782d9cea3
Implement structural function and array types
...
Just wanted to add two constructors to a datatype, how ugly can it get?
R=bmeurer@chromium.org , jarin@chromium.org
BUG=
Committed: https://code.google.com/p/v8/source/detail?r=20809
Review URL: https://codereview.chromium.org/228263005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20815 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-16 15:42:22 +00:00
rossberg@chromium.org
a947aeb315
Revert "Implement structural function and array types"
...
TBR=jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/240143003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20810 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-16 13:57:25 +00:00
rossberg@chromium.org
7de4c1c63f
Implement structural function and array types
...
Just wanted to add two constructors to a datatype, how ugly can it get?
R=bmeurer@chromium.org , jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/228263005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20809 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-16 13:44:26 +00:00
yangguo@chromium.org
7af5597287
Reland "Move functions from handles.cc to where they belong."
...
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/239113009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20807 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-16 13:28:11 +00:00
yangguo@chromium.org
0cba01c420
Revert "Move functions from handles.cc to where they belong."
...
This reverts r20802 .
TBR=jarin@chromium.org
Review URL: https://codereview.chromium.org/239543010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20804 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-16 12:35:50 +00:00
yangguo@chromium.org
3b66957602
Move functions from handles.cc to where they belong.
...
R=mvstanton@chromium.org , ulan@chromium.org
Review URL: https://codereview.chromium.org/237673014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20802 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-16 12:16:06 +00:00
bmeurer@chromium.org
e05b58f0b0
Improve execution time of cctest/test-types.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/239513009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20798 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-16 11:56:51 +00:00
yangguo@chromium.org
5e02daca21
Fix unused variable warnings.
...
TBR=jarin@chromium.org
Review URL: https://codereview.chromium.org/238543008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20797 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-16 11:50:24 +00:00
yangguo@chromium.org
17b33fa1da
Handlify code allocation.
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/235153003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20795 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-16 11:38:56 +00:00
verwaest@chromium.org
cf26c1421a
Move property addition code from JSObject to Map
...
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/238543005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20791 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-16 10:45:57 +00:00
yangguo@chromium.org
139be49fcf
Remove some uses of MaybeObject methods.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/236303015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20786 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-16 07:26:34 +00:00
yangguo@chromium.org
9a71bc722d
Remove further unhandlified call sites of number allocations.
...
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/239143003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20785 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-16 06:18:37 +00:00
adamk@chromium.org
a44e10cad6
Revert "ES6: Add support for Map/Set forEach"
...
This reverts commit https://code.google.com/p/v8/source/detail?r=20781 .
It broke the Win32 builders.
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/239163012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20782 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-16 01:03:56 +00:00
adamk@chromium.org
a1af5a2a2f
ES6: Add support for Map/Set forEach
...
This implements MapIterator and SetIterator which matches
the same constructs in the ES6 spec. However, these 2
iterators are not exposed to user code yet. They are only
used internally to implement Map.prototype.forEach and
Set.prototype.forEach.
Each iterator has a reference to the OrderedHashTable where
it directly accesses the hash table's entries.
The OrderedHashTable has a reference to the newest iterator
and each iterator has a reference to the next and previous
iterator, effectively creating a double linked list.
When the OrderedHashTable is mutated (or replaced) all the
iterators are updated.
When the iterator iterates passed the end of the data table
it closes itself. Closed iterators no longer have a
reference to the OrderedHashTable and they are removed from
the double linked list. In the case of Map/Set forEach, we
manually call Close on the iterator in case an exception was
thrown so that the iterator never reached the end.
At this point the OrderedHashTable keeps all the non finished
iterators alive but since the only thing we currently expose
is forEach there are no unfinished iterators outside a forEach
call. Once we expose the iterators to user code we will need
to make the references from the OrderedHashTable to the
iterators weak and have some mechanism to close an iterator
when it is garbage collected.
BUG=1793,2323
LOG=Y
R=adamk@chromium.org , mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/236143002
Patch from Erik Arvidsson <arv@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20781 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-16 00:40:03 +00:00
plind44@gmail.com
5a016958c6
MIPS: Add big-endian support for MIPS.
...
Important notices:
- The snapshot cannot be created for big-endian target in cross-compilation
environment on little-endian host using simulator.
- In order to have i18n support working on big-endian target, the icudt46b.dat and
icudt46b_dat.S files should be generated and upstreamed to ICU repo.
- The mjsunit 'nans' test is endian dependent, it is skipped for mips target.
- The zlib and Mandreel from Octane 2.0 benchmark are endian dependent due to
use of typed arrays.
TEST=
BUG=
R=jkummerow@chromium.org , plind44@gmail.com
Review URL: https://codereview.chromium.org/228943009
Patch from Dusan Milosavljevic <Dusan.Milosavljevic@rt-rk.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20778 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-15 16:39:21 +00:00
rossberg@chromium.org
7b7f787e3b
Re-reland "More tests for Union & Intersect"
...
R=jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/237143002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20733 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 15:35:36 +00:00
yangguo@chromium.org
01fc2ab69b
Allow allocation and GC in access check callbacks.
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/234913003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20730 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 14:03:20 +00:00
hpayer@chromium.org
c1435b0832
Don't run tests that rely on compaction when compaction is turned off.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/236203010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20728 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 13:52:41 +00:00
verwaest@chromium.org
de50f63f16
Clean up the public interface of Map.
...
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/234573005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20716 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 11:19:37 +00:00
rossberg@chromium.org
b73257b7a3
Revert "Reland "More tests for Union & Intersect""
...
Need to reproduce wrong result only occurring with ASAN.
TBR=jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/236873002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20712 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 09:46:56 +00:00
mvstanton@chromium.org
a9db3bc868
Some tests and simplified TransitionArray copying
...
Tests for verifying that we deal correctly with shrinking transition
arrays while allocating a copy of one.
Also, we can rely on a transition array only shrinking and not
disappearing during gc while copying one.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/232883003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20710 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 08:58:00 +00:00
rossberg@chromium.org
a3d743b470
Reland "More tests for Union & Intersect"
...
Fixes size approximation in Intersect. Also lowers the number of fuzzed types in test, to address time-outs.
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/226523004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20706 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 08:46:39 +00:00
yangguo@chromium.org
7d987b3744
Allow GetScriptNameOrSourceURL to be called with exception pending.
...
R=jarin@chromium.org , ishell@chromium.org
Review URL: https://codereview.chromium.org/235943006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20705 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 08:27:00 +00:00
marja@chromium.org
d70f78827e
Fail the compilation if the cached data is invalid.
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/234953002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20703 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 07:35:46 +00:00
yangguo@chromium.org
80a974ba00
Reland "Handlify GetProperty."
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/235083002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20689 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-11 12:47:34 +00:00
dcarney@chromium.org
ee9f7f8942
Revert "More tests for Union & Intersect"
...
This reverts r20684.
TBR=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/235133002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20687 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-11 12:33:20 +00:00
mvstanton@chromium.org
c5eaf80707
Handlify Map::CopyDropDescriptors().
...
* And contain knowledge better in TransitionArray and DescriptorArray (for example WhitenessWitness is now private to DescriptorArray).
* And remove some factory methods
* And handlify some other things.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/234783002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20686 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-11 12:13:53 +00:00
yangguo@chromium.org
93c9717473
Revert "Handlify GetProperty."
...
This reverts r20682.
TBR=dcarney@chromium.org
Review URL: https://codereview.chromium.org/234893003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20685 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-11 11:56:54 +00:00
rossberg@chromium.org
80d8460a20
More tests for Union & Intersect
...
Some fixes of corner cases on the way
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/230923005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20684 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-11 11:53:35 +00:00
marja@chromium.org
069d783a91
Remove the PreCompile API and ScriptData.
...
The new compilation API (ScriptCompiler::Compile) can produce the same data, so
the separate precompilation phase is not needed. ScriptData is replaced by
ScriptCompiler::CachedData.
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/225753004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20683 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-11 11:44:49 +00:00
yangguo@chromium.org
a3d68ca64d
Handlify GetProperty.
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/233233004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20682 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-11 11:26:22 +00:00
yangguo@chromium.org
380ae9810e
Return MaybeHandle from Invoke.
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/231883007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20680 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-11 10:41:09 +00:00
ulan@chromium.org
ff953ac055
Make maps in monomorphic IC stubs weak.
...
Maps in monomorphic Load, KeyedLoad, Store, KeyedStore, and CompareNil IC
stubs are treated as weak references by the marking visitor.
During generation of an IC stub with a weak map, the stub is appended to the
dependent code array of the map. When the map dies, all stubs in its dependent
code array are invalidated by setting embedded maps to undefined.
BUG=v8:2073
LOG=Y
TEST=cctest/test-heap/WeakMapInMonomorphic*IC
R=mstarzinger@chromium.org , verwaest@chromium.org
Review URL: https://codereview.chromium.org/188783003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20679 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-11 10:36:09 +00:00
yangguo@chromium.org
a640707213
Implement handlified String::Equals and Name::Equals.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/225823003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20669 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-11 07:27:25 +00:00
svenpanne@chromium.org
b460910644
x64: Make sure that the upper half of a 64bit register contains 0 for int32 values.
...
BUG=360611
LOG=y
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/225393005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20664 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-11 06:32:06 +00:00
bmeurer@chromium.org
990b57ba1d
Treat uninitialized as internal type.
...
TEST=cctest/test-types
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/232913002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20650 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-10 11:51:03 +00:00
rossberg@chromium.org
cf4eddd3f8
Yet more type system tests
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/232843002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20649 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-10 11:49:18 +00:00
ishell@chromium.org
32735ae3a9
Object::GetElements() and friends maybehandlification.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/231103002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20644 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-10 09:20:11 +00:00
bmeurer@chromium.org
c5b6e76ada
Fix compiler warnings on Win64.
...
TEST=cctest/test-types
TBR=rossberg@chromium.org
Review URL: https://codereview.chromium.org/232773002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20643 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-10 09:14:46 +00:00
bmeurer@chromium.org
4620ae5cf1
Fix symmetry of Maybe() predicate. Fix bug in NowContains() predicate.
...
Add tests for TypeImpl::Of(), TypeImpl::NowOf() and
TypeImpl::NowContains(). Improves the implementation of
TypeImpl::NowIs() to match that of TypeImpl::NowContains().
Mark test-types with NO_VARIANTS to speedup testing, since
the variants do not affect the type system at all.
Also improve test coverage for types.
TEST=cctest/test-types
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/230673002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20639 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-10 08:04:50 +00:00
bmeurer@chromium.org
5a564648dd
Improve reproducibility of test runs.
...
Add random seed to run-tests.py, using either a user supplied
value or a random number generated by random.SystemRandom().
This same random seed is passed to all test cases, making sure
that we can easily reproduce test failures that depend on
random numbers (i.e. bugs related to our handwritten ASLR).
Also fix all uses of rand() to make use of our RNG class
instead.
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/231443002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20637 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-10 07:25:49 +00:00
mvstanton@chromium.org
41b6c8a0f1
Handlefy Descriptor and other code in objects.cc
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/228333003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20628 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-09 14:26:32 +00:00
machenbach@chromium.org
1b841f369d
Fix test expectations for nosnap windows.
...
BUG=v8:3216
LOG=n
TBR=dcarney@chromium.org
Review URL: https://codereview.chromium.org/230913002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20627 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-09 14:01:03 +00:00
ishell@chromium.org
74e7a4ad07
ElementsAccessor::SetLength() maybehandlified.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/229943006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20621 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-09 13:16:19 +00:00
machenbach@chromium.org
3d427b5599
Skip tests in nosnap mode.
...
Depends on https://codereview.chromium.org/230743002/ .
BUG=v8:3216
LOG=n
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/230583003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20618 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-09 13:01:54 +00:00
jochen@chromium.org
dc4ba08d17
Allow the embedder to pass the virtual memory limit to v8
...
The getrlimit() call might be sandboxed, so it's not safe to use it.
BUG=none
R=mstarzinger@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/228923002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20615 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-09 12:45:56 +00:00
yangguo@chromium.org
aee76a059a
Remove calls to non-handlified version of GetProperty(name).
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/229973004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20611 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-09 12:21:47 +00:00
bmeurer@chromium.org
a0ac88db82
Fix various bugs in the type systems, and improve test coverage.
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/230463003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20609 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-09 11:12:15 +00:00
hpayer@chromium.org
c85cc472e7
Introduced Atomic8 and added no-barrier Atomic8 accessors.
...
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/228613005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20598 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-09 08:20:10 +00:00
adamk@chromium.org
902ad4a17a
Use OrderedHashTables as the backing store of JSSet and JSMap
...
This also deletes ObjectHashSet as it's no longer used.
BUG=v8:1793
LOG=N
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/225183009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20585 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-08 20:06:35 +00:00
rossberg@chromium.org
91dec1adfe
Shut up Windows and ASAN
...
TBR=dcarney@chromium.org
BUG=
Review URL: https://codereview.chromium.org/226883003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20575 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-08 11:13:26 +00:00
rossberg@chromium.org
19f924a2ae
Reland "Refactoring to allow adding new structured types"
...
Same as before, except that it's now using a void array instead of a struct, to shut up Clang warnings.
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/224733023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20574 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-08 10:50:56 +00:00
yangguo@chromium.org
ed9f1af2fc
Implement handlified String::Flatten.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/228093004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20572 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-08 09:49:49 +00:00
yangguo@chromium.org
3726ba90a7
Change exception type to Object.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/227163008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20571 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-08 09:44:24 +00:00
yangguo@chromium.org
23dbc85bd7
Fix more MUST_USE_RESULT warnings.
...
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/228233002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20563 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-08 07:54:27 +00:00
dcarney@chromium.org
1d138ecdd5
Revert "Refactoring to allow adding new structured types"
...
This reverts commit r20538 for breaking gcmole.
TBR=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/228223002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20562 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-08 07:48:47 +00:00
yangguo@chromium.org
9ed8c39cac
Return MaybeHandle from SetElement and DeleteElement.
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/227573002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20560 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-08 07:04:13 +00:00
alexandre.rames@arm.com
622ddd3495
ARM64: Introduce a version of ADR handling distant targets.
...
This fixes an out-of-range label error for an ADR instruction in the
mozilla/data/js1_5/Regress/regress-280769-2.js test.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/222433002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20545 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-07 12:33:03 +00:00
rossberg@chromium.org
32f295314c
Refactoring to allow adding new structured types
...
Also, simplfy representation of zone types, using a simple struct.
R=bmeurer@chromium.org
BUG=
LOG=N
Review URL: https://codereview.chromium.org/225923002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20538 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-07 11:00:41 +00:00
dcarney@chromium.org
1b31d2b34a
Skip a bunch of new failing nacl tests
...
R=machenbach@chromium.org
BUG=
Review URL: https://codereview.chromium.org/227133006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20535 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-07 10:44:48 +00:00
yangguo@chromium.org
e7f0beeaa6
Make String.prototype.contains
throw when passing a regular expression
...
Contributed by Mathias Bynens <mathiasb@opera.com>.
TEST=mjsunit/harmony
BUG=v8:3261
LOG=Y
R=yangguo@chromium.org , arv@chromium.org , ishell@chromium.org
Review URL: https://codereview.chromium.org/227113005
Patch from Mathias Bynens <mathiasb@opera.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20534 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-07 10:24:01 +00:00
bmeurer@chromium.org
448486ed48
Use distinct maps for oddballs with special handling in the type system.
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/227473002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20531 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-07 09:41:13 +00:00
adamk@chromium.org
8e9eebeba1
OrderedHashTable implementation with Set and Map interfaces
...
OrderedHashTable is an insertion-ordered HashTable based on
Jason Orendorff's writeup of a data structure attributed to Tyler Close:
https://wiki.mozilla.org/User:Jorend/Deterministic_hash_tables
It is intended as the new backing store for JSSet/JSMap, as ES6 requires
insertion-order-based iteration. Note, however, that in the interest of
keeping the initial check-in small this patch does not yet include any
iteration support.
This change also doesn't yet touch any existing behavior, but in
a branch I've verified that these structures pass the existing
JSSet/JSMap mjsunit tests.
BUG=v8:1793
LOG=N
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/220293002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20522 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-04 20:41:57 +00:00
marja@chromium.org
3d1a17c2ac
Update tests to use the new compilation API + related fixes.
...
Esp. get rid of PreCompile in tests, as it's going to be removed.
Notes:
- The new compilation API doesn't have a separate precompilation phase, so there
is no separate way to check for errors except checking the compilation
errors. Removed some tests which don't make sense any more.
- test-api/Regress31661 didn't make sense as a regression test even before the
compilation API changes, because Blink doesn't precompile this short scripts. So
detecting this kind of errors (see crbug.com/31661 for more information) cannot rely
on precompilation errors.
- test-parsing/PreParserStrictOctal has nothing to do with PreParser, and the comment
about "forcing preparsing" was just wrong.
- test-api/PreCompile was supposed to test that "pre-compilation (aka
preparsing) can be called without initializing the whole VM"; that's no longer
true, since there's no separate precompilation step in the new compile
API. There are other tests (test-parsing/DontRegressPreParserDataSizes) which
ensure that we produce cached data.
- Updated tests which test preparsing to use PreParser directly (not via the
preparsing API).
- In the new compilation API, the user doesn't need to deal with ScriptData
ever. It's only used internally, and needed in tests that test internal aspects
(e.g., modify the cached data before passing it back).
- Some tests which used to test preparse + parse now test first time parse +
second time parse, and had to be modified to ensure we don't hit the
compilation cache.
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/225743002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20511 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-04 12:36:23 +00:00
yangguo@chromium.org
dd7bb01688
Return MaybeHandle from SetProperty.
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/225283005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20509 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-04 12:06:11 +00:00
rmcilroy@chromium.org
3eb418df78
Fix fixed-point vcvt_f64_s32 immediate value encoding
...
The (32 - fraction_bits) value should be encoded so that the least
significant bit is set to bit 5 and the four next bits to bits 0-3. Fix
the previously incorrect encoding. This bug did not cause behavioral
issues before, since in existing uses of the function the order of the
bits in the immediate value does not matter, as they are all 1.
BUG=3256
LOG=N
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/223623003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20508 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-04 11:12:40 +00:00
alexandre.rames@arm.com
1f38f42ef1
ARM64: Fixes and more support for FRINT<X> instructions.
...
Fix simulation and tests for the [-0.5, -0.0[ range for FRINTA and FRINTN, and
add support for FRINTM.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/223843002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20487 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-03 14:30:44 +00:00
yangguo@chromium.org
eedc4c01f5
Return MaybeHandle from NewExternalStringFrom*.
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/223653003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20481 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-03 12:41:37 +00:00
yangguo@chromium.org
164e5b580c
Reland "Return MaybeHandle from NewConsString."
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/223813002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20480 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-03 12:30:37 +00:00
yangguo@chromium.org
893f413434
Return MaybeHandle from NewRaw???String.
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/223573002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20479 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-03 12:30:08 +00:00
yangguo@chromium.org
87dd16e3cd
Revert "Return MaybeHandle from NewConsString."
...
This reverts r20473.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/223593004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20475 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-03 12:09:14 +00:00
yangguo@chromium.org
be0d2f5d15
Return MaybeHandle from NewConsString.
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/223383002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20473 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-03 11:38:01 +00:00
alexandre.rames@arm.com
a6d6cd08a1
ARM64: Fix cctest/test-disasm-arm64/debug on real hardware.
...
Without the 'BREAK' parameter, no instruction is generated when we are not
running with the simulator.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/221903004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20443 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 15:45:13 +00:00
verwaest@chromium.org
ca6b727665
Replace CopyMap(constructor->initial_map()) by Map::Create(constructor)
...
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/218633014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20437 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 13:30:36 +00:00
rossberg@chromium.org
2fda95eb80
Make stray 'return' an early error
...
As required by the spec, and implemented by other browsers.
(Plus minor clean-up for redeclaration TypeErrors.)
R=marja@chromium.org
BUG=
LOG=Y
Review URL: https://codereview.chromium.org/220473014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20434 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 12:38:01 +00:00
alph@chromium.org
923fbafc15
Show references from weak containers as weak in heap snapshots.
...
BUG=356590
LOG=Y
R=ulan@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/213673006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20429 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 11:19:53 +00:00
rossberg@chromium.org
45118bfdfb
Make invalid LHSs that are calls late errors
...
Necessary for web legacy compatibility.
Also fold in additional strict mode checks into LHS checks.
Minor constness clean-ups on the way.
R=marja@chromium.org
BUG=chromium:358346
LOG=Y
Review URL: https://codereview.chromium.org/217823003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20428 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 11:03:05 +00:00
jochen@chromium.org
b4c3d2f9ba
Skip cctest/test-lockers/MultithreadedParallelIsolates on windows
...
It's already marked as FAIL, PASS everywhere anyways.
BUG=v8:3215
LOG=n
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/221173003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20415 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 19:20:31 +00:00
yurys@chromium.org
681c15eb4e
Remove debugger_auto_break flag
...
The flag was introduced to support console debugger in Chrome. That debugger was replaced by DevTools long time ago and the flag is always true now.
BUG=None
LOG=Y
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/220743003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20393 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 11:23:23 +00:00
yangguo@chromium.org
c0fa861726
Do not check for interrupt when allocating stack locals.
...
R=dcarney@chromium.org
BUG=357137
LOG=N
Review URL: https://codereview.chromium.org/219373004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20357 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-31 14:14:54 +00:00
jochen@chromium.org
b7039334ae
Revert 20313 - "Ship promises and weak collections"
...
> R=mstarzinger@chromium.org
> BUG=
>
> Committed: https://code.google.com/p/v8/source/detail?r=20211
>
> Review URL: https://codereview.chromium.org/206163004
R=rossberg@chromium.org
TBR=rossberg@chromium.org
LOG=y
BUG=n
Review URL: https://codereview.chromium.org/219303002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20353 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-31 12:40:32 +00:00
jochen@chromium.org
617531da8f
Skip cctest/test-mark-compact/NoPromotion on ARM64
...
BUG=v8:3247
TBR=machenbach@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/217423006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20351 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-31 12:09:59 +00:00
dcarney@chromium.org
8b304a6832
Implement PersistentValueVector, analogous to PersistentValueMap.
...
BUG=
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/216973002
Patch from Daniel Vogelheim <vogelheim@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20341 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-31 10:03:20 +00:00
dslomov@chromium.org
bd353dc3a0
Inline internal getters for typed arrays & friends.
...
R=hpayer@chromium.org , yangguo@chromium.org
Committed: https://code.google.com/p/v8/source/detail?r=20330
Review URL: https://codereview.chromium.org/212603014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20338 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-28 15:25:24 +00:00
jochen@chromium.org
feeccf0d10
Revert r20335 - "Raise StackOverflow during bootstrapping"
...
Reason for revert: New test crashes on nosnap bots
> See https://github.com/joyent/node/issues/7120
>
> R=jarin@chromium.org
> BUG=
>
> Review URL: https://codereview.chromium.org/178073002
>
> Patch from Alexis Campailla <alexis@janeasystems.com>.
TBR=jarin@chromium.org
BUG=none
LOG=n
Review URL: https://codereview.chromium.org/217013002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20337 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-28 14:16:11 +00:00
jarin@chromium.org
ee173152ef
Raise StackOverflow during bootstrapping
...
See https://github.com/joyent/node/issues/7120
R=jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/178073002
Patch from Alexis Campailla <alexis@janeasystems.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20335 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-28 13:26:20 +00:00
haitao.feng@intel.com
a72e3525fc
Refactor the arithmetic instructions for x64
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/214753002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20329 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-28 11:13:14 +00:00
marja@chromium.org
6730ec8433
Amend PersistentValueMap:
...
- Use the surrounding map (instead of Traits::Impl) for weak callback.
- Provide for a fast reference to a mapped value.
- Restructure Traits to accomondate for the first point above.
[Why?] As discussed, I proceeded to replace Impl with the map.
The problem I encountered with that version is that now the
Traits class depends on itself: The weak-related methods require the
map type in their signature. But the map type includes the Traits class
and hence the Traits class method signatures depend on the specific Traits class. That
makes them practically un-derivable: While you can derive a Traits class
from another one, since the compiler now expects methods with a different
signature. To accommodate, I pulled the dispose traits into the weak traits
class. I also removed the Impl*/MapType* parameter from the Dispose call,
since no implementation seems to need it.
R=dcarney@chromium.org
BUG=
Review URL: https://codereview.chromium.org/212893007
Patch from Daniel Vogelheim <vogelheim@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20326 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-28 09:35:50 +00:00
yurys@chromium.org
f7b437d086
Deprecate Start/StopCpuProfiling methods
...
BUG=v8:3213
LOG=Y
R=alph@chromium.org , svenpanne@chromium.org
Review URL: https://codereview.chromium.org/197513005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20325 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-28 09:24:49 +00:00
haitao.feng@intel.com
329b0449d5
Introduce rolp, rorp, rclp, rcrp, shlp, shrp and sarp for x64 port
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/214493002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20320 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-28 04:55:00 +00:00
rossberg@chromium.org
826cf64fd3
Ship promises and weak collections
...
R=mstarzinger@chromium.org
BUG=
Committed: https://code.google.com/p/v8/source/detail?r=20211
Review URL: https://codereview.chromium.org/206163004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20313 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-27 16:42:34 +00:00
yangguo@chromium.org
8847b52097
Reland "Correctly OOM in the CEntryStub after retries."
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/214473003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20297 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-27 10:41:45 +00:00
yangguo@chromium.org
caad1de770
Revert "Correctly OOM in the CEntryStub after retries."
...
This reverts r20292 due to no-snapshot failures.
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/214413005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20293 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-27 09:59:07 +00:00
yangguo@chromium.org
3ee0783686
Correctly OOM in the CEntryStub after retries.
...
This fixes a bug introduced in r20179.
R=jkummerow@chromium.org
BUG=356211
LOG=N
Review URL: https://codereview.chromium.org/213193011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20292 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-27 09:26:47 +00:00
ulan@chromium.org
a7d1b658fc
Reland r19897 "Fix memory leak caused by treating Code::next_code_link as strong in marker.
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/212553003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20282 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-26 15:14:51 +00:00
haitao.feng@intel.com
6130206c2f
Introduce andp, notp, orp and xorp for x64 port
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/205343013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20276 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-26 12:15:35 +00:00
haitao.feng@intel.com
687e524983
Introduce leap, movzxbp, movzxwp, repmovsp and xchgp for x64 port
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/211413008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20273 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-26 11:17:53 +00:00
machenbach@chromium.org
2ed676246b
Fix test serialization path for windows.
...
This work-around takes into account that MSVS doesn't build to "out".
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/202923003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20261 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-26 07:40:32 +00:00
haitao.feng@intel.com
479248f3d8
Introduce cmpp, decp, incp, negp, sbbp and testp for x64 port
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/207833002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20260 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-26 01:13:09 +00:00
ishell@chromium.org
f306341b46
TransitionElementsKind() and its recursive call chain handlified.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/207553005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20253 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 15:33:22 +00:00
rossberg@chromium.org
2e1b16de2a
Revert "Ship promises and weak collections"
...
Reason: breaks Blink layout tests.
R=machenbach@chromium.org
BUG=
Review URL: https://codereview.chromium.org/210853003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20233 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 10:57:52 +00:00
yangguo@chromium.org
82f630a9f7
Reland "No longer OOM on invalid string length."
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/210683003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20225 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 09:09:24 +00:00
baptiste.afsa@arm.com
688d07d11b
ARM64: Prevent compilers to optimize away NaN negation in tests.
...
BUG=v8:3226
R=ulan@chromium.org , jochen@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/196173021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20213 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 17:43:56 +00:00
rossberg@chromium.org
33be68c2fa
Ship promises and weak collections
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/206163004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20211 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 16:59:04 +00:00
rossberg@chromium.org
ff1186c834
Add support for per-isolate private symbols
...
R=mstarzinger@chromium.org
BUG=
LOG=Y
Review URL: https://codereview.chromium.org/196103004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20209 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 16:34:06 +00:00
yangguo@chromium.org
72932ae417
Revert "No longer OOM on invalid string length."
...
This reverts r20202.
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/210143002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20203 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 15:36:15 +00:00
yangguo@chromium.org
531217502c
No longer OOM on invalid string length.
...
R=ishell@chromium.org
BUG=v8:3060
LOG=Y
Review URL: https://codereview.chromium.org/207613005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20202 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 15:01:17 +00:00
marja@chromium.org
7dcaf26882
Follow up to r20125 (enabling tests).
...
These tests were never meant to be disabled.
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/209953002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20190 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 12:49:26 +00:00
yangguo@chromium.org
8b8fb30e7f
Reland "Remove Failure::OutOfMemory propagation and V8::IgnoreOutOfMemoryException."
...
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/209903003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20184 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 10:07:15 +00:00
yangguo@chromium.org
03866841aa
Revert "Remove Failure::OutOfMemory propagation and V8::IgnoreOutOfMemoryException."
...
This reverts r20179.
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/201573007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20183 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 09:17:18 +00:00
yangguo@chromium.org
62f65d8697
Remove Failure::OutOfMemory propagation and V8::IgnoreOutOfMemoryException.
...
R=dcarney@chromium.org
BUG=v8:3060
LOG=Y
Review URL: https://codereview.chromium.org/208263002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20179 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 08:47:45 +00:00
dcarney@chromium.org
3ab0622b96
add setaccessorproperty to object
...
R=svenpanne@chromium.org
LOG=N
BUG=v8:2964
Review URL: https://codereview.chromium.org/209853002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20178 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 08:41:59 +00:00
dcarney@chromium.org
493c6b3543
Do stack checks while pushing locals
...
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/207543003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20176 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 08:17:06 +00:00
rodolph.perfetta@arm.com
d5753f27d9
ARM: fix assertions for uxtb and co.
...
Allow operands with ROR #0 . Behind the scene they are mapped to LSL #0 .
BUG=v8:3209
LOG=N
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/198053014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20171 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-21 15:59:45 +00:00
m.m.capewell@googlemail.com
6c4178330d
ARM: Fix Q register encoding
...
Fix Q register encoding for registers other than Q0. Also, fix value in NeonSize
enumeration.
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/207523005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20163 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-21 13:04:20 +00:00
titzer@chromium.org
a428b0d588
Add a utility method to the ia32 macro assembler to move a double immediate into an XMM register.
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/197233011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20160 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-21 12:16:37 +00:00
yangguo@chromium.org
d46f8c1e09
Mark CollectCpuProfile as flaky.
...
R=machenbach@chromium.org
BUG=v8:2999
LOG=N
Review URL: https://codereview.chromium.org/208043002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20157 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-21 11:45:54 +00:00
jochen@chromium.org
c616ec7bf3
Mark test-assembler-arm64/fmadd_fmsub_float_nans on arm64 as flaky
...
BUG=v8:3226
LOG=n
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/205863004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20151 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-21 10:02:57 +00:00
marja@chromium.org
8452030817
Move ParsePostfixExpression into ParserBase.
...
+ enable a test which checks that Parser and PreParser produce the "invalid left
hand side" errors consistently.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/202333004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20149 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-21 09:46:18 +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
jochen@chromium.org
9fccfc37c8
Prepare switch from a64 to arm64
...
BUG=354405
R=machenbach@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/207793002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20147 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-21 08:47:03 +00:00
haitao.feng@intel.com
c867df5181
Introduce addp, idivp, imulp and subp for x64 port
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/196893003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20140 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-21 02:42:10 +00:00
mstarzinger@chromium.org
c27758bcc7
Fix missing access check in Runtime_SetPrototype.
...
R=rossberg@chromium.org
BUG=chromium:354123
TEST=cctest/test-api/Regress354123
LOG=y
Review URL: https://codereview.chromium.org/205033011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20138 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-20 18:14:33 +00:00
yangguo@chromium.org
8f48dbb7d2
Remove outdated OOM tests.
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/206373003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20129 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-20 14:12:06 +00:00
marja@chromium.org
d017e6ce54
Make PreParser track valid left hand sides.
...
Notes:
- This makes PreParser produce invalid_lhs_in_assignment and
invalid_lhs_in_prefix_op. Other errors will follow as the corresponding funcs
move to ParserBase.
- PreParserExpression::IsStrictFunction and StrictFunction() are not needed any
more -> removed them.
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/196343033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20125 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-20 13:18:15 +00:00
yangguo@chromium.org
000be4d033
Reland "Throw exception on invalid string length instead of OOM."
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/199583007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20119 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-20 12:27:36 +00:00
yangguo@chromium.org
77a28b731d
Handlify callers to GetElementNoException.
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/204693002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20117 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-20 12:22:13 +00:00
yangguo@chromium.org
a5a82ef123
Revert "Throw exception on invalid string length instead of OOM."
...
This reverts r20112.
TBR=yangguo@chromium.org
Review URL: https://codereview.chromium.org/206383002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20114 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-20 11:11:28 +00:00
yangguo@chromium.org
9ba80269ee
Throw exception on invalid string length instead of OOM.
...
R=bmeurer@chromium.org
BUG=349329
LOG=Y
Review URL: https://codereview.chromium.org/199853004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20112 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-20 10:49:33 +00:00
dcarney@chromium.org
99b115b120
Provide default traits for PersistentValueMap
...
Re-try of issue 201643003. This caused linker errors on Win64, since the
linker insists on seeing the StrongMapTrait method implementations even
though they are never used. This will provide default implementations
for them.
R=dcarney@chromium.org
BUG=
Review URL: https://codereview.chromium.org/204343006
Patch from Daniel Vogelheim <vogelheim@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20084 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-19 15:35:02 +00:00
ishell@chromium.org
f09f99fd09
ArrayPop builtin handlified.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/204103008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20081 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-19 15:25:04 +00:00
ishell@chromium.org
368a2e78c0
Handlification of JSArray::SetElementsLength().
...
R=verwaest@chromium.org , yangguo@chromium.org
Review URL: https://codereview.chromium.org/203333004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20080 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-19 14:09:50 +00:00
marja@chromium.org
e9717833f9
Move ParseUnaryExpression into ParserBase and add tests.
...
This also makes PreParser produce the strict_delete error the same way as
Parser (see test).
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/203193004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20079 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-19 14:08:47 +00:00
marja@chromium.org
c04dd3fb7f
Revert "Move ParseUnaryExpression into ParserBase and add tests."
...
This reverts revision 20077.
Reason: build fail on some compilers.
BUG=
TBR=marja@chromium.org ,rossberg@chromium.org
Review URL: https://codereview.chromium.org/203413009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20078 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-19 13:58:15 +00:00
marja@chromium.org
f4ef82309a
Move ParseUnaryExpression into ParserBase and add tests.
...
This also makes PreParser produce the strict_delete error the same way as
Parser (see test).
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/203193004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20077 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-19 13:42:41 +00:00
mvstanton@chromium.org
535f3427ca
Pretenure call new support.
...
When FLAG_pretenure_call_new is on, we emit mementos on new object creation
in full code, and consume the feedback in crankshaft. A key difference in the
generated code for stubs is the allocation of an additional type vector slot for the
CallNew AST node, which simplifies the CallConstructStub and CallFunctionStub
considerably.
Some performance tuning still needs to be addressed, therefore the flag is off at
this moment, though fully functional. The goal is to remove the flag as soon as
possible, which allows much code deletion (yay).
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/132963012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20076 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-19 13:39:09 +00:00
marja@chromium.org
932a29a66a
New compilation API, part 2.
...
This CL makes the Parser produce the data PreParser used to produce. This
enables us to get rid of the unnecessary preparsing phase.
The first part is here: https://codereview.chromium.org/199063003/
BUG=
R=dcarney@chromium.org , svenpanne@chromium.org
Review URL: https://codereview.chromium.org/203353002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20075 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-19 13:24:13 +00:00
yangguo@chromium.org
d8c3c5ef0a
Introduce API to trigger exception on JS execution.
...
R=jochen@chromium.org , pmarch@chromium.org
Review URL: https://codereview.chromium.org/203223013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20070 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-19 13:06:53 +00:00
yangguo@chromium.org
0bc684a794
Introduce per-isolate assert scopes and API to guard JS execution.
...
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/198253004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20062 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-19 11:31:43 +00:00
haitao.feng@intel.com
e812aca6b3
Introduce Push and Pop macro instructions for x64
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/199903002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20049 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-19 08:59:04 +00:00
yangguo@chromium.org
0dd31685f0
Revert "First attempt at providing default traits for PersistentValueMap."
...
This reverts r20038.
TBR=vogelheim@chromium.org
Review URL: https://codereview.chromium.org/203553002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20042 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-18 16:32:39 +00:00
dcarney@chromium.org
6deb7b0db4
First attempt at providing default traits for PersistentValueMap.
...
BUG=
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/201643003
Patch from Daniel Vogelheim <vogelheim@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20038 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-18 15:01:12 +00:00
yangguo@chromium.org
c76a97159f
Handlify callers of Object::GetElement.
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/200363002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20028 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-18 12:34:02 +00:00
rossberg@chromium.org
9b28aed3f6
Introduce representation types
...
Also:
- improve type pretty-printing,
- update doc comments,
- some renamings for consistency.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/176843006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20025 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-18 11:50:18 +00:00
ishell@chromium.org
acf695e37a
Handlification of ArrayConstructorCommon().
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/201303009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20024 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-18 11:38:27 +00:00
marja@chromium.org
06a444a19c
Follow up to r20003.
...
(Fixing comments in tests.)
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/197323003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20008 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-17 16:04:47 +00:00
marja@chromium.org
a8cc89c438
Add tests which ensure that the data produced by the preparser is really used.
...
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/201133005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20003 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-17 15:06:33 +00:00
hpayer@chromium.org
e3554870e6
Fix Windows compile problem.
...
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/201133006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19986 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-17 12:17:13 +00:00
hpayer@chromium.org
9305589c04
Make sure allocated objects in PrologueCallbackAlloc and EpilogueCallbackAlloc API test are used.
...
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/201633003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19981 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-17 10:52:33 +00:00
hpayer@chromium.org
4c20e76b4b
heap: allow allocation in gc prologue/epilogue
...
BUG=
R=hpayer@chromium.org , danno@chromium.org
Review URL: https://codereview.chromium.org/177243012
Patch from Fedor Indutny <fedor.indutny@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19978 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-17 10:38:45 +00:00
rossberg@chromium.org
c3c185c173
Make invalid LHSs a parse-time (reference) error
...
This is required by the spec. It also prevents crashes resulting from the attempt to read type feedback for the RHS of an invalid assignment which full codegen never actually allocated info for.
To do: check properly in preparser already.
R=marja@chromium.org , mstarzinger@chromium.org
BUG=351658
LOG=Y
Review URL: https://codereview.chromium.org/200473003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19976 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-17 10:21:01 +00:00
rossberg@chromium.org
0a2f4c86bd
Split Promise API into Promise/Resolver
...
R=svenpanne@chromium.org
BUG=
LOG=Y
Review URL: https://codereview.chromium.org/196943014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19972 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-17 09:57:25 +00:00
mvstanton@chromium.org
e3f3f6d98b
Revert "Continued fix for 351257. Reusing the feedback vector is too complex."
...
This reverts commit r19919.
TBR=bmeuer@chromium.org
Review URL: https://codereview.chromium.org/196343021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19961 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-17 08:31:21 +00:00
dslomov@chromium.org
eb2003da3f
Disable cctest test-lockers/MultithreadedParallelIsolates.
...
Had to disable always instead of in 'nosnap' mode.
TBR=machenbach@chromium.org
BUG=v8:3215
LOG=N
Review URL: https://codereview.chromium.org/196283020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19939 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-14 15:11:03 +00:00
dcarney@chromium.org
45ffad09d8
Move PersitentValueMap into seperate header, to avoid excessive polution
...
of v8.h.
R=dcarney@chromium.org
BUG=
Review URL: https://codereview.chromium.org/195793024
Patch from Daniel Vogelheim <vogelheim@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19936 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-14 14:57:04 +00:00
jacob.bramley@arm.com
cf43195d47
A64: Fix a few simulation inaccuracies.
...
- Return the correct NaN when an invalid operation generates a NaN.
- When one or more operands are NaN, handle them as the processor
would, prioritising signalling NaNs and making them quiet.
- Fix fmadd and related instructions:
- Fnmadd is fma(-n, m, -a), not -fma(n, m, a).
- Some common libc implementations incorrectly implement fma for
zero results, so work around these cases.
- Replace some unreliable tests.
This patch also adds support for Default-NaN mode, since once all the
other work was done, it only required a couple of lines of code.
Default-NaN mode was used for an optimisation in ARM, and it should now
be possible to apply the same optimisation to A64.
BUG=
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/199083005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19927 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-14 10:23:55 +00:00
marja@chromium.org
6923d84785
New Compilation API, part 1, try 2
...
- Distinguish between context bound scripts (Script) and context unbound scripts
(UnboundScript).
- Add ScriptCompiler (which will later contain functions for async compilation).
This is a breaking change, in particular, Script::New no longer exists (it is
replaced by ScriptCompiler::CompileUnbound). Script::Compile remains as a
backwards-compatible shorthand for ScriptCompiler::Compile.
Passing CompilerOptions with produce_data_to_cache = true doesn't do anything
yet; the only way to generate the data to cache is the old preparsing API. (To
be fixed in the next version.)
This is a fixed version of https://codereview.chromium.org/186723005/
BUG=
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/199063003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19925 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-14 10:20:33 +00:00
mvstanton@chromium.org
dd28969c1c
Continued fix for 351257. Reusing the feedback vector is too complex.
...
Attempting to re-use the type feedback vector stored in the
SharedFunctionInfo turns out to be difficult among the various cases.
It will be much easier to do this when deferred type feedback processing
is removed, as is in the works.
Created bug v8:3212 to track re-introducing the optimization of reusing
the type vector on recompile before optimization.
The CL also brings back the type vector on the SharedFunctionInfo.
BUG=351257
LOG=Y
R=bmeurer@chromium.org , bmeuer@chromium.org
Review URL: https://codereview.chromium.org/199973004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19919 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-14 09:28:37 +00:00
hpayer@chromium.org
7b810f4593
Revert "Moved type feedback vector to SharedFunctionInfo."
...
This reverts commit 828f1d563a3f0972135886888fd26526e04da07f.
Conflicts:
src/compiler.cc
test/cctest/test-compiler.cc
BUG=
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/196283015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19911 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 17:47:12 +00:00
marja@chromium.org
305b7a31ab
Fix test-parsing/TooManyArguments.
...
(Asan.)
R=machenbach@chromium.org
BUG=
Review URL: https://codereview.chromium.org/199213002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19907 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 15:55:38 +00:00
ulan@chromium.org
81a5cfb0e0
Revert r19897, r19898 for breaking mac-64 debug.
...
TBR=dslomov@chromium.org
Review URL: https://codereview.chromium.org/199203002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19901 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 15:10:35 +00:00
ulan@chromium.org
645392891f
Fix windows build after r19897.
...
TBR=dslomov@chromium.org
Review URL: https://codereview.chromium.org/199133002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19898 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 14:24:00 +00:00
ulan@chromium.org
2f26700885
Fix memory leak caused by treating Code::next_code_link as strong in marker.
...
BUG=
TEST=test/cctest/NextCodeLinkIsWeak
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/181833004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19897 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 14:09:18 +00:00
dcarney@chromium.org
869db33cbb
Only call to LogSymbol when needed.
...
R=marja@chromium.org
BUG=
Review URL: https://codereview.chromium.org/198903002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19892 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 11:56:13 +00:00
jacob.bramley@arm.com
f6de983e4d
A64: Fix Fmov with signalling NaN literals.
...
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/194753002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19885 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 09:45:02 +00:00
marja@chromium.org
ee6b885d25
Revert "New Compilation API, part 1"
...
This reverts revision 19881.
Reason: WebKit build failure (will commit a fixed version shortly).
BUG=
Review URL: https://codereview.chromium.org/196793013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19882 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 09:14:16 +00:00
marja@chromium.org
52c0098f0d
New Compilation API, part 1
...
- Distinguish between context bound scripts (Script) and context unbound scripts
(UnboundScript).
- Add ScriptCompiler (which will later contain functions for async compilation).
This is a breaking change, in particular, Script::New no longer exists (it is
replaced by ScriptCompiler::CompileUnbound). Script::Compile remains as a
backwards-compatible shorthand for ScriptCompiler::Compile.
Passing CompilerOptions with produce_data_to_cache = true doesn't do anything
yet; the only way to generate the data to cache is the old preparsing API. (To
be fixed in the next version.)
BUG=
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/186723005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19881 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 08:54:11 +00:00
dcarney@chromium.org
750ab88341
move remaining uses of scanner literals into scanner
...
R=marja@chromium.org
BUG=
Review URL: https://codereview.chromium.org/198713002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19880 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 08:29:31 +00:00
dcarney@chromium.org
75ad285860
Implement PersistentValueMap, a map that stores UniquePersistent values.
...
This is preparatory work to get rid of UnsafePersistent in blink.
The previous version had to be reverted due to timeouts in win32/Debug: https://codereview.chromium.org/197173002/
The timeouts happened because the STL version on that platform contains sanity checking code which opens a 'debug window' in the GUI, patiently waiting for the user to click ok/cancel/somethirdoption. It turns out, the cause for that debug window was totally valid and the test had a use-after-free issue.
The 1st patch set is the code as before. The 2nd patch set contains the fix.
Related blink changes are here: https://codereview.chromium.org/180363004/
This patch is largely based on https://codereview.chromium.org/175503003/ , with some methods added to support the blink change mentioned above.
BUG=
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/197263002
Patch from Daniel Vogelheim <vogelheim@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19873 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 07:10:59 +00:00
adamk@chromium.org
8bd05193c7
Reland "Enable Object.observe by default" again
...
This re-re-re-lands enabling Object.observe. The Chromium tests that
failed last time this was rolled into Chromium have been disabled in
https://src.chromium.org/viewvc/chrome?view=revision&revision=256706
This patch should be safe to merge once that lands.
BUG=v8:2409
LOG=Y
TBR=rossberg@chromium.org ,dslomov@chromium.org,rafaelw@chromium.org
Review URL: https://codereview.chromium.org/198383002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19868 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 00:20:06 +00:00
alexandre.rames@arm.com
6b86401431
A64: Record the size of veneer pools for code offset mapping.
...
Mapping the code offsets between code with and without debug break slots
requires information about the size of the veneer pools and constant pools.
BUG=v8:3173
LOG=N
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/188253005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19857 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-12 15:40:41 +00:00
alexandre.rames@arm.com
dafba1207d
A64: Rename k<Y>RegSize to k<Y>RegSizeInBits, and k<Y>RegSizeInBytes to k<Y>RegSize.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/194473005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19855 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-12 15:18:40 +00:00
mvstanton@chromium.org
021d9e778c
Fix for bug 351257: type feedback vector initialization issue.
...
The feedback vector is stored in the shared function info, and there
is an effort to reuse it when re-running full code generation as a
prelude to creating optimized code. However we shouldn't reuse the
vector for lazily compiled methods on first compile, as scoping analysis
can change the allocation of vector slots.
BUG=351257
LOG=N
R=danno@chromium.org , bmeuer@chromium.org
Review URL: https://codereview.chromium.org/196723003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19854 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-12 15:18:17 +00:00
dcarney@chromium.org
87e77085a6
Move most scanner buffer accesses into scanner.
...
R=marja@chromium.org
BUG=
Review URL: https://codereview.chromium.org/197103002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19849 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-12 14:03:25 +00:00
dslomov@chromium.org
79e817aac4
Revert "Implement PersistentValueMap, a map that stores UniquePersistent values."
...
and "Win64 fix for r19833."
This reverts commits r19833 and r19837 for breaking Windows tests
(test-api/PersistentValueMap).
TBR=vogelheim@chromium.org ,dcarney@chromium.org
Review URL: https://codereview.chromium.org/197173002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19839 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-12 11:40:40 +00:00
dcarney@chromium.org
3aac1d3c07
Win64 fix for r19833.
...
R=dcarney@chromium.org
BUG=
Review URL: https://codereview.chromium.org/197083002
Patch from Daniel Vogelheim <vogelheim@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19837 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-12 10:33:40 +00:00
dcarney@chromium.org
25468478e3
Implement PersistentValueMap, a map that stores UniquePersistent values.
...
This is preparatory work to get rid of UnsafePersistent in blink.
Related blink changes are here: https://codereview.chromium.org/180363004/
This patch is largely based on https://codereview.chromium.org/175503003/ , with some methods added to support the blink change mentioned above.
BUG=
R=dcarney@chromium.org , svenpanne@chromium.org
Review URL: https://codereview.chromium.org/189463019
Patch from Daniel Vogelheim <vogelheim@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19833 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-12 09:11:25 +00:00
rmcilroy@chromium.org
fadc74ec04
Clean up ARM mov 32bit immediate code in preparation for out of line constant pool.
...
R=rodolph.perfetta@arm.com , ulan@chromium.org
Review URL: https://codereview.chromium.org/138503002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19823 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 20:17:02 +00:00
dslomov@chromium.org
f6dac13dcb
Revert "Enable Object.observe by default"
...
This reverts commit r19734 for breeaking ChromiumOS browser tests.
'OpenSpecialTypes/FileManagerBrowserTest.Test/3' started to time out,
bisecting the roll led to this change.
http://build.chromium.org/p/chromium.chromiumos/builders/Linux%20ChromiumOS%20Tests%20%282%29/builds/22224
TBR=rafaelw@chromium.org ,rossberg@chromium.org
BUG=v8:2409
LOG=Y
Review URL: https://codereview.chromium.org/195123005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19816 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 18:15:44 +00:00
marja@chromium.org
534245c9a5
Move ParseArguments to ParserBase and add tests.
...
Notes:
- PreParser didn't produce "too_many_arguments"; now it does.
- The argument count in the error message was wrong; fixed it.
BUG=v8:3126
LOG=N
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/194503004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19812 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 16:30:47 +00:00
rossberg@chromium.org
94b5180db0
API support for promises
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/194663003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19811 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 16:17:20 +00:00
rossberg@chromium.org
8e3f3cee9e
Eliminate extended mode, and other modes clean-up
...
- Merge LanguageMode and StrictModeFlag enums
- Make harmony-scoping depend only on strict mode
- Free some bits on the way
- Plus additional clean-up and renaming
R=ulan@chromium.org
BUG=
Review URL: https://codereview.chromium.org/181543002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19800 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 14:41:22 +00:00
rossberg@chromium.org
3f702d4bf9
Mode clean-up pt 1: rename classic/non-strict mode to sloppy mode
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/177683002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19799 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 14:39:08 +00:00
hpayer@chromium.org
d9090c0284
Do not run AddInstructionChangesNewSpacePromotion test in release mode.
...
BUG=
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/194663004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19794 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 11:53:40 +00:00
hpayer@chromium.org
9819cfd29c
Make sure tagged binary op instructions change new space promotion.
...
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/194883003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19790 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 11:36:55 +00:00
rossberg@chromium.org
9abfab09fa
Types: cache lub bitset to avoid heap access
...
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/186743002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19786 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 10:28:38 +00:00
jochen@chromium.org
00ba711658
Use a per-isolate cache for the date object JS bits
...
The old per-context cache made it difficult for the embedder to notify
v8 of date/time configuration changes. The embedder had to enter all
contexts for the isolate and notify v8 for each context.
With the new per-isolate cache, the embedder only needs to notify v8
once per isolate.
BUG=348856
LOG=y
R=dcarney@chromium.org , ulan@chromium.org
TEST=cctest/test-date
Review URL: https://codereview.chromium.org/189913023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19784 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 09:04:14 +00:00
titzer@chromium.org
91a2aa6a2c
Add MacroAssembler::Move(reg, immediate) on IA32.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/188463003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19780 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 08:52:48 +00:00
rmcilroy@chromium.org
a199ba80ef
Differentate between code target pointers and heap pointers in constant pools.
...
Separate out code target pointers from normal heap pointer entries in constant
pool arrays so that the GC can correctly relocate these pointers using the
appropriate mechanism.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/183883011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19773 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-10 19:05:43 +00:00
jacob.bramley@arm.com
19a04c3a69
A64: Use a scope utility to allocate scratch registers.
...
This replaces Tmp0() and Tmp1() with a more flexible scratch register
pool. A scope-based utility can temporarily acquire registers from this
pool as needed.
We no longer have to worry about whether to use Tmp0(), Tmp1() or
something else; the scope can just get the next available scratch
register.
BUG=
R=jochen@chromium.org , rmcilroy@chromium.org
Review URL: https://codereview.chromium.org/164793003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19768 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-10 16:25:15 +00:00
marja@chromium.org
8bd37cb7c3
Refactor script compilation / running & use of helper funcs in test-api.cc.
...
The tests were using different kind of constructs for achieving the same
thing. This makes refactoring the compilation API more difficult than it should
be.
cctest.h already contained helpers for compiling and running scripts, but they
were not used consistently.
For example, all these were used for running scripts:
v8::Script::Compile(v8_str("foo"))->Run();
v8::Script::Compile(v8::String::NewFromUtf8(isolate, "foo))->Run();
CompileRun(v8_str("foo"));
CompileRun(v8::String::NewFromUtf8(some_way_to_get_isolate(), "foo"));
v8::Local<v8::Script> script = any_of_the_above; script->Run();
Most of the tests just want to run a script (which is in const char*) and don't
care about how the v8::String is constructed or passed to the compiler API. Using
the helpers makes the test more readable and reduces boilerplate code which is
unrelated to what the test is testing.
R=dcarney@chromium.org
BUG=
Review URL: https://codereview.chromium.org/190503002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19753 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-10 11:58:56 +00:00
marja@chromium.org
1b7055cf54
Unify (Pre)Parser::ParseObjectLiteral and add tests.
...
Notes:
- The regexp in the ParseObjectLiteralComment was wrong, made it less wrong (
it's still wrong since trailing commas are not required / allowed).
- Change in logic: In case we have "get somekeyword() { }", the "somekeyword"
was not logged as a symbol by PreParser and not expected in the preparser data
by Parser. This is unnecessary complication; in other contexts where keywords
are allowed as identifiers, they are logged as symbols (see
ParseIdentifierName).
BUG=v8:3126
LOG=N
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/173273006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19750 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-10 11:42:17 +00:00
yangguo@chromium.org
d3a16a2e2a
Add support for allowing an embedder to get the V8 profile timer event logs.
...
Contributed by fmeawad@chromium.org
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/186163002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19745 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-10 08:56:48 +00:00
dcarney@chromium.org
2c74163f59
initialize v8::Private with v8::String
...
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/179983002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19741 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-10 08:20:56 +00:00
dcarney@chromium.org
7d8cda6ea0
Allow Object::InternalFieldCount and Object::GetAlignedPointerFromInternalField to be called from Persistent classes
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/177343002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19740 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-10 08:18:57 +00:00
jarin@chromium.org
b83b8b9ed4
Atomic ops: Sync with Chromium and add unit test.
...
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/129813008
Patch from Cosmin Truta <ctruta@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19738 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-10 06:43:21 +00:00
rafaelw@chromium.org
6503dfb72b
Reland "Enable Object.observe by default"
...
Original Issue: https://codereview.chromium.org/183683022/
TBR=rossberg
BUG=v8:2409
LOG=Y
Review URL: https://codereview.chromium.org/189513010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19736 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-08 04:41:06 +00:00
rafaelw@chromium.org
0cc44c14e5
Revert "Enable Object.observe by default"
...
TBR=rossberg
BUG=
Review URL: https://codereview.chromium.org/190853007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19735 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-08 03:54:42 +00:00
rafaelw@chromium.org
dcf9842e07
Enable Object.observe by default
...
R=rossberg@chromium.org , rossberg
BUG=v8:2409
LOG=Y
Review URL: https://codereview.chromium.org/183683022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19734 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-08 02:47:53 +00:00
yurys@chromium.org
e18b575c6e
Fix compiler warning on Win64
...
BUG=None
LOG=N
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/191153002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19731 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-07 17:20:03 +00:00
yurys@chromium.org
74546c03ad
AllocationTracker now maintains a map from address range to stack trace that allocated the range. When snapshot is generated the map is used to find construction stack trace for an object using its address.
...
BUG=chromium:277984
LOG=Y
R=alph@chromium.org , mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/177983003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19728 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-07 16:13:22 +00:00
alexandre.rames@arm.com
33a46be689
A64: Handle a few TODOs.
...
Notes about a few TODOs handled in this patch:
* In ProfileEntryHookStub::Generate:
Stubs are always called with relocation.
* In CreateArrayDispatchOneArgument:
The branches to registers can't be conditional. We could use a jump table, but
there are only 6 different kinds so it is likely not worth it.
* In Builtins::Generate_StringConstructCode:
Rename the argc register (x0) after its meaning changes.
Remove a TODO: using a macro would not make the code clearer.
* In Generate_JSEntryTrampolineHelper:
Remove the TODO and raise an internal issue to investigate this.
* In Disassembler::SubstituteBranchTargetField:
Print the target address, but we don't have more info on the target.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/185793002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19724 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-07 15:20:32 +00:00
yurys@chromium.org
49cd3d8a65
Allocation tracker: add separate entry for allocations via V8 API
...
When object is creating via native V8 API calls JS callstack is empty and the allocation is indistinguishable from say compiler allocations. This change adds a separate entry for such allocations.
Since FunctionInfo not necessarily corresponds to a heap object they are now referred to using their index in the list of all FunctionInfos.
BUG=chromium:277984
LOG=N
R=loislo@chromium.org , mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/177203002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19718 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-07 11:32:01 +00:00
mvstanton@chromium.org
f19e15c388
Test FeedbackVectorPreservedAcrossRecompiles needs crankshaft
...
The new test didn't recognize that non-sse2 builds on ia32 would
disable crankshaft.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/189263007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19716 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-07 11:01:03 +00:00
mvstanton@chromium.org
1812f63fd2
Moved type feedback vector to SharedFunctionInfo.
...
Type Vector followup: the type vector currently lives off the code object. This CL moves it to the SharedFunctionInfo, facilitating re-use and continued use in crankshafted code if desired.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/178463007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19712 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-07 10:12:17 +00:00
mvstanton@chromium.org
1d3652ebe6
Symbols for type cells. We can make more efficient code to check against type cells in the future if we use symbols, guaranteed not to conflict with user code. Currently, the "symbols" are the hole and undefined. Undefined may come in from the outside.
...
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/181283003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19706 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-07 09:10:18 +00:00
marja@chromium.org
bd1fb97d5c
Remove Script::SetData and the script_data parameter from Script::(Compile|New).
...
This feature makes it possible to associate data with a script and get it back
when the script is compiled or when an event is handled. It was historically
used by Chromium Dev Tools, but not any more. It is not used by node.js.
Note: this has nothing to do with the preparse data, despite the confusing name.
The preparse data is passed as ScriptData*.
Note 2: This is the same as r19616 ( https://codereview.chromium.org/184403002/ )
with a unused variable fix in bootstrapper.cc.
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/185533014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19702 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-07 08:43:54 +00:00
rossberg@chromium.org
758a688bb6
Add --es-staging flag
...
...and remove some obsolete ones.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/165723008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19669 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-05 10:07:07 +00:00
mstarzinger@chromium.org
9ab32061ed
Print properly signed displacement in disassembler.
...
R=titzer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/178193028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19667 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-05 09:28:26 +00:00
ulan@chromium.org
b9e0b87a5a
Clear optimized code cache in shared function info when code gets deoptimized.
...
This adds a pointer to the shared function info into deoptimization data of an optimized code. Whenever the code is deoptimized, it clears the cache in the shared function info.
This fixes the problem when the optimized function dies in new space GC before the code is deoptimized due to code dependency and before the optimized code cache is cleared in old space GC (see mjsunit/regress/regress-343609.js).
This partially reverts r19603 because we need to be able to evict specific code from the optimized code cache.
BUG=343609
LOG=Y
TEST=mjsunit/regress/regress-343609.js
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/184923002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19635 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-03 11:11:39 +00:00
marja@chromium.org
40ffba58a4
Revert "Remove Script::SetData and the script_data parameter from Script::(Compile|New)."
...
This reverts revision 19616.
BUG=
TBR=marja@chromium.org ,svenpanne@chromium.org
Review URL: https://codereview.chromium.org/181113008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19618 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-28 14:09:52 +00:00
marja@chromium.org
55750b1c62
Remove Script::SetData and the script_data parameter from Script::(Compile|New).
...
This feature makes it possible to associate data with a script and get it back
when the script is compiled or when an event is handled. It was historically
used by Chromium Dev Tools, but not any more. It is not used by node.js.
Note: this has nothing to do with the preparse data, despite the confusing name.
The preparse data is passed as ScriptData*.
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/184403002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19616 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-28 13:54:14 +00:00
jochen@chromium.org
2aa5ac9311
A64: fix cctest/test-assembler-a64
...
The simulator now deletes its decoder in its dtor. Therefore, we must
always allocate the decoder on the heap.
BUG=none
R=ulan@chromium.org , jacob.bramley@arm.com
LOG=n
Review URL: https://codereview.chromium.org/183893005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19596 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-28 10:31:05 +00:00
dcarney@chromium.org
703536eba1
Revert "Better threaded fuzzing for TestFunctionCallOptimization"
...
This reverts commit 19567.
TBR=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/182893003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19569 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-27 09:48:56 +00:00
dcarney@chromium.org
44da745247
Better threaded fuzzing for TestFunctionCallOptimization
...
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/182863002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19567 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-27 09:18:37 +00:00
jochen@chromium.org
597a4b4dc1
A64: Make the Decoder a template
...
This will allow for replacing the dispatcher with a concrete decoder
visitor.
BUG=none
R=ulan@chromium.org , rodolph.perfetta@arm.com
LOG=n
Review URL: https://codereview.chromium.org/181253002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19562 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-26 12:01:05 +00:00
marja@chromium.org
94af17a845
Fix the bit massaging code in CompleteParserRecorder::WriteNumber.
...
The original code, added by
https://codereview.chromium.org/3384003/diff/7001/src/parser.cc 3.5 years ago,
failed to write numbers which contain a chunk of 7 zeroes in the middle. The
smallest such number is 2^14, so this is a problem if the source file to
preparse contains 16384 or more symbols (which happens in the wild).
This bug went unnoticed because the symbol data was not used by Parser (see
https://codereview.chromium.org/172753002/ for starting to use it again) and
there were no tests.
R=ulan@chromium.org
BUG=346221
LOG=y
Review URL: https://codereview.chromium.org/179433004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19538 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-25 11:51:02 +00:00
marja@chromium.org
3d85b86e23
Lazy preparsing vs. lazy parsing fix.
...
Preparsing is always maximally lazy (every function that can be lazy is preparsed
lazily), but Parser has more complicated laziness logic.
If we're going to parse eagerly, and we have preparse data from lazy preparsing,
we're gonna have a bad time. The symbol stream won't contain symbols inside lazy
functions, and when the Parser parses them eagerly, it will consume symbols from
the symbol stream, and everything will go wrong.
This bug was hidden because the symbol cache was not used for real (see
https://codereview.chromium.org/172753002/ ).
R=ulan@chromium.org
BUG=346207
LOG=Y
Review URL: https://codereview.chromium.org/177973002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19532 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-24 17:48:09 +00:00
m.m.capewell@googlemail.com
0468660b13
A64: Tidy up register use in TaggedToI
...
Fix bug where input register was potentially corrupted, tidy up register use in
TruncateDoubleToI and rename TryInlineTruncateDoubleToI.
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/173663002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19527 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-21 11:36:04 +00:00
marja@chromium.org
0a01afda76
Re-enable Parser::symbol_cache_ (after a long time!)
...
The Parser never used the symbol stream produced by the PreParser for anything
useful, due to a bug introduced 3.5 years ago by
https://codereview.chromium.org/3356010/diff/7001/src/parser.cc .
The bug is that calling Initialize on symbol_cache_ doesn't change its
length. So the length remains 0, and the "if" in Parser::LookupSymbol is always
true, and Parser::LookupCachedSymbol is never called and symbol_cache_ never
filled.
This bug also masked a bug that the symbol stream produced by PreParser doesn't
match what Parser wants to consume. The repro case is the following:
var myo = {if: 4}; print(myo.if);
PreParser doesn't log a symbol for the first "if", but in the corresponding
place, Parser consumes one symbol from the symbol stream. Since the consumed
symbols were never really used, this mismatch went unnoticed.
This CL also fixes that bug.
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/172753002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19505 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-20 11:35:37 +00:00
alexandre.rames@arm.com
7d64aab1a1
A64: Introduce 'branch types' that extend the architectural conditions.
...
The branch types include 'always' and 'never', and types like reg_zero (CBZ) and
reg_bit_clear (TBZ).
This will be used by incoming improvements to the code generated for
deoptimization exit points.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/170783002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19497 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-19 16:13:09 +00:00
rossberg@chromium.org
0d34254f8d
Upgrade Symbol implementation to match current ES6 behavior.
...
Refresh the implementation of Symbols to catch up with what the
specification now mandates:
* The global Symbol() function manufactures new Symbol values,
optionally with a string description attached.
* Invoking Symbol() as a constructor will now throw.
* ToString() over Symbol values still throws, and
Object.prototype.toString() stringifies like before.
* A Symbol value is wrapped in a Symbol object either implicitly if
it is the receiver, or explicitly done via Object(symbolValue) or
(new Object(symbolValue).)
* The Symbol.prototype.toString() method no longer throws on Symbol
wrapper objects (nor Symbol values.) Ditto for Symbol.prototype.valueOf().
* Symbol.prototype.toString() stringifies as "Symbol("<description>"),
valueOf() returns the wrapper's Symbol value.
* ToPrimitive() over Symbol wrapper objects now throws.
Overall, this provides a stricter separation between Symbol values and
wrapper objects than before, and the explicit fetching out of the
description (nee name) via the "name" property is no longer supported
(by the spec nor the implementation.)
Adjusted existing Symbol test files to fit current, adding some extra
tests for new/changed behavior.
LOG=N
R=arv@chromium.org , rossberg@chromium.org , arv, rossberg
BUG=v8:3053
Review URL: https://codereview.chromium.org/118553003
Patch from Sigbjorn Finne <sigbjornf@opera.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19490 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-19 14:19:42 +00:00
mvstanton@chromium.org
73b679cbee
Revert "Second attempt at introducing a premonomorphic state in the call"
...
This reverts commits r19463 and r19457 (includes MIPS port), there was a
Sunspider perf issue and on reflection we can achieve the necessary
result in a new way.
TBR=verwaest@chromium.org
Review URL: https://codereview.chromium.org/172383003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19488 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-19 13:55:25 +00:00
jacob.bramley@arm.com
6d9fcf1198
A64: Tidy up Push and Pop TODOs.
...
This addresses several TODOs:
- Push and Pop requests can be queued up so that arrays of Registers
can be pushed efficiently, with just one PrepareForPush/Pop.
- PushMultipleTimes now takes an Operand. This allows variable-length
arguments arrays to be initialized, for example.
- A NoUseRealAbortsScope has been added to Abort so that
AssertStackConsistency can be called from PrepareForPush without
introducing infinite recursion.
BUG=
R=rmcilroy@chromium.org , ulan@chromium.org
Review URL: https://codereview.chromium.org/170623002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19474 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-19 09:43:45 +00:00
jarin@chromium.org
58d0682f8d
Add filler at the new space top when forcing scavenge.
...
We only seem to force scavenge in our cctest test suite, so this is
expected to fix some flakiness in our tests, but it will not
improve stability of v8 itself.
R=hpayer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/167423004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19460 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-18 16:34:52 +00:00
alph@chromium.org
b4354d6d88
DevTools: Drop kSinTable dependency off the heap profiler ArrayBuffer backing_store test
...
LOG=N
R=dslomov@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/170253008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19458 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-18 15:57:44 +00:00
mvstanton@chromium.org
5224c3d0f0
Second attempt at introducing a premonomorphic state in the call
...
target caches.
This time we don't go through the premonomorphic state for
the Array call target caches to avoid losing information from
allocation sites that aren't only used once, but where the
resulting array is used heavily.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/169683003
Patch from Kasper Lund <kasperl@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19457 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-18 15:33:34 +00:00
alph@chromium.org
1bace575f0
Allow self_size to be larger than 2GB in heap snapshots.
...
LOG=N
R=dslomov@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/166383002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19445 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-18 13:22:07 +00:00
alexandre.rames@arm.com
62116e2c12
A64: Let the MacroAssembler resolve branches to distant targets.
...
Code generation would fail when assembling a branch to a label that is bound
outside the immediate range of the instruction. A64 is sensitive to this, as the
various branching instructions have different ranges, going down to +-32KB for
TBZ/TBNZ. The MacroAssembler is augmented to handle branches to targets that
may exceed the immediate range of instructions.
When branching backward to a label exceeding the instruction range, the
MacroAssembler can simply tweak the generated code to use an unconditional
branch with a longer range. For example instead of
B(cond, &label);
the MacroAssembler can generate:
b(InvertCondition(cond), &done);
b(&label);
bind(&done);
Since the target is not known when the branch is emitted, forward branches uses
a different mechanism. The MacroAssembler keeps track of forward branches to
unbound labels. When the code generation approaches the end of the range of a
branch, a veneer is generated for the branch.
BUG=v8:3148
LOG=Y
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/169893002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19444 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-18 13:15:32 +00:00
danno@chromium.org
000878d995
A64: fix cctest/test-code-stubs-a64/ConvertDToI.
...
R=danno@google.com
Review URL: https://codereview.chromium.org/169863002
Patch from Ulan Degenbaev <ulan@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19420 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-17 17:37:55 +00:00
danno@chromium.org
bedf702bcb
Revert r19403: "A64: Tidy up Push and Pop TODOs."
...
Causes a64 debug asserts
TBR=jacob.bramley@arm.com ,ulan@chromium.org
Review URL: https://codereview.chromium.org/169303007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19419 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-17 16:08:44 +00:00
dcarney@chromium.org
98d9db7ab3
build fix for 19415
...
TBR=jochen@chromium.org
BUG=
Review URL: https://codereview.chromium.org/169793002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19418 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-17 15:46:29 +00:00
marja@chromium.org
73c4a61848
(Pre)Parser: Simplify NewExpression handling (fixed).
...
Notes:
- We use simple recursion to keep track of how many "new" operators we have seen
and where.
- This makes the self-baked stack class PositionStack in parser.cc unnecessary.
- Now the logic is also unified between Parser and PreParser.
- This is a fixed version of r19386.
R=ulan@chromium.org
BUG=v8:3126
LOG=N
Review URL: https://codereview.chromium.org/168583008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19417 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-17 15:40:51 +00:00
alph@chromium.org
429ce41f4b
Make a single HeapEntry per single JSArrayBuffer data in heap snapshot.
...
It turned out that JSArrayBuffer's may share their backing_store so
the backing_store should go through hash map registration just like
other heap objects, so they won't be reported twice.
BUG=341741
LOG=N
R=dslomov@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/166993002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19416 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-17 15:24:39 +00:00
dcarney@chromium.org
44b1aa4ea8
make a64 compile on mavericks - part 1
...
R=jochen@chromium.org
BUG=
Review URL: https://codereview.chromium.org/169523005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19415 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-17 15:20:54 +00:00
rmcilroy@chromium.org
f6e95dc928
A64 support for DoubleToIStub (truncating).
...
Added support for truncating DoubleToIStub and reorganize the macro-assembler
dToI operations to do the fast-path inline and the slow path by calling the
stub.
This a port essentially a port of https://codereview.chromium.org/23129003/ .
R=jacob.bramley@arm.com , ulan@chromium.org
Review URL: https://codereview.chromium.org/160423002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19414 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-17 15:09:46 +00:00
mvstanton@chromium.org
8bcdbc354f
Revert "Add a premonomorphic state to the call target cache."
...
This reverts commit r19402
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/169713002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19412 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-17 14:22:18 +00:00
jacob.bramley@arm.com
1634631ae4
A64: Tidy up Push and Pop TODOs.
...
This addresses several TODOs:
- Push and Pop requests can be queued up so that arrays of Registers
can be pushed efficiently, with just one PrepareForPush/Pop.
- PushMultipleTimes now takes an Operand. This allows variable-length
arguments arrays to be initialized, for example.
- A NoUseRealAbortsScope has been added to Abort so that
AssertStackConsistency can be called from PrepareForPush without
introducing infinite recursion.
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/169533002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19403 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-17 12:08:06 +00:00
mvstanton@chromium.org
be731e6c95
Add a premonomorphic state to the call target cache.
...
From a CL by kasperl: https://codereview.chromium.org/162903004/
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/163413003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19402 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-17 11:59:45 +00:00
marja@chromium.org
0323bf9cd7
Revert "(Pre)Parser: Simplify NewExpression handling."
...
This reverts revision 19386.
Reason: Mozilla failures.
BUG=
TBR=ulan@chromium.org ,marja@chromium.org
Review URL: https://codereview.chromium.org/164183006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19388 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-14 16:08:14 +00:00
marja@chromium.org
c532977da3
(Pre)Parser: Simplify NewExpression handling.
...
Notes:
- We use simple recursion to keep track of how many "new" operators we have seen
and where.
- This makes the self-baked stack class PositionStack in parser.cc unnecessary.
- Now the logic is also unified between Parser and PreParser.
- It might have been a copy-paste artifact (ParseLeftHandSideExpression ->
ParseMemberWithNewPrefixesExpression) that the logic was so complicated
before.
R=ulan@chromium.org
BUG=v8:3126
LOG=N
Review URL: https://codereview.chromium.org/166943002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19386 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-14 15:33:10 +00:00
dcarney@chromium.org
0c844cc590
api accessor store ics should return passed value
...
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/166653003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19380 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-14 14:13:06 +00:00
marja@chromium.org
cd50687b41
(Pre)Parser: Move ParsePrimaryExpression to ParserBase.
...
Notes:
- To be able to move the recursive descent functions to ParserBase one at a
time, we temporarily need routing functions from traits to Parser/PreParser,
since the recursive descent functions form a cyclic structure.
- PreParser used to always allow intrinsic syntax. After this CL, it depends on
allow_natives_syntax() which was already in ParserBase.
- This CL also decouples (Pre)ParserTraits better from (Pre)Parser, passing more
information as parameters, so that the Traits don't need to get it from
(Pre)Parser.
R=ulan@chromium.org
BUG=v8:3126
LOG=N
Review URL: https://codereview.chromium.org/163333003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19374 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-14 11:24:26 +00:00
alph@chromium.org
4aabb8aeec
Count ArrayBuffer's backing_store memory in heap snapshot.
...
BUG=341741
LOG=N
R=dslomov@chromium.org , loislo@chromium.org
Review URL: https://codereview.chromium.org/163593002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19356 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-13 15:31:39 +00:00
ulan@chromium.org
01b275d989
Enable test-api/SetFunctionEntryHook for a64. It was fixed in r19297.
...
BUG=v8:3153
LOG=N
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/163243003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19352 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-13 10:56:10 +00:00
bmeurer@chromium.org
42c57ea94b
Allow map check hoisting in GVN for stable maps.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/163263002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19351 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-13 10:47:00 +00:00
yangguo@chromium.org
fb22b7b05e
Internalize string keys in Keyed{Store,Load}IC.
...
R=jkummerow@chromium.org
BUG=v8:3144
LOG=N
Review URL: https://codereview.chromium.org/162983003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19345 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-13 08:43:53 +00:00
rafaelw@chromium.org
6b5a4cdef2
V8 Microtask Queue & API
...
This patch generalizes Object.observe callbacks and promise resolution into a FIFO queue called a "microtask queue".
It also exposes new V8 API which exposes the microtask queue to the embedder. In particular, it allows the embedder to
-schedule a microtask (EnqueueExternalMicrotask)
-run the microtask queue (RunMicrotasks)
-control whether the microtask queue is run automatically within V8 when the last script exits (SetAutorunMicrotasks).
R=dcarney@chromium.org , rossberg@chromium.org , dcarney, rossberg, svenpanne
BUG=
Review URL: https://codereview.chromium.org/154283002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19344 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-12 22:04:19 +00:00
verwaest@chromium.org
161b2f689a
Reland: "Use stability to only conditionally flush information from the CheckMaps table."
...
BUG=
R=ishell@chromium.org
Original CL: https://codereview.chromium.org/153823003
Review URL: https://codereview.chromium.org/153653007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19342 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-12 18:48:12 +00:00
yangguo@chromium.org
6c4133a309
Fix test-heap/OptimizedPretenuringAllocationFolding wrt concurrent recompilation delay.
...
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/148063008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19338 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-12 16:18:18 +00:00
alph@chromium.org
887bd2850d
Stack trace string should use dynamic script sourceURL if present.
...
BUG=v8:2342
R=dcarney@chromium.org , yurys@chromium.org , yurys
LOG=N
Review URL: https://codereview.chromium.org/143283015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19333 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-12 15:50:23 +00:00
verwaest@chromium.org
75432b7696
Revert "Use stability to only conditionally flush information from the CheckMaps table."
...
R=ishell@chromium.org
BUG=
Review URL: https://codereview.chromium.org/137863005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19331 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-12 15:38:42 +00:00
verwaest@chromium.org
2b7d33572a
Use stability to only conditionally flush information from the CheckMaps table.
...
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/153823003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19330 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-12 15:07:41 +00:00
jochen@chromium.org
96a1886637
A64: Skip more known failures
...
TBR=ulan@chromium.org
BUG=none
LOG=n
Review URL: https://codereview.chromium.org/160073007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19318 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-12 11:57:50 +00:00
jochen@chromium.org
c2c9228c8a
A64: Skip cctests failing in debug mode
...
TBR=ulan@chromium.org
BUG=none
LOG=n
Review URL: https://codereview.chromium.org/160303003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19314 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-12 10:29:18 +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
marja@chromium.org
a4ea70009c
Disable test-api/PreCompileInvalidPreparseDataError for NaCl.
...
More information: https://code.google.com/p/v8/issues/detail?id=3150
R=machenbach@chromium.org
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19306 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-12 08:20:07 +00:00
dcarney@chromium.org
ce789e8890
Add more test cases for api function inlining
...
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/154283003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19278 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-11 12:49:15 +00:00
marja@chromium.org
f59ac1cba5
Move ParseRegexpLiteral to ParserBase.
...
R=ulan@chromium.org
BUG=v8:3126
LOG=N
Review URL: https://codereview.chromium.org/156423005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19273 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-11 11:51:01 +00:00
yangguo@chromium.org
ab2aaac110
Disable concurrent osr for test-mark-compact/BootUpMemoryUse.
...
If --concurrent-osr is on, it will imply --concurrent-recompilation, even
though it's expected to be disabled.
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/143183006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19271 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-11 11:47:38 +00:00
marja@chromium.org
d74fd20fca
Traitify ParserBase and move functions there.
...
(Second try, with fixes. First try: https://codereview.chromium.org/149913006/ )
The long-term goal is to move all recursive descent functions from Parser and
PreParser into ParserBase, but first they need to be unified.
Notes:
- The functions moved in this CL: ParseIdentifier, ParseIdentifierName,
ParseIdentifierNameOrGetOrSet, ParseIdentifierOrStrictReservedWord.
- IOW, this CL removes Parser::ParseIdentifier and PreParser::ParseIdentifier
and adds ParserBase::ParseIdentifier, etc.
- Error reporting used to require virtual funcs; now error reporting is moved to
the Traits too, and ParserBase no longer needs to be virtual.
- I had to move PreParser::Identifier out of the PreParser class, because
otherwise PreParserTraits cannot use it in a typedef.
BUG=v8:3126
LOG=N
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/158913003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19265 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-11 09:35:32 +00:00
mvstanton@chromium.org
516ed9fa90
Adding a type vector to replace type cells.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/137403009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19244 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-10 21:38:17 +00:00
plind44@gmail.com
8920f345c7
MIPS: Add NaN test to cctest/test-macro-assembler-mips.
...
NaN value is different on MIPS and x86 architectures, and TEST(NaNx)
tests checks the case where a x86 NaN value is serialized into the snapshot
on the simulator during cross compilation.
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/144473008
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19241 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-10 19:46:34 +00:00
marja@chromium.org
d8b8628f39
Revert "Traitify ParserBase and move functions there."
...
This reverts commit r19230.
Reason: Build failures on NaCl.
BUG=
TBR=marja@chromium.org ,mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/158873006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19234 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-10 16:21:11 +00:00
marja@chromium.org
71a6d70d97
Traitify ParserBase and move functions there.
...
The long-term goal is to move all recursive descent functions from Parser and
PreParser into ParserBase, but first they need to be unified.
Notes:
- The functions moved in this CL: ParseIdentifier, ParseIdentifierName,
ParseIdentifierNameOrGetOrSet, ParseIdentifierOrStrictReservedWord.
- IOW, this CL removes Parser::ParseIdentifier and PreParser::ParseIdentifier
and adds ParserBase::ParseIdentifier, etc.
- Error reporting used to require virtual funcs; now error reporting is moved to
the Traits too, and ParserBase no longer needs to be virtual.
- I had to move PreParser::Identifier out of the PreParser class, because
otherwise PreParserTraits cannot use it in a typedef.
BUG=v8:3126
LOG=N
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/149913006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19230 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-10 15:35:39 +00:00
yangguo@chromium.org
b618d2a42a
Fix inconsistencies wrt whitespaces.
...
This relands r19196 with fixes.
BUG=v8:3109
LOG=Y
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/141323007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19222 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-10 12:43:10 +00:00
marja@chromium.org
ff1c294cf9
Unify (Pre)Parser::ParseTryStatement.
...
Notes:
- This makes Parser and PreParser produce the same errors with the added test
cases (this was not the case before).
- ParseBlock already does Expect(Token::LBRACE), so no need to check it twice.
BUG=v8:3126
LOG=N
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/148233011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19212 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-10 08:45:13 +00:00
rossberg@chromium.org
e8175a3e9f
Revert "Make Function.length and Function.name configurable properties."
...
Plenty of test failures on test262, Mozilla, Webkit. Will have to investigate.
TBR=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/139983003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19203 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-07 15:29:18 +00:00
rossberg@chromium.org
7317b71f02
Make Function.length and Function.name configurable properties.
...
ES6 makes the Function object properties "length" and "name"
configurable; switch the implementation over to follow that.
Doing so exposed a problem in the handling of non-writable, but
configurable properties backed by foreign callback accessors
internally. As an optimization, if such an accessor property is
re-defined with a new value, its setter was passed the new value
directly, keeping the property as an accessor property. However, this
is not correct should the property be non-writable, as its setter will
then simply ignore the updated value. Adjust the enabling logic for
this optimization accordingly, along with adding a test.
LOG=N
R=rossberg@chromium.org , rossberg
BUG=v8:3045
Review URL: https://codereview.chromium.org/116083006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19200 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-07 14:55:30 +00:00
yangguo@chromium.org
db1a685b8f
Revert "Fix inconsistencies wrt whitespaces."
...
This reverts r19196.
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/147443008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19199 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-07 14:13:00 +00:00
marja@chromium.org
caa727711f
Unify function parameter checking in PreParser and Parser.
...
This also makes the "delayed strict mode violations" mechanism in PreParser
unnecessary.
The attached tests didn't pass before this CL but now they do.
BUG=v8:3126
LOG=N
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/157453003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19197 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-07 12:44:45 +00:00
yangguo@chromium.org
d0f57e1195
Fix inconsistencies wrt whitespaces.
...
\u0085 (NEL) is now considered a whitespace in accordance to http://www.unicode.org/Public/6.3.0/ucd/PropList.txt
R=mstarzinger@chromium.org
BUG=v8:3109
LOG=Y
Review URL: https://codereview.chromium.org/146983007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19196 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-07 12:34:45 +00:00
svenpanne@chromium.org
5f8105af3c
Make LeakSanitizer happy, part 3.
...
Fixed a few more cctests and removed some which were broken for ages
and/or tested nothing useful anymore.
Note that cctests are now fully LeakSanitized (at least on x64)!
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/157463002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19195 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-07 12:17:45 +00:00
marja@chromium.org
7a53841cd1
Add regression tests for PrePreparser.
...
These tests ensure that PreParser doesn't start producing less data when it's
getting refactored.
BUG=3126
LOG=N
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/157373002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19192 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-07 10:28:00 +00:00
marja@chromium.org
5b890419f5
Unify PreParser::ParseIdentifierName and Parser::ParseIdentifierName.
...
No special handling for keywords is needed, since the literal ascii strings for
them work too (see how Parser did it).
BUG=3126
LOG=N
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/152853006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19184 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-07 08:45:28 +00:00
svenpanne@chromium.org
cb6e1b4536
Win64 fixes.
...
TBR=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/157243004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19180 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-07 07:44:19 +00:00
svenpanne@chromium.org
bda84eaf23
Make LeakSanitizer happy, part 2. Fixed register usage on the way.
...
Note that according to the System V ABI for AMD64, rbx must be
preserved across calls. We actually crash with clang in the x64
assembler tests without that fix, we were lucky with GCC.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/144313017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19178 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-07 07:06:13 +00:00
rafaelw@chromium.org
41039c4f13
Revert "Implement Microtask Delivery Queue"
...
TBR=adamk,rossberg
BUG=
Review URL: https://codereview.chromium.org/150103012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19176 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-07 01:08:50 +00:00
marja@chromium.org
42ea494cd6
Redo r19140 with better efficiency.
...
Still relevant parts of the original commit message:
Unify paren handling in Parser and PreParser.
It is only needed in (Pre)Parser::ParseExpressionOrLabelledStatement for not
recognizing parenthesized identifiers as labels and in
(Pre)Parser::ParseSourceElements for not recognizing a parenthesized string as
directive prologue.
Parser Expressions don't keep track of whether they're parenthesized, so
PreParser Expressions shouldn't either.
BUG=3126
LOG=N
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/148323011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19153 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-06 13:12:10 +00:00
marja@chromium.org
e6bc60c98d
Revert "Unify paren handling in Parser and PreParser."
...
This reverts r19140.
Reason: Octane regression.
BUG=
TBR=verwaest@chromium.org
Review URL: https://codereview.chromium.org/156673002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19147 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-06 11:59:16 +00:00
dcarney@chromium.org
12039c97c6
swap in global proxy on accessors
...
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/156623002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19142 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-06 10:50:07 +00:00
marja@chromium.org
76646e88ed
Unify paren handling in Parser and PreParser.
...
It is only needed in (Pre)Parser::ParseExpressionOrLabelledStatement for not
recognizing parenthesized identifiers as labels and in
(Pre)Parser::ParseSourceElements for not recognizing a parenthesized string as
directive prologue.
Parser Expressions don't keep track of whether they're parenthesized, so
PreParser Expressions shouldn't either.
In addition, add helper funcs for checking if an Expression is identifier or a
given identifier. (PreParser Expressions can do this.)
BUG=3126
LOG=N
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/150103004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19140 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-06 10:30:02 +00:00
dcarney@chromium.org
6df537d631
inline api setters in crankshaft
...
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/155913002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19129 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-06 07:31:08 +00:00
svenpanne@chromium.org
f0bf110448
Make LeakSanitizer happy, part 1.
...
Bumped an assembler buffer on the way, it is necessary for some combinations of debugging flags.
Note that the allocation profiler still leaks, this is handled in a separate CL.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/152643006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19128 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-06 07:16:41 +00:00
dcarney@chromium.org
5028ebaa8b
inline api getters in crankshaft
...
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/146023004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19110 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-05 15:52:31 +00:00
marja@chromium.org
14a90fcc57
Better tests for the Parser / Preparser unification.
...
We need a way to assert that for a given source code snippet, an error *is*
produced or *is not* produced. Otherwise we might accidentally create new
errors or start accepting code which was previously not accepted. Just checking
that Parser and PreParser produce the same result doesn't cut it.
BUG=3126
LOG=N
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/154243005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19107 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-05 15:30:01 +00:00
yangguo@chromium.org
f6d1a4fef1
Allow externalizing strings in old pointer space.
...
This is what I think is a better solution to the "external strings in
old pointer space" problem. Basically, it is an issue because GC scans
all fields of objects in old pointer space and if the cached address
of the backing store is unaligned, it looks like a heap object, boom.
The solution here is to use short external strings when we externalize
a string in old pointer space, and when the address is unaligned.
Short external strings don't cache the address, so GC has no issues.
BUG=268686
LOG=Y
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/146183006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19093 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-05 09:29:04 +00:00
marja@chromium.org
dd539775d7
Test for miscellaneous (pre)parse errors.
...
BUG=3126
LOG=N
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/154133002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19092 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-05 08:38:26 +00:00
rafaelw@chromium.org
7de9fc0a12
Implement Microtask Delivery Queue
...
R=rossberg@chromium.org , rossberg
BUG=
Review URL: https://codereview.chromium.org/131413008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19084 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-04 19:58:49 +00:00
marja@chromium.org
23cbf27e12
Tests for (pre)parse errors when "yield" is found in inappropriate places.
...
In addition:
- Fix: PreParser used to report an unexpected token one token too late when
ParsePrimaryExpression failed.
- Unified identifier handling (PreParser::GetIdentifier is now like Parser::GetIdentifier).
- Fix: PreParser used to produce "unexpected_token YIELD" errors when Parser
produced "unexpected_token_identifier"; fixed PreParser to match Parser.
BUG=3126
LOG=N
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/151103006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19082 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-04 18:16:45 +00:00
marja@chromium.org
35354cb9b7
Tests and fixes for (pre)parse errors related to future reserved words.
...
This contains the following fixes:
- PreParser was using an error "reserved_word" which doesn't exist in
messages.js. Changed it to "unexpected_reserved".
BUG=3126
LOG=N
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/153793002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19076 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-04 16:38:47 +00:00
palfia@homejinni.com
5859e4d488
MIPS: Fix test-assembler-mips/MIPS10 test.
...
cvt_l_d() and cvt_d_l() instructions are replaced to cvt_w_d() and ctv_d_w() because kernel FPU emulator generates illegal instruction for double <-> long conversions.
BUG=
R=jkummerow@chromium.org , plind44@gmail.com
Review URL: https://codereview.chromium.org/133363005
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19073 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-04 14:05:46 +00:00
svenpanne@chromium.org
c270bad71e
Don't access stack-allocated variable when it is out of scope. Enable Isolate cleanup in cctests again.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/146973005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19068 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-04 12:23:30 +00:00
marja@chromium.org
443e645a2d
Tests and fixes for (pre)parse errors related to strict reserved words.
...
This contains the following fixes:
- We had strict_reserved_word and unexpected_strict_reserved, which one to use
was totally mixed in Parser and PreParser. Removed strict_reserved_word.
- When we saw a strict future reserved word when expecting something completely
different (such as "(" in "function foo interface"), Parser reports unexpected
identifier, whereas PreParser used to report unexpected strict reserved
word. Fixed PreParser to report unexpected identifier too.
- Unified parser and preparser error locations when the name of a function is a
strict reserved word. Now both point to the name.
BUG=3126
LOG=N
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/149253010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19067 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-04 12:19:53 +00:00
hpayer@chromium.org
e5c7f4eff1
Added a test which installs a poisonous memento right after the new space top pointer.
...
BUG=
R=bmeurer@chromium.org , mvstanton@chromium.org
Review URL: https://codereview.chromium.org/152813003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19066 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-04 12:10:30 +00:00
alph@chromium.org
efee3b8608
Add Box object to heap profiler.
...
LOG=Y
R=ulan@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/143343006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19063 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-04 11:43:19 +00:00
marja@chromium.org
2794955852
Tests for (pre)parse errors when "eval" and "arguments" are found in inappropriate places.
...
In addition:
- Fix a bug in parser discovered by the tests (prefix and postfix confused in an
error message); the preparser had it right.
- Unify the parser and preparser error locations when the name of a function is
"eval" or "arguments. Now both point to the name.
BUG=3126
LOG=N
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/153693002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19062 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-04 11:26:19 +00:00
marja@chromium.org
f62ef25c08
Revert "Tests for (pre)parse errors when "eval" and "arguments" are found in inappropriate places."
...
Reason: The fixed error message broke some tests.
This reverts r19050.
BUG=
TBR=ulan@chromium.org
Review URL: https://codereview.chromium.org/153673002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19053 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-04 10:00:36 +00:00
jkummerow@chromium.org
a550a188e0
Add per-file OWNERS for MIPS-specific cctests
...
R=danno@chromium.org
Review URL: https://codereview.chromium.org/148923003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19052 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-04 09:53:26 +00:00
marja@chromium.org
9aa05b0997
Tests for (pre)parse errors when "eval" and "arguments" are found in inappropriate places.
...
In addition:
- Fix a bug in parser discovered by the tests (prefix and postfix confused in an
error message); the preparser had it right.
- Unify the parser and preparser error locations when the name of a function is
"eval" or "arguments. Now both point to the name.
BUG=3126
LOG=N
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/140543003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19050 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-04 09:47:30 +00:00
svenpanne@chromium.org
681289e0d6
Revert "Dispose Isolate at end of cctest."
...
Things work locally, only the waterfall is unhappy for some arcane reason.
Investigating...
TBR=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/133193006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19049 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-04 09:41:21 +00:00
svenpanne@chromium.org
4a4e64d6c7
Dispose Isolate at end of cctest.
...
No measurable change in test running time, we clean up only trivial
known things at disposal time and do not walk the heap, run real
finalizers, etc.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/135153007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19047 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-04 08:30:35 +00:00
yangguo@chromium.org
6f95c0b11b
[x64] add disasm for two fp instructions
...
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/146583002
Patch from Weiliang Lin <weiliang.lin@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19022 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-03 08:13:12 +00:00
svenpanne@chromium.org
16bcd43187
More cctest fixes regarding lifetime/ownership.
...
* Avoid double-free in cctest/test-api/RegExpInterruption.
* Avoid incorrect zone fiddling in cctest/test-strings.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/144533005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19020 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-03 07:29:23 +00:00
verwaest@chromium.org
ae7a209e71
Remove CallICs
...
BUG=
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/148223002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19001 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-31 16:52:17 +00:00
svenpanne@chromium.org
2daf43ac13
Once again: Fixed some lifetime/ownership issues in cctest
...
* Fixed lifetime issue in cctest/test-heap-profiler/HeapSnapshotJSONSerialization.
* Fixed ownership issue in cctest/test-api/ContainsOnlyOneByte.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/142553005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18978 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-31 09:59:50 +00:00
svenpanne@chromium.org
39d1534d66
Fixed a few lifetime/ownership issues in cctest/test-api.
...
* Fixed CompileExternalTwoByteSource: Registered resources should
better still be alive when they are accessed.
* Fixed ownership in cctest/test-api/VisitExternalStrings.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/139923003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18971 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-31 07:29:25 +00:00
dcarney@chromium.org
5c589640bf
crankshaft support for api method calls
...
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/148333003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18946 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-30 13:18:41 +00:00
machenbach@chromium.org
c3c064360d
Disable unsuitable tests in ASAN mode.
...
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/148963010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18944 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-30 12:52:22 +00:00
alph@chromium.org
9e3af5a4db
Add global_context field to GlobalObject in heap profiler.
...
LOG=N
R=ulan@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/143263015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18942 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-30 12:17:21 +00:00
svenpanne@chromium.org
0c2c9ece90
Make sure we delete[] what we got from new[], not one byte after it.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/150213002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18937 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-30 10:53:20 +00:00
machenbach@chromium.org
32f45eb7df
Fix test expectations for cctest/test-debug.
...
BUG=v8:3125
R=bmeurer@chromium.org
TBR=verwaest@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/150173003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18935 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-30 10:16:54 +00:00
alph@chromium.org
c911ec3322
Do not overwrite builtin code names in heap profiler
...
Make sure builtin code objects get their builtin tags
first. Otherwise a particular JSFunction object could set
its custom name to a generic builtin.
LOG=N
R=ulan@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/145973006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18926 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-29 17:03:13 +00:00
machenbach@chromium.org
953470bdf8
[Sheriff] Mark test-debug/* as flaky on Mac.
...
Now including release mode.
BUG=v8:3125
LOG=n
TBR=verwaest@chromium.org
Review URL: https://codereview.chromium.org/149623002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18925 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-29 16:59:50 +00:00
machenbach@chromium.org
1f346769c1
Don't parallelize tests that register extensions.
...
These tests register extensions on the isolate and the configuration of the extensions runs out of scope. If run in parallel, other tests access the isolate's state and read the registered extensions.
BUG=
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/149413005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18921 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-29 15:29:58 +00:00
machenbach@chromium.org
2eb89824b5
[Sheriff] Mark test-debug/* as flaky on Mac.
...
BUG=v8:3125
LOG=n
TBR=verwaest@chromium.org
Review URL: https://codereview.chromium.org/135183015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18920 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-29 15:15:37 +00:00
alph@chromium.org
5a2fe0a670
Mark next_code_link as weak in heap profiler.
...
LOG=N
R=ulan@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/136113007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18907 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-29 13:45:41 +00:00
hpayer@chromium.org
9e462504fb
Turn off global pretenuring when allocation site pretenuring is in use.
...
BUG=
R=mstarzinger@chromium.org , mvstanton@chromium.org
Review URL: https://codereview.chromium.org/133803002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18868 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-28 09:47:03 +00:00
dcarney@chromium.org
d2a4bd32fb
don't anger clang
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/141433016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18848 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-27 10:06:37 +00:00
alph@chromium.org
89ffd30537
Allow arbitrary names for weak references in heap snapshots.
...
LOG=N
BUG=
R=ulan@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/146843003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18846 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-27 09:37:02 +00:00
dcarney@chromium.org
1b30de8b55
Fix issue with context not being saved on x64 introduced in 144543004
...
TBR=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/143333003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18845 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-27 08:12:59 +00:00