yangguo@chromium.org [Thu, 11 Apr 2013 09:53:00 +0000 (09:53 +0000)]
Fix JSON.stringify's slow path wrt sliced strings.
R=mvstanton@chromium.org
BUG=229923
Review URL: https://chromiumcodereview.appspot.com/
14107004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14224
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 11 Apr 2013 09:48:03 +0000 (09:48 +0000)]
Disentangle field from transition stores.
Review URL: https://chromiumcodereview.appspot.com/
14063006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14223
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 11 Apr 2013 09:25:43 +0000 (09:25 +0000)]
Temporarily disable CollectCpuProfile on MIPS, it doesn't work in the simulator
TBR=yurys@chromium.org
BUG=v8:2621
Review URL: https://codereview.chromium.org/
14009005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14222
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 11 Apr 2013 08:08:09 +0000 (08:08 +0000)]
Fix build failures on Win64 since r14215.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
14075006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14221
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Thu, 11 Apr 2013 00:52:22 +0000 (00:52 +0000)]
MIPS: Build fast literals in hydrogen.
Port r14211 (
8d6dfcb6)
BUG=
Review URL: https://codereview.chromium.org/
14108003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14220
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Thu, 11 Apr 2013 00:50:58 +0000 (00:50 +0000)]
MIPS: Fix OSR for nested loops.
Port r14202 (
b8949f01), r14208 (
06cc8568)
BUG=
Review URL: https://codereview.chromium.org/
14119002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14219
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Thu, 11 Apr 2013 00:48:18 +0000 (00:48 +0000)]
MIPS: Use PrintF instead of fprintf.
Port r14200 (
6ecb8f41), r14204 (
08ba63c0)
BUG=
Review URL: https://codereview.chromium.org/
14112003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14218
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Thu, 11 Apr 2013 00:22:26 +0000 (00:22 +0000)]
Add support for JUnit compatible XML output in the new test runner.
Implement a new output method in run-tests.py which
outputs JUnit compatible XML status information.
BUG=
Review URL: https://codereview.chromium.org/
13813003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14217
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Wed, 10 Apr 2013 15:29:05 +0000 (15:29 +0000)]
Mark non-isolatified profiler API as V8_DEPRECATED
BUG=None
Review URL: https://codereview.chromium.org/
12413027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14216
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 10 Apr 2013 14:53:03 +0000 (14:53 +0000)]
New GC related APIs.
When using these APIs, the embedder doesn't need to copy Persistent handles around.
BUG=NONE
Review URL: https://codereview.chromium.org/
13786002
Patch from Marja Hölttä <marja@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14215
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Wed, 10 Apr 2013 14:41:43 +0000 (14:41 +0000)]
Remove profiler thread related methods from RuntimeProfiler
Now that V8 doesn't use sampling thread for optimizations
the methods can be removed.
BUG=None
Review URL: https://codereview.chromium.org/
14057003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14214
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Wed, 10 Apr 2013 14:31:13 +0000 (14:31 +0000)]
Stack traversal doesn't work properly on Arm simulator so disabling the test there.
BUG=2621
Review URL: https://codereview.chromium.org/
13993006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14213
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 10 Apr 2013 14:09:16 +0000 (14:09 +0000)]
Disable broken tests for now to get ARM simulator bots green again.
TBR=yurys@chromium.org
BUG=v8:2621
Review URL: https://codereview.chromium.org/
14065004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14212
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Wed, 10 Apr 2013 13:52:08 +0000 (13:52 +0000)]
Build fast literals in hydrogen.
BUG=
Review URL: https://codereview.chromium.org/
12880017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14211
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Wed, 10 Apr 2013 12:16:29 +0000 (12:16 +0000)]
ES6 symbols: extend V8 API to support symbols
Specifically:
- Introduce Symbol and SymbolObject classes.
- Generalise Object::Has and Object::Delete to arbitrary Value-typed keys.
- Generalise some places in the API implementation from String to Name.
It is not possible to intercept symbol-named properties. That is consistent with the idea that symbols are private and should not leak.
R=svenpanne@chromium.org
BUG=v8:2158
Review URL: https://codereview.chromium.org/
13626002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14210
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 10 Apr 2013 10:42:54 +0000 (10:42 +0000)]
Rename target-specific binaries built for host.
Rename v8_base, v8_nosnapshot, and mksnapshot to include a suffix of
.<(v8_target_arch). This allows multiple target architectures to be
built in the Android build system, which uses a single shared directory
structure for building host binaries.
BUG=
Review URL: https://codereview.chromium.org/
12790011
Patch from Richard Coles <torne@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14209
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 10 Apr 2013 10:31:19 +0000 (10:31 +0000)]
Fix some more ARM build issues.
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
14047002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14208
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Wed, 10 Apr 2013 10:24:24 +0000 (10:24 +0000)]
On-the-fly bookkeeping of PagedSpace memory kept in free-lists.
BUG=
Review URL: https://codereview.chromium.org/
13895003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14207
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Wed, 10 Apr 2013 09:53:43 +0000 (09:53 +0000)]
Put common case first
This might fix a 2% regression that we might be observing for CL 14128.
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
13811021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14206
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Wed, 10 Apr 2013 09:47:44 +0000 (09:47 +0000)]
Add sanity test for CPU profiler
The new test checks full CPU profiling cycle: using public
V8 API it starts profiling, executes a script, stops profiling
and analyzes collected profile to check that its top-down
tree has expected strutcture. The script that is being profiled
is guaranteed to run > 200ms to make sure enough samples
are collected.
To avoid possible flakiness due to non-deterministic time required
to start new thread on varios OSs when Sampler and ProfilerEventsProcessor
threads are being started the main thread is blocked until the threads
are running.
Also I removed the heuristic in profile-generator.cc where we try
to figure out if the value on top of the sampled stack is return address
of some frameless stub invocation. The code periodically gives false positive
with the new test ending up in an extra node in the collected cpu profile.
After discussion with jkummerow@ we concluded that the logic is too fragile
and that we can address frameless stub invocations in a more reliable way
later should they have a noticeable effect on cpu profiling.
BUG=None
Review URL: https://codereview.chromium.org/
13627002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14205
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 10 Apr 2013 09:35:11 +0000 (09:35 +0000)]
Fix ARM build.
R=ulan@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
13986003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14204
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 10 Apr 2013 09:34:37 +0000 (09:34 +0000)]
Change Context::New to not create persistent handles.
This moves the responsibility of putting a new context into a persistent
handle to the embedder. Also it removes one API function where the copy
constructor for persistent handles is needed.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
13799003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14203
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 10 Apr 2013 09:24:31 +0000 (09:24 +0000)]
Fix OSR for nested loops.
R=jkummerow@chromium.org
BUG=v8:2618
Review URL: https://chromiumcodereview.appspot.com/
13811014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14202
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 10 Apr 2013 09:19:18 +0000 (09:19 +0000)]
Revert "On-the-fly bookkeeping of PagedSpace memory kept in free-lists."
This reverts r14197 because of tes failures accross the board.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
13958004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14201
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 10 Apr 2013 09:18:41 +0000 (09:18 +0000)]
Use PrintF instead of fprintf.
R=sven@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
13811020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14200
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 10 Apr 2013 08:29:39 +0000 (08:29 +0000)]
Unify the way cctest initalizes the VM for each test case.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
13483017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14199
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 10 Apr 2013 08:10:51 +0000 (08:10 +0000)]
GDBJIT: Use runtime_zone to fix --gdbjit_full
R=yangguo@chromium.org
BUG=v8:2608
Review URL: https://codereview.chromium.org/
13813014
Patch from Haitao Feng <haitao.feng@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14198
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Wed, 10 Apr 2013 08:07:58 +0000 (08:07 +0000)]
On-the-fly bookkeeping of PagedSpace memory kept in free-lists.
BUG=
Review URL: https://codereview.chromium.org/
13798002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14197
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 10 Apr 2013 07:25:22 +0000 (07:25 +0000)]
Unbreak mipsel.debug.check
Review URL: https://codereview.chromium.org/
14030002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14196
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Wed, 10 Apr 2013 05:47:22 +0000 (05:47 +0000)]
MIPS: Activate generation of Crankshafted KeyedStores
Port r14186 (
ac288c29)
BUG=
Review URL: https://codereview.chromium.org/
13950002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14195
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Wed, 10 Apr 2013 05:46:09 +0000 (05:46 +0000)]
MIPS: Always check global property cells for readonliness before storing. Add check when the global object is the last in the chain.
Port r14173 (
97683cb2)
BUG=
Review URL: https://codereview.chromium.org/
13887004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14194
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 9 Apr 2013 16:49:28 +0000 (16:49 +0000)]
Eagerly parse expected transitions in JSON.
Review URL: https://chromiumcodereview.appspot.com/
13741010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14191
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 9 Apr 2013 16:38:51 +0000 (16:38 +0000)]
Let ComputeTarget fail if it skips over NORMAL objects.
BUG=v8:2595
Review URL: https://chromiumcodereview.appspot.com/
13862008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14190
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Tue, 9 Apr 2013 16:26:30 +0000 (16:26 +0000)]
Fix KeyedAccessStoreMode on Windows
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
13812011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14189
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 9 Apr 2013 15:25:40 +0000 (15:25 +0000)]
GDBJIT: Properly terminate sub program and compile unit
Review URL: https://codereview.chromium.org/
13781002
Patch from Haitao Feng <haitao.feng@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14188
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Tue, 9 Apr 2013 15:11:45 +0000 (15:11 +0000)]
Minor Native Client specific changes to files in src.
These changes are required for Native Client validation and to
accomodate the limitations of the NaCl runtime.
BUG=2614
Review URL: https://chromiumcodereview.appspot.com/
13704002
Patch from Brad Chen <bradchen@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14187
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Tue, 9 Apr 2013 13:44:22 +0000 (13:44 +0000)]
Activate generation of Crankshafted KeyedStores
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
13866005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14186
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 9 Apr 2013 11:31:10 +0000 (11:31 +0000)]
Add an option to dump core when an uncaught exception is thrown.
BUG=
Review URL: https://chromiumcodereview.appspot.com/
13071005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14185
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Tue, 9 Apr 2013 10:32:00 +0000 (10:32 +0000)]
Remove SSE2 feature checks from x64 code (it is always on)
BUG=
Review URL: https://codereview.chromium.org/
13928006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14184
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Tue, 9 Apr 2013 09:49:41 +0000 (09:49 +0000)]
Fast-forward version number on bleeding_edge. Now working on version 3.18.0.
Review URL: https://codereview.chromium.org/
13928004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14181
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Tue, 9 Apr 2013 09:02:28 +0000 (09:02 +0000)]
Bug fix, uint broke win32 build, use uint32_t
BUG=
Review URL: https://codereview.chromium.org/
13861003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14180
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Tue, 9 Apr 2013 08:42:57 +0000 (08:42 +0000)]
Improvements for x87 stack handling
BUG=
Review URL: https://codereview.chromium.org/
13426006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14179
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Tue, 9 Apr 2013 08:39:01 +0000 (08:39 +0000)]
Modifications to tests and test tools for Native Client V8.
BUG=2614
Review URL: https://chromiumcodereview.appspot.com/
13638013
Patch from Brad Chen <bradchen@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14178
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Tue, 9 Apr 2013 08:31:17 +0000 (08:31 +0000)]
A helper script for testing Native Client builds of V8.
This is modeled after tools/android-run.py. It is meant to be used
as a --command-prefix argument to tools/run-tests.py
BUG=2614
Review URL: https://codereview.chromium.org/
13619011
Patch from Brad Chen <bradchen@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14177
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Tue, 9 Apr 2013 08:25:41 +0000 (08:25 +0000)]
A new Makefile for the Native Client V8 builds.
This was derived from Makefile.android
BUG=v8:2614
Review URL: https://codereview.chromium.org/
13561007
Patch from Brad Chen <bradchen@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14176
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 9 Apr 2013 08:12:59 +0000 (08:12 +0000)]
Fix slow path of JSON.stringifier when GC strikes.
FlatContent is not GC-safe.
R=verwaest@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
13782002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14175
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 9 Apr 2013 08:09:52 +0000 (08:09 +0000)]
Adding standard-compliance tests for array functions.
BUG=v8:2615
Review URL: https://chromiumcodereview.appspot.com/
13601009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14174
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 9 Apr 2013 08:09:05 +0000 (08:09 +0000)]
Always check global property cells for readonliness before storing.
Add check when the global object is the last in the chain.
Review URL: https://chromiumcodereview.appspot.com/
13730002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14173
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Tue, 9 Apr 2013 08:05:38 +0000 (08:05 +0000)]
linux: fix uClibc ifdeffery
Remove duplicate inclusion of execinfo.h and make OS::DumpBacktrace
a NOOP on uclibc.
Review URL: https://codereview.chromium.org/
13071007
Patch from Mostyn Bramley-Moore <mostynb@opera.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14172
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 9 Apr 2013 07:34:32 +0000 (07:34 +0000)]
Move context retrieval method around. Use delegation for implementation.
This is a refactoring of https://code.google.com/p/v8/source/detail?r=14146.
Review URL: https://codereview.chromium.org/
13940003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14171
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Mon, 8 Apr 2013 22:51:00 +0000 (22:51 +0000)]
MIPS: ARM: Log an error if /proc/cpuinfo cannot be opened
Port r14112 (
8cc5081c)
Original commit message:
This will make it easier to see if the current CPU feature detection
starts breaking because of process sandboxing.
BUG=
Review URL: https://codereview.chromium.org/
13582007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14170
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 8 Apr 2013 17:37:22 +0000 (17:37 +0000)]
Fix worst-case behavior of MergeRemovableSimulates().
Currently, when a long series of removable simulates are merged, we do
this by merging them one by one as we find them. As we merge the value
value lists of the simulates, those lists snowball so that we get a
quadratic complexity wrt runtime and memory consumption.
Instead, we gather simulates that need to be merged, and merge them
backwards starting from the last simulate.
R=jkummerow@chromium.org
BUG=v8:2612
Review URL: https://chromiumcodereview.appspot.com/
13649003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14169
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Mon, 8 Apr 2013 15:16:55 +0000 (15:16 +0000)]
Remove LOGGER macro
Use already saved isolate pointer and avoid TLS lookup when
retrieving Logger instance
BUG=None
Review URL: https://codereview.chromium.org/
13529004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14168
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 8 Apr 2013 15:13:57 +0000 (15:13 +0000)]
Fix bug in bignum implementation.
R=mstarzinger@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
13454019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14167
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Mon, 8 Apr 2013 15:09:03 +0000 (15:09 +0000)]
No need to start Ticker for Crankshaft
Crankshaft doesn't depend on the sampler thread any more. No
need to start the that thread for Crankshaft.
BUG=v8:2609
Review URL: https://codereview.chromium.org/
13526003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14166
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 8 Apr 2013 13:10:59 +0000 (13:10 +0000)]
Train wreck reduction.
Furthermore, this tiny patch avoids direct access to the context_ field.
Review URL: https://codereview.chromium.org/
13772004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14165
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 8 Apr 2013 11:53:50 +0000 (11:53 +0000)]
Devirtualize Parser
* src/parser.h: No one inherits from Parser, so the destructor can be
non-virtual, removing the need for Parser to have a vtable. Also add
BASE_EMBEDDED to it and to RegExpParser.
BUG=
Review URL: https://codereview.chromium.org/
13640007
Patch from Andy Wingo <wingo@igalia.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14162
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 8 Apr 2013 11:17:32 +0000 (11:17 +0000)]
Move StackHandlerConstants to platform-independent frames.h
* src/frames.h: Move StackHandlerConstants here, as it is the same for
all architectures.
BUG=
Review URL: https://codereview.chromium.org/
13638002
Patch from Andy Wingo <wingo@igalia.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14161
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 8 Apr 2013 07:51:32 +0000 (07:51 +0000)]
Unbreak --deopt-every-n-times.
Review URL: https://codereview.chromium.org/
13779003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14160
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Sun, 7 Apr 2013 04:34:20 +0000 (04:34 +0000)]
Remove ARM support for VFP2
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
13560007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14159
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Fri, 5 Apr 2013 18:20:18 +0000 (18:20 +0000)]
MIPS: Remove conflicting FPU check for code generation in soft-float mode.
TEST=
BUG=
Review URL: https://codereview.chromium.org/
13724002
Patch from Dusan Milosavljevic <Dusan.Milosavljevic@rt-rk.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14158
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Fri, 5 Apr 2013 16:48:36 +0000 (16:48 +0000)]
MIPS: Force context allocation for variables in generator scopes.
Port r14152 (
4e58a8ea)
Original commit message:
* src/scopes.h (ForceContextAllocation, has_forced_context_allocation):
New interface to force context allocation for an entire function's
scope.
* src/scopes.cc: Unless a new scope is a function scope, if its outer
scope has forced context allocation, it should also force context
allocation.
(MustAllocateInContext): Return true if the scope as a whole has
forced context allocation.
(CollectStackAndContextLocals): Allow temporaries to be
context-allocated.
* src/parser.cc (ParseFunctionLiteral): Force context allocation for
generator scopes.
* src/v8globals.h (VariableMode): Update comment on TEMPORARY.
* src/arm/full-codegen-arm.cc (Generate):
* src/ia32/full-codegen-ia32.cc (Generate):
* src/x64/full-codegen-x64.cc (Generate): Assert that generators have no
stack slots.
* test/mjsunit/harmony/generators-instantiation.js: New test.
BUG=
Review URL: https://codereview.chromium.org/
13726009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14157
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Fri, 5 Apr 2013 16:47:34 +0000 (16:47 +0000)]
MIPS: Compile FastCloneShallowArrayStub using Crankshaft.
Port r14143 (
8fd9594d)
BUG=
Review URL: https://codereview.chromium.org/
13529018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14156
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 5 Apr 2013 15:17:44 +0000 (15:17 +0000)]
Remove unnecessary explicity prototype check.
The prototype is implicitly checked through a map check of the holder.
This is either checked in CheckPrototypes, or as part of the IC.
Review URL: https://chromiumcodereview.appspot.com/
13529017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14155
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 5 Apr 2013 15:12:59 +0000 (15:12 +0000)]
Fix Array.prototype.concat when exceeding array size limit.
R=verwaest@chromium.org
BUG=v8:581
Review URL: https://chromiumcodereview.appspot.com/
13465008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14154
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 5 Apr 2013 15:10:51 +0000 (15:10 +0000)]
Fix presubmit style warning for gdb-jit.cc
For many moons now I've been seeing this warning when running make x64.release.check:
/home/wingo/src/v8/src/gdb-jit.cc:632:
Single-argument constructors should be marked explicit.
[runtime/explicit] [5]
This patch fixes it.
BUG=
Review URL: https://codereview.chromium.org/
13724006
Patch from Andy Wingo <wingo@igalia.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14153
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 5 Apr 2013 13:19:31 +0000 (13:19 +0000)]
Force context allocation for variables in generator scopes.
* src/scopes.h (ForceContextAllocation, has_forced_context_allocation):
New interface to force context allocation for an entire function's
scope.
* src/scopes.cc: Unless a new scope is a function scope, if its outer
scope has forced context allocation, it should also force context
allocation.
(MustAllocateInContext): Return true if the scope as a whole has
forced context allocation.
(CollectStackAndContextLocals): Allow temporaries to be
context-allocated.
* src/parser.cc (ParseFunctionLiteral): Force context allocation for
generator scopes.
* src/v8globals.h (VariableMode): Update comment on TEMPORARY.
* src/arm/full-codegen-arm.cc (Generate):
* src/ia32/full-codegen-ia32.cc (Generate):
* src/x64/full-codegen-x64.cc (Generate): Assert that generators have no
stack slots.
* test/mjsunit/harmony/generators-instantiation.js: New test.
BUG=v8:2355
TEST=mjsunit/harmony/generators-instantiation
Review URL: https://codereview.chromium.org/
13408005
Patch from Andy Wingo <wingo@igalia.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14152
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 5 Apr 2013 13:01:06 +0000 (13:01 +0000)]
Refactor parser mode configuration for correctness
This patch refactors the parser and preparser interface to be more
readable and type-safe. It has no behavior changes.
Previously, parsers and preparsers were configured via bitfield called
parser_flags in the Parser constructor, and flags in
PreParser::PreParseProgram, ParserApi::Parse, and ParserApi::PreParse.
This was error-prone in practice: six call sites passed incorrectly
typed values to this interface (a boolean FLAG value, a boolean false
and a boolean true value). None of these errors were caught by the
compiler because it's just an "int".
The parser flags interface was also awkward because it encoded a
language mode, but the language mode was only used to turn on harmony
scoping or not -- it wasn't used to actually set the parser's language
mode.
Fundamentally these errors came in because of the desire for a
procedural parser interface, in ParserApi. Because we need to be able
to configure the parser in various ways, the flags argument got added;
but no one understood how to use the flags properly. Also they were
only used by constructors: callers packed bits, and the constructors
unpacked them into booleans on the parser or preparser.
The solution is to allow parser construction, configuration, and
invocation to be separated. This patch does that.
It passes the existing tests.
BUG=
Review URL: https://codereview.chromium.org/
13450007
Patch from Andy Wingo <wingo@igalia.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14151
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 5 Apr 2013 12:06:34 +0000 (12:06 +0000)]
Remove push(holder_reg) in CheckAccessGlobalProxy.
R=jkummerow@chromium.org
BUG=v8:119
Review URL: https://chromiumcodereview.appspot.com/
13177002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14150
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 5 Apr 2013 11:57:02 +0000 (11:57 +0000)]
Do not implicitly convert non-object receivers for strict mode functions.
This was still the case for Array.prototype.* builtin functions.
R=rossberg@chromium.org
BUG=v8:2273
Review URL: https://chromiumcodereview.appspot.com/
13473009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14149
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 5 Apr 2013 08:38:40 +0000 (08:38 +0000)]
Fix minor typo in generator parsing test.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
13575010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14148
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Fri, 5 Apr 2013 08:35:40 +0000 (08:35 +0000)]
Refactoring BuildAllocateElements.
BUG=
Review URL: https://codereview.chromium.org/
13693004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14147
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
haraken@chromium.org [Fri, 5 Apr 2013 02:17:56 +0000 (02:17 +0000)]
Pass an isolate to GetCurrent()
TEST=test-api.cc:GetCallingContextCallback
Review URL: https://chromiumcodereview.appspot.com//
13426002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14146
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Fri, 5 Apr 2013 02:16:58 +0000 (02:16 +0000)]
MIPS: Resolved the rest of soft-float bugs.
TEST=mjsunit/mul-exhaustive-part9, mjsunit/bit-not, mjsunit/greedy,
mjsunit/math-floor-of-div-nosudiv, mjsunit/math-floor-of-div,
mjsunit/numops-fuzz-part2
BUG=
Review URL: https://codereview.chromium.org/
13455006
Patch from Dusan Milosavljevic <Dusan.Milosavljevic@rt-rk.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14145
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
adamk@chromium.org [Thu, 4 Apr 2013 19:12:59 +0000 (19:12 +0000)]
Remove code duplication in JSObject::HasRealElementProperty
Review URL: https://codereview.chromium.org/
13540003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14144
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 4 Apr 2013 17:55:43 +0000 (17:55 +0000)]
Compile FastCloneShallowArrayStub using Crankshaft.
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
12521011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14143
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Thu, 4 Apr 2013 15:41:58 +0000 (15:41 +0000)]
MIPS: Remove extranous holder load in some prototype-chain checking cases
Port r14136 (
d091bc0e)
BUG=
Review URL: https://codereview.chromium.org/
13636002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14142
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 4 Apr 2013 14:46:18 +0000 (14:46 +0000)]
Skip long running regression test from r14078.
R=yangguo@chromium.org
BUG=chromium:217858
TEST=mjsunit/regress/regress-crbug-217858
Review URL: https://codereview.chromium.org/
13640004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14141
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 4 Apr 2013 14:34:19 +0000 (14:34 +0000)]
Fix bogus uses of preparser API
* src/api.cc (ScriptData::PreCompile): Fix bogus use of bogus value for
preparsing flags by removing those arguments, which were always zero.
* src/parser.h
* src/parser.cc (ParserApi::PreParse): Remove extension and flags
arguments, both of which were either always 0 or incorrectly used.
* test/cctest/test-parsing.cc (RegressChromium62639, Regress928): Fix
more bogus uses of preparser api.
BUG=
Review URL: https://codereview.chromium.org/
13496008
Patch from Andy Wingo <wingo@igalia.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14140
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 4 Apr 2013 12:10:23 +0000 (12:10 +0000)]
Make __proto__ a real JavaScript accessor property.
This turns the __proto__ callback from a foreign callback into a real
JavaScript accessor. It makes the accessor behavior of this property
explicit.
R=rossberg@chromium.org
BUG=v8:1949,v8:2606
TEST=mjsunit/regress/regress-2606
Review URL: https://codereview.chromium.org/
13533004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14139
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Thu, 4 Apr 2013 11:38:10 +0000 (11:38 +0000)]
Remove extranous holder load in some prototype-chain checking cases
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
13620003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14136
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 4 Apr 2013 11:37:01 +0000 (11:37 +0000)]
Prepare push to trunk. Now working on version 3.17.17.
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
13633002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14135
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 4 Apr 2013 10:52:53 +0000 (10:52 +0000)]
Switch transition zapping to slower version.
This is just an experiment to track down high crash rates on some
systems where third-party software corrupts memory regions.
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
13630002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14134
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Thu, 4 Apr 2013 09:31:24 +0000 (09:31 +0000)]
Test behavior of qNaN and sNaN
BUG=v8:2607
Review URL: https://codereview.chromium.org/
13470002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14133
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Thu, 4 Apr 2013 08:29:25 +0000 (08:29 +0000)]
Add extra flag for load-ic stubs in code cache.
This allows to distinguish between stubs compiled for the current object from
stubs compiled for objects that have the current object as a prototype.
BUG=v8:2593
R=verwaest@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
13552003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14132
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Wed, 3 Apr 2013 17:26:59 +0000 (17:26 +0000)]
MIPS: Ensure UseRegisterAtStart not used with fixed temp/return register
Port r14124 (
f116e8b9)
BUG=
Review URL: https://codereview.chromium.org/
13557002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14131
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Wed, 3 Apr 2013 17:25:24 +0000 (17:25 +0000)]
MIPS: Fix ARM build
Port r14123 (
ded70e2a)
BUG=
Review URL: https://codereview.chromium.org/
13551004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14130
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Wed, 3 Apr 2013 17:23:52 +0000 (17:23 +0000)]
MIPS: Fix hydrogen tracing on x64 and ARM
Port r14122 (
43525afd)
BUG=
Review URL: https://codereview.chromium.org/
13556003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14129
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Wed, 3 Apr 2013 17:06:22 +0000 (17:06 +0000)]
ES6 symbols: fix corner cases of equality operators
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
13552002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14128
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Wed, 3 Apr 2013 16:25:24 +0000 (16:25 +0000)]
Remove (H|L)JSArrayLength instructions
BUG=
Review URL: https://codereview.chromium.org/
12491023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14127
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 3 Apr 2013 16:14:56 +0000 (16:14 +0000)]
Fix error message when reporting unexpected yield.
R=rossberg@chromium.org
BUG=v8:2355
TEST=webkit:fast/js/reserved-words-as-property.html
Review URL: https://codereview.chromium.org/
13546004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14126
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
adamk@chromium.org [Wed, 3 Apr 2013 15:52:42 +0000 (15:52 +0000)]
Codify the assumption that %GetArrayKeys can return only a single interval starting at zero
This patch adds comments explaining the interface in runtime.cc and simplifies
all callers given these assumptions (e.g., no need to loop over intervals, or
calculate where the interval starts).
Took care of some unrelated issues in the edited code:
- Fixes one use of [] to InternalArray
- Removed a bunch of comments referring to ES3 which no longer hold in ES5
Review URL: https://codereview.chromium.org/
13071006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14125
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Wed, 3 Apr 2013 14:45:39 +0000 (14:45 +0000)]
Ensure UseRegisterAtStart not used with fixed temp/return register
R=vegorov@chromium.org
BUG=chromium:201590
Review URL: https://codereview.chromium.org/
13527007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14124
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Wed, 3 Apr 2013 12:00:23 +0000 (12:00 +0000)]
Fix ARM build
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
13529003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14123
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Wed, 3 Apr 2013 11:44:03 +0000 (11:44 +0000)]
Fix hydrogen tracing on x64 and ARM
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
13461020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14122
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Wed, 3 Apr 2013 11:42:03 +0000 (11:42 +0000)]
Move DeepCopy of JSObject from runtime to object.
BUG=
Review URL: https://codereview.chromium.org/
13527005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14121
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Tue, 2 Apr 2013 20:30:23 +0000 (20:30 +0000)]
MIPS: Deoptimizer support for hydrogen stubs that accept a variable number of arguments.
Port r14111 (
29157ad7)
BUG=
Review URL: https://codereview.chromium.org/
13461013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14120
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rodolph.perfetta@gmail.com [Tue, 2 Apr 2013 18:25:09 +0000 (18:25 +0000)]
Fix bugs in softfloat code path.
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/
13008018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14119
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 2 Apr 2013 18:09:40 +0000 (18:09 +0000)]
Fix another set of build failures on Windows since r14116.
TBR=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
13465010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14118
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 2 Apr 2013 18:00:50 +0000 (18:00 +0000)]
Fix build failure on Windows since r14116.
TBR=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
13464010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14117
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00