mstarzinger@chromium.org
c0461d999c
Update ReceiverObjectNeedsWriteBarrier to include HFastLiteral
...
This will prevent unnecessary write barriers for literals.
BUG=none
TEST=none
Review URL: https://codereview.chromium.org/11143005
Patch from Derek J Conrod <dconrod@codeaurora.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12823 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-25 15:45:24 +00:00
mstarzinger@chromium.org
e119459af2
Set kChangesNewSpacePromotion for HStringAdd
...
TEST=none
BUG=none
Review URL: https://codereview.chromium.org/11143006
Patch from Derek J Conrod <dconrod@codeaurora.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12822 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-25 15:23:39 +00:00
rossberg@chromium.org
aa5e1c3483
Set up Proxy methods the proper way.
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/11274047
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12821 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-25 15:13:44 +00:00
rossberg@chromium.org
ae93cf665d
Initial JS stub implementation of Object.observe. Adds support for .object/.unobserve/.notify/.deliverChangeRecords. No delivery mechanism is implemented for end-of-microtask.
...
Review URL: https://codereview.chromium.org/11225058
Patch from Rafael Weinstein <rafaelw@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12820 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-25 14:56:44 +00:00
rossberg@chromium.org
cd9029a502
Initial JS stub implementation of Object.observe. Adds support for .object/.unobserve/.notify/.deliverChangeRecords. No delivery mechanism is implemented for end-of-microtask.
...
Review URL: https://codereview.chromium.org/11225058
Patch from Rafael Weinstein <rafaelw@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12819 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-25 14:53:26 +00:00
mstarzinger@chromium.org
8133d85955
Fix test failures in r12813.
...
R=yangguo@chromium.org
BUG=v8:1490
Review URL: https://codereview.chromium.org/11264035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12818 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-25 13:54:10 +00:00
yangguo@chromium.org
e91473f057
Relax test expectations to appease mac build.
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11272029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12817 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-25 12:39:41 +00:00
yangguo@chromium.org
58c82e93b3
Catch stack overflow in JSON.parse.
...
BUG=
Review URL: https://chromiumcodereview.appspot.com/11275039
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12816 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-25 12:36:40 +00:00
mstarzinger@chromium.org
ebb44f0d30
Expose gc(true) to JavaScript, which triggers a scavenger GC.
...
With the --expose_gc option, gc() is exposed to JavaScript. Currently gc() triggers a full GC.
To enable JavaScript to test the behavior of a scavenger GC, this patch exposes gc(true). If the first argument is true, gc(...) triggers a scavenger GC. Otherwise, gc(...) triggers a full GC.
BUG=
Test=Manually confirmed that gc() and gc(false) trigger a full GC and that gc(true) triggers a scavenger GC.
Review URL: https://codereview.chromium.org/11232065
Patch from Kentaro Hara <haraken@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12815 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-25 12:23:03 +00:00
yangguo@chromium.org
e40b33d39e
Correctly check for stack limit in JSON.stringify.
...
Changes include:
- inline functions in a way as not to waste stack space.
- reset StackReserveSize to the value prior to r12808.
- check stack overflow dynamically.
R=ulan@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11271021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12814 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-25 12:18:24 +00:00
mstarzinger@chromium.org
b55988625d
Get rid of obsolete unchecked accessors.
...
R=yangguo@chromium.org
BUG=v8:1490
Review URL: https://codereview.chromium.org/11271020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12813 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-25 11:52:37 +00:00
ulan@chromium.org
889de3b780
Fix memory leak in RegExpStack.
...
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/11275037
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12812 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-25 11:10:13 +00:00
danno@chromium.org
0f8992395c
Fast-forward to version 3.15.0
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/11271019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12811 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-25 10:53:35 +00:00
mstarzinger@chromium.org
2baf7eb8e2
Fix typo in V8::MarkIndependent()
...
BUG=
Review URL: https://codereview.chromium.org/11238064
Patch from Kentaro Hara <haraken@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12810 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-25 10:07:26 +00:00
ulan@chromium.org
4183f03848
Fix memory leak in DeoptimizerData.
...
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/11269035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12809 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-25 09:35:55 +00:00
yangguo@chromium.org
b2d41f8fe8
Fix stack overflow in JSON.stringify.
...
R=verwaest@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11265011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12808 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-24 15:49:59 +00:00
ulan@chromium.org
8f0501f509
Define CAN_USE_ARMV7_INSTRUCTIONS if armv7 gyp flag is set.
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/11274008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12807 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-24 12:38:24 +00:00
ulan@chromium.org
cb7645b43b
Enable shared library on android
...
This change fixed link errors in building shared library
for android. crtbegin_so.o is added to resolve dso_handle
and exclude-libs option is removed for shared library.
Review URL: https://chromiumcodereview.appspot.com/11262003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12806 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-24 12:11:15 +00:00
yangguo@chromium.org
7fe6eb5c8e
Add json-stringifier.h to v8.gyp.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11267006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12805 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-24 09:56:01 +00:00
yangguo@chromium.org
295dee36bb
Use correct timezone information on Solaris
...
`timezone` variable contains the difference, in seconds, between UTC and
local standard time (see `man 3 localtime` on Solaris).
Call to `tzset` is required to apply contents of `TZ` variable to
`timezone` variable.
BUG=v8:2064
Review URL: https://chromiumcodereview.appspot.com/10967066
Patch from Maciej Małecki <me@mmalecki.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12802 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-23 13:04:05 +00:00
yangguo@chromium.org
169185088e
Fix Windows 64 build.
...
R=verwaest@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11238060
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12800 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-23 12:00:42 +00:00
yangguo@chromium.org
657cd22463
Fix Windows build.
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11232058
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12799 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-23 09:39:19 +00:00
yangguo@chromium.org
748f8bf7e1
Optimize inner-loop in JSON.stringify.
...
R=verwaest@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11234031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12798 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-23 09:05:56 +00:00
jkummerow@chromium.org
5677ee6565
Fix tools/run-tests.py --report when tests are specified on the command line
...
Review URL: https://codereview.chromium.org/11189136
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12797 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-23 08:59:53 +00:00
mstarzinger@chromium.org
cee59bf522
Enable incremental code flushing.
...
This enables code flushing even with incremental marking enabled and
fully shares the function link field in JSFunctions between candidates
for code flushing and the optimized functions list. If a candidate for
code flushing gets optimized, it will be evicted from the candidates
list.
R=ulan@chromium.org
BUG=v8:1609
Review URL: https://codereview.chromium.org/11140025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12796 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-23 08:25:04 +00:00
verwaest@chromium.org
362e8cb02a
Pretenure JSON graph if the input string is larger than 100*1024 chars.
...
Review URL: https://chromiumcodereview.appspot.com/11238031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12795 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-23 08:06:28 +00:00
alexeif@chromium.org
b882786349
Add a type conversion to fix Windows build after r12793
...
TBR=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/11227034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12794 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-22 18:25:10 +00:00
mstarzinger@chromium.org
37759f4d64
Implement committed physical memory stats for Linux.
...
The patch introduces CommittedPhysicalMemory function to
the Heap class that reports committed *physical* memory acquired
for the heap from the OS.
It is important because some OSes may defer actual committment on e.g.
first access to the region.
So reporting just plain committed size led to various weird artifacts
like showing V8 allocated memory higher than the whole process
private size.
BUG=v8:2191
Review URL: https://codereview.chromium.org/11066118
Patch from Alexei Filippov <alph@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12793 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-22 16:33:10 +00:00
ulan@chromium.org
3c864d3e79
Fix warnings about tautological compares by recent Clang versions.
...
This fixes the following Clang warnings:
../../v8/src/ia32/assembler-ia32.cc:1504:24: warning: comparison of constant 16 with expression of type 'v8::internal::Condition' is always true [-Wtautological-constant-out-of-range-compare]
ASSERT(0 <= cc && cc < 16);
~~~~~~~~~~~~~~~~~~~~~^~~~~
../../v8/src/ia32/assembler-ia32.cc:1536:27: warning: comparison of constant 16 with expression of type 'v8::internal::Condition' is always true [-Wtautological-constant-out-of-range-compare]
ASSERT((0 <= cc) && (cc < 16));
~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~
BUG=crbug.com/151927
Review URL: https://chromiumcodereview.appspot.com/11225030
Patch from Hans Wennborg <hans@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12792 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-22 15:59:58 +00:00
ulan@chromium.org
d247c5e6c7
Change constant pool marker to be the unconditional, permanently undefined instruction.
...
The previously-used instruction isn't guaranteed to always be undefined,
and the encoding used was conditional (failing the condition on an
undefined instruction is itself undefined and not guaranteed to
fault!). I would have like to use a more clever encoding (see bug 2963),
but we need the extra bits to encode the size of the constant pool.
BUG=security
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/11242002
Patch from JF Bastien <jfb@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12791 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-22 15:25:17 +00:00
yangguo@chromium.org
e50ee08ad6
Reland JSON.stringify reimplementation.
...
BUG=
Review URL: https://chromiumcodereview.appspot.com/11189112
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12790 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-22 14:22:58 +00:00
jkummerow@chromium.org
5ea870f855
tools/run-tests.py: A few timeout-related fixes
...
Review URL: https://codereview.chromium.org/11230029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12789 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-22 14:13:01 +00:00
rossberg@chromium.org
f923250daf
Prepare push to trunk. Now working on version 3.14.6.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/11189113
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12786 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-22 13:09:01 +00:00
mstarzinger@chromium.org
34d98a804d
Fix deletion of hidden property with inline-stored hash.
...
R=yangguo@chromium.org
BUG=chromium:157124
TEST=cctest/test-api/Regress157124
Review URL: https://codereview.chromium.org/11233033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12785 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-22 12:50:51 +00:00
danno@chromium.org
f07b229104
MIPS: Use movw/movt instead of constant pool on ARMv7.
...
Port r12755 (5d62d66e)
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/11232036
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12784 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-22 11:15:09 +00:00
yangguo@chromium.org
e41250a390
Revert r12760 (JSON.stringify).
...
R=verwaest@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11225026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12783 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-22 11:11:22 +00:00
yangguo@chromium.org
3c5e899378
Fix two-char hash to use correct fallback for zero hashes.
...
R=verwaest@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11228004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12782 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-22 10:38:40 +00:00
mstarzinger@chromium.org
c71c3cfd65
Fix typo in Makefile in ARM VFP support flag.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/11235026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12781 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-22 10:00:28 +00:00
ulan@chromium.org
18ff15ca8c
Speed up function deoptimization by avoiding quadratic pass over optimized function list.
...
R=danno@chromium.org
BUG=155270
Review URL: https://chromiumcodereview.appspot.com/11189091
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12780 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-22 09:48:56 +00:00
verwaest@chromium.org
d33cda9338
Micro-optimizing the json parser
...
Review URL: https://chromiumcodereview.appspot.com/11237002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12779 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-19 15:37:28 +00:00
verwaest@chromium.org
4f40326fae
Fast path for searching through simple transitions
...
Review URL: https://chromiumcodereview.appspot.com/11189089
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12778 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-19 15:03:27 +00:00
yangguo@chromium.org
06f7d1c92c
Improve ClampDoubleToUint8 on ia32/x64.
...
It's measured faster when:
a) clamp never happens;
b) clamp random happens ([-128,384], pseudo random).
Review URL: https://chromiumcodereview.appspot.com/11190049
Patch from Zheng Liu <zheng.z.liu@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12777 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-19 13:20:22 +00:00
verwaest@chromium.org
c9e86f4b69
Remove scratch register requirement from LoadInstanceDescriptors on arm and mips.
...
Review URL: https://chromiumcodereview.appspot.com/11193022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12776 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-19 12:39:59 +00:00
yangguo@chromium.org
8148f972e8
Stress GC less by allocating exponentially growing string chunks in JSON.stringify.
...
R=verwaest@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11232002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12775 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-19 12:39:43 +00:00
yangguo@chromium.org
f910052543
Always invoke the default Array.sort functions from builtin functions, part 2.
...
R=vegorov@chromium.org
BUG=v8:2372
Review URL: https://chromiumcodereview.appspot.com/11175007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12774 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-19 12:30:18 +00:00
danno@chromium.org
063609280e
Add a faster API for creating v8::Integer objects
...
In WebKit, we have a small integer cache because calling v8::Integer::New is
slow. This patch adds a faster API for creating integers that requires the
caller to supply the v8::Isolate, saving us the work of looking up the isolate
in thread-local storage.
BUG=
Review URL: https://codereview.chromium.org/11212004
Patch from Adam Barth <abarth@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12773 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-19 11:15:04 +00:00
verwaest@chromium.org
a0c9856bce
Get the target field index when transitioning.
...
Review URL: https://chromiumcodereview.appspot.com/11194080
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12772 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-19 10:48:18 +00:00
danno@chromium.org
ace5bf3f94
Fix ARM dissambler test problems with movw/movt.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/11198061
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12771 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-19 10:44:56 +00:00
ulan@chromium.org
c6feb5065c
Fix test runner for Android.
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/11193055
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12770 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-19 09:55:27 +00:00
ulan@chromium.org
06a9f51ccb
Adjust Android test expectations.
...
Disable long running tests:
- test-threads/ThreadJoinSelf in release and debug modes.
- regress/regress-1122 in debug mode.
Disable failing test:
- preparser/strict-octal-regexp (v8 issue 2265).
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/11185073
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12769 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-19 09:28:23 +00:00