platform/upstream/v8.git
11 years agoDisentangle field from transition stores.
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

11 years agoTemporarily disable CollectCpuProfile on MIPS, it doesn't work in the simulator
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

11 years agoFix build failures on Win64 since r14215.
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

11 years agoMIPS: Build fast literals in hydrogen.
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

11 years agoMIPS: Fix OSR for nested loops.
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

11 years agoMIPS: Use PrintF instead of fprintf.
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

11 years agoAdd support for JUnit compatible XML output in the new test runner.
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

11 years agoMark non-isolatified profiler API as V8_DEPRECATED
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

11 years agoNew GC related APIs.
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

11 years agoRemove profiler thread related methods from RuntimeProfiler
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

11 years agoStack traversal doesn't work properly on Arm simulator so disabling the test there.
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

11 years agoDisable broken tests for now to get ARM simulator bots green again.
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

11 years agoBuild fast literals in hydrogen.
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

11 years agoES6 symbols: extend V8 API to support symbols
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

11 years agoRename target-specific binaries built for host.
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

11 years agoFix some more ARM build issues.
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

11 years agoOn-the-fly bookkeeping of PagedSpace memory kept in free-lists.
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

11 years agoPut common case first
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

11 years agoAdd sanity test for CPU profiler
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

11 years agoFix ARM build.
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

11 years agoChange Context::New to not create persistent handles.
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

11 years agoFix OSR for nested loops.
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

11 years agoRevert "On-the-fly bookkeeping of PagedSpace memory kept in free-lists."
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

11 years agoUse PrintF instead of fprintf.
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

11 years agoUnify the way cctest initalizes the VM for each test case.
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

11 years agoGDBJIT: Use runtime_zone to fix --gdbjit_full
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

11 years agoOn-the-fly bookkeeping of PagedSpace memory kept in free-lists.
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

11 years agoUnbreak mipsel.debug.check
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

11 years agoMIPS: Activate generation of Crankshafted KeyedStores
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

11 years agoMIPS: Always check global property cells for readonliness before storing. Add check...
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

11 years agoEagerly parse expected transitions in JSON.
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

11 years agoLet ComputeTarget fail if it skips over NORMAL objects.
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

11 years agoFix KeyedAccessStoreMode on Windows
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

11 years agoGDBJIT: Properly terminate sub program and compile unit
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

11 years agoMinor Native Client specific changes to files in src.
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

11 years agoActivate generation of Crankshafted KeyedStores
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

11 years agoAdd an option to dump core when an uncaught exception is thrown.
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

11 years agoRemove SSE2 feature checks from x64 code (it is always on)
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

11 years agoFast-forward version number on bleeding_edge. Now working on version 3.18.0.
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

11 years agoBug fix, uint broke win32 build, use uint32_t
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

11 years agoImprovements for x87 stack handling
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

11 years agoModifications to tests and test tools for Native Client V8.
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

11 years agoA helper script for testing Native Client builds of V8.
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

11 years agoA new Makefile for the Native Client V8 builds.
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

11 years agoFix slow path of JSON.stringifier when GC strikes.
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

11 years agoAdding standard-compliance tests for array functions.
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

11 years agoAlways check global property cells for readonliness before storing.
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

11 years agolinux: fix uClibc ifdeffery
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

11 years agoMove context retrieval method around. Use delegation for implementation.
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

11 years agoMIPS: ARM: Log an error if /proc/cpuinfo cannot be opened
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

11 years agoFix worst-case behavior of MergeRemovableSimulates().
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

11 years agoRemove LOGGER macro
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

11 years agoFix bug in bignum implementation.
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

11 years agoNo need to start Ticker for Crankshaft
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

11 years agoTrain wreck reduction.
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

11 years agoDevirtualize Parser
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

11 years agoMove StackHandlerConstants to platform-independent frames.h
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

11 years agoUnbreak --deopt-every-n-times.
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

11 years agoRemove ARM support for VFP2
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

11 years agoMIPS: Remove conflicting FPU check for code generation in soft-float mode.
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

11 years agoMIPS: Force context allocation for variables in generator scopes.
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

11 years agoMIPS: Compile FastCloneShallowArrayStub using Crankshaft.
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

11 years agoRemove unnecessary explicity prototype check.
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

11 years agoFix Array.prototype.concat when exceeding array size limit.
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

11 years agoFix presubmit style warning for gdb-jit.cc
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

11 years agoForce context allocation for variables in generator scopes.
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

11 years agoRefactor parser mode configuration for correctness
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

11 years agoRemove push(holder_reg) in CheckAccessGlobalProxy.
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

11 years agoDo not implicitly convert non-object receivers for strict mode functions.
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

11 years agoFix minor typo in generator parsing test.
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

11 years agoRefactoring BuildAllocateElements.
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

11 years agoPass an isolate to GetCurrent()
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

11 years agoMIPS: Resolved the rest of soft-float bugs.
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

11 years agoRemove code duplication in JSObject::HasRealElementProperty
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

11 years agoCompile FastCloneShallowArrayStub using Crankshaft.
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

11 years agoMIPS: Remove extranous holder load in some prototype-chain checking cases
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

11 years agoSkip long running regression test from r14078.
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

11 years agoFix bogus uses of preparser API
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

11 years agoMake __proto__ a real JavaScript accessor property.
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

11 years agoRemove extranous holder load in some prototype-chain checking cases
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

11 years agoPrepare push to trunk. Now working on version 3.17.17.
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

11 years agoSwitch transition zapping to slower version.
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

11 years agoTest behavior of qNaN and sNaN
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

11 years agoAdd extra flag for load-ic stubs in code cache.
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

11 years agoMIPS: Ensure UseRegisterAtStart not used with fixed temp/return register
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

11 years agoMIPS: Fix ARM build
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

11 years agoMIPS: Fix hydrogen tracing on x64 and ARM
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

11 years agoES6 symbols: fix corner cases of equality operators
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

11 years agoRemove (H|L)JSArrayLength instructions
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

11 years agoFix error message when reporting unexpected yield.
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

11 years agoCodify the assumption that %GetArrayKeys can return only a single interval starting...
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

11 years agoEnsure UseRegisterAtStart not used with fixed temp/return register
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

11 years agoFix ARM build
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

11 years agoFix hydrogen tracing on x64 and ARM
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

11 years agoMove DeepCopy of JSObject from runtime to object.
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

11 years agoMIPS: Deoptimizer support for hydrogen stubs that accept a variable number of arguments.
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

11 years agoFix bugs in softfloat code path.
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

11 years agoFix another set of build failures on Windows since r14116.
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

11 years agoFix build failure on Windows since r14116.
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

11 years agoAdd parser support for generators.
mstarzinger@chromium.org [Tue, 2 Apr 2013 17:34:59 +0000 (17:34 +0000)]
Add parser support for generators.

This patchset begins by adding support for "yield", which is unlike other tokens
in JS. In a generator, whether strict or classic, it is a syntactic keyword.
In classic mode it is an identifier. In strict mode it is reserved.

This patch adds YIELD as a token to the scanner, and adapts the preparser and
parser appropriately. It also parses "function*", indicating that a function is
actually a generator, for both eagerly and lazily parsed functions.

Currently "yield" just compiles as "return".

BUG=v8:2355
TEST=mjsunit/harmony/generators-parsing

Review URL: https://codereview.chromium.org/12646003
Patch from Andy Wingo <wingo@igalia.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14116 ce2b1a6d-e550-0410-aec6-3dcde31c8c00