platform/upstream/v8.git
11 years agoSmi-support for HSar.
verwaest@chromium.org [Mon, 29 Jul 2013 17:07:28 +0000 (17:07 +0000)]
Smi-support for HSar.

BUG=
R=mvstanton@chromium.org

Review URL: https://chromiumcodereview.appspot.com/21049003

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

11 years agoRevamp v8_optimized_debug options
dslomov@chromium.org [Mon, 29 Jul 2013 14:00:06 +0000 (14:00 +0000)]
Revamp v8_optimized_debug options

This patch changes the definition of v8_optimized_debug==1 to match the release-mode compiler optimization settings (generally, going from -O1 to -O3 on Linux, similar switches for Mac/Win). This produces a minor speed up on Linux, but significant speedups on Mac and Win. This may make it much harder to debug, though.

It also adds a v8_optimized_debug==2 that, in addition to the compiler optimizations, undef's DEBUG and defines DEBUG. This leaves V8_ENABLE_CHECKS alone (so that the assertions are still enabled), but otherwise basically matches a release mode build.

Builds with v8_optimized_debug==2 roughly match a Release mode build for speed; the V8_ENABLE_CHECKS checks appear to have minimal performance impact (maybe 5-10%, unlike what was previously thought). In addition, switching from the previous optimization settings makes a significant improvement on Mac and Win (50% or more), and switching from DEBUG to NDEBUG makes a significant improvement (another 50% or more).

Note that using v8_optimized_debug==2 may also cause some v8 tests to fail. This is currently is believed to be acceptable.

R=machenbach@chromium.org
BUG=254188

Review URL: https://codereview.chromium.org/19384011

Patch from Dirk Pranke <dpranke@chromium.org>.

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

11 years agoThis adds generic support for ExternalReferences in Hydrogen (and Lithium), as requir...
bmeurer@chromium.org [Mon, 29 Jul 2013 13:56:51 +0000 (13:56 +0000)]
This adds generic support for ExternalReferences in Hydrogen (and Lithium), as required for AddIncrementCounter.

R=danno@chromium.org, titzer@chromium.org

Review URL: https://codereview.chromium.org/19562003

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

11 years agoAdded unit tests for the slightly confusing Boolean/BooleanObject API.
svenpanne@chromium.org [Mon, 29 Jul 2013 12:37:55 +0000 (12:37 +0000)]
Added unit tests for the slightly confusing Boolean/BooleanObject API.

Just for documenting the status quo. As discussed offline, we should
probably rename/deprecate a few things:

  NumberObject::NumberValue() => NumberObject::ValueOf()
  BooleanObject::BooleanValue() => BooleanObject::ValueOf()
  StringObject::StringValue => StringObject::ValueOf()

R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/21013003

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

11 years agoFix IsDeletable() for HStringAdd, HStringCharCodeAt, HStringCharFromCode.
titzer@chromium.org [Mon, 29 Jul 2013 12:35:43 +0000 (12:35 +0000)]
Fix IsDeletable() for HStringAdd, HStringCharCodeAt, HStringCharFromCode.

BUG=
R=mstarzinger@chromium.org, svenpanne@chromium.org

Review URL: https://codereview.chromium.org/20241005

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

11 years agoFix: Need to remove function type feedback between stress stages in
mvstanton@chromium.org [Mon, 29 Jul 2013 12:22:34 +0000 (12:22 +0000)]
Fix: Need to remove function type feedback between stress stages in
release build

BUG=
R=verwaest@chromium.org

Review URL: https://codereview.chromium.org/20987005

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

11 years agoRevert new OS and CC detection and related changes since r15923.
bmeurer@chromium.org [Mon, 29 Jul 2013 12:12:39 +0000 (12:12 +0000)]
Revert new OS and CC detection and related changes since r15923.

Revert "Attempt to fix leftover test breakage on Mac."
Revert "Fix d8 build error when V8_SHARED is unset on Linux."
Revert "Fix V8_GNUC_PREREQ macro."
Revert "Fix typo."
Revert "Implement correct OS and CC detection."

TBR=svenpanne@chromium.org,danno@chromium.org

Review URL: https://codereview.chromium.org/21022003

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

11 years agoFix HasResult method of LTemplateInstruction to properly handle LCheckSmi
danno@chromium.org [Mon, 29 Jul 2013 11:57:42 +0000 (11:57 +0000)]
Fix HasResult method of LTemplateInstruction to properly handle LCheckSmi

LCheckSmi sometimes has a result register and sometimes not, even though its
LTemplateInstruction alwasys has room for one. Debug output use HasResult to
determine whether it was ok to de-ref result(), but HasResult doesn't check for
the case where LTemplateInstruction has a result but it's NULL.

R=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/21037004

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

11 years agoMake it easier to get JS stack crawls from gdb
danno@chromium.org [Mon, 29 Jul 2013 11:56:45 +0000 (11:56 +0000)]
Make it easier to get JS stack crawls from gdb

R=bmeurer@chromium.org

Review URL: https://codereview.chromium.org/21060002

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

11 years agoFix for V8 issue 2795: Check fails with deopt for mjsunit/array-store-and-grow
mvstanton@chromium.org [Mon, 29 Jul 2013 11:50:39 +0000 (11:50 +0000)]
Fix for V8 issue 2795: Check fails with deopt for mjsunit/array-store-and-grow
(https://code.google.com/p/v8/issues/detail?id=2795)

The reason is when allocating and building arrays in hydrogen we need to ensure
we do any int32-to-smi conversions BEFORE the allocation. These conversions can
at least theoretically deoptimize. If this happens before all the fields of the
newly allocated object are filled in, we will have a corrupted heap.

BUG=
R=verwaest@chromium.org

Review URL: https://codereview.chromium.org/20726002

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

11 years agoAttempt to fix leftover test breakage on Mac.
bmeurer@chromium.org [Mon, 29 Jul 2013 11:38:34 +0000 (11:38 +0000)]
Attempt to fix leftover test breakage on Mac.

TBR=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/21030003

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

11 years agoFix d8 build error when V8_SHARED is unset on Linux.
bmeurer@chromium.org [Mon, 29 Jul 2013 10:23:07 +0000 (10:23 +0000)]
Fix d8 build error when V8_SHARED is unset on Linux.

TBR=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/21053002

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

11 years agoFix V8_GNUC_PREREQ macro.
bmeurer@chromium.org [Mon, 29 Jul 2013 09:56:34 +0000 (09:56 +0000)]
Fix V8_GNUC_PREREQ macro.

TBR=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/21049004

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

11 years agoRemove Uninitialized from HType.
titzer@chromium.org [Mon, 29 Jul 2013 09:42:57 +0000 (09:42 +0000)]
Remove Uninitialized from HType.

BUG=
R=verwaest@chromium.org

Review URL: https://codereview.chromium.org/20711002

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

11 years agoFix typo.
bmeurer@chromium.org [Mon, 29 Jul 2013 09:29:00 +0000 (09:29 +0000)]
Fix typo.

TBR=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/21045002

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

11 years agoImplement correct OS and CC detection.
bmeurer@chromium.org [Mon, 29 Jul 2013 09:19:10 +0000 (09:19 +0000)]
Implement correct OS and CC detection.

R=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/20734002

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

11 years agoThe compiled_transitions flag was enabled for quite some time now and seems to work...
bmeurer@chromium.org [Mon, 29 Jul 2013 09:12:16 +0000 (09:12 +0000)]
The compiled_transitions flag was enabled for quite some time now and seems to work out quite well, so time has come to remove the obsolete code paths and remove the unused methods.

R=mvstanton@chromium.org

Review URL: https://codereview.chromium.org/18034024

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

11 years agoReally fix break in r15919 now.
bmeurer@chromium.org [Mon, 29 Jul 2013 08:33:57 +0000 (08:33 +0000)]
Really fix break in r15919 now.

TBR=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/21040002

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

11 years agoFix break in r15919.
bmeurer@chromium.org [Mon, 29 Jul 2013 08:07:52 +0000 (08:07 +0000)]
Fix break in r15919.

TBR=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/21029003

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

11 years agoProperly implement OS::GetRandomMmapAddr() for Win32.
bmeurer@chromium.org [Mon, 29 Jul 2013 07:50:56 +0000 (07:50 +0000)]
Properly implement OS::GetRandomMmapAddr() for Win32.

R=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/20953002

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

11 years agoPrepare push to trunk. Now working on version 3.20.11.
danno@chromium.org [Mon, 29 Jul 2013 07:45:01 +0000 (07:45 +0000)]
Prepare push to trunk.  Now working on version 3.20.11.

R=ulan@chromium.org

Review URL: https://codereview.chromium.org/20987004

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

11 years agoIgnore all toplevel files starting with an underscore.
bmeurer@chromium.org [Mon, 29 Jul 2013 07:43:32 +0000 (07:43 +0000)]
Ignore all toplevel files starting with an underscore.

R=danno@chromium.org

Review URL: https://codereview.chromium.org/20929004

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

11 years agoMIPS: Fix debug mode webkit failures.
palfia@homejinni.com [Sat, 27 Jul 2013 01:07:53 +0000 (01:07 +0000)]
MIPS: Fix debug mode webkit failures.

* Handles SMI case in EmitLoadRegister correctly.
* Fix minor mistake in the assembler.

BUG=v8:2808
TEST=webkit/dfg-dead-min-two-args,webkit/fast/js/excessive-comma-usage

Review URL: https://codereview.chromium.org/20801003

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

11 years agoMIPS: Add Smi support to Shl
palfia@homejinni.com [Fri, 26 Jul 2013 23:56:03 +0000 (23:56 +0000)]
MIPS: Add Smi support to Shl

Port r15910 (8e65c434)

BUG=

Review URL: https://codereview.chromium.org/20808004

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

11 years agoAdd regression test for recently fixed bug
jkummerow@chromium.org [Fri, 26 Jul 2013 14:58:30 +0000 (14:58 +0000)]
Add regression test for recently fixed bug

BUG=chromium:258519
R=machenbach@chromium.org

Review URL: https://codereview.chromium.org/20732002

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

11 years agoLogger: introduce abstract interface for CodeEvent listeners.
loislo@chromium.org [Fri, 26 Jul 2013 13:50:23 +0000 (13:50 +0000)]
Logger: introduce abstract interface for CodeEvent listeners.

New abstract class CodeEventListener was created.

CodeEventLogger which is the base class for Jit, LowLevel
and CodeAddressMap loggers was inherited from CodeEventListener.

CodeAddressMap class was moved to serializer.cc because serializer is the only user for it. Actually it collects code names and pushes them to the standard log as SnapshotCodeNameEvent. So I extracted this code into separate function CodeNameEvent. It happens that this method works only when Serializer serializes an object. So I added direct log call there.

CodeEventLogger class declaration was moved to the header
because CodeAddressMap needs it.
The code for the nested class CodeEventLogger::NameBuffer was left in the cc file.

CpuProfiler now is inherit CodeEventListener but not used
the loggers infrastructure yet due to the complex initialization schema. I'd like to fix that in a separate cl.

BUG=none
TEST=current test set.
R=yangguo@chromium.org, yurys@chromium.org

Review URL: https://codereview.chromium.org/19724007

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

11 years agoAdd Smi support to Shl
verwaest@chromium.org [Fri, 26 Jul 2013 13:35:44 +0000 (13:35 +0000)]
Add Smi support to Shl

R=mvstanton@chromium.org

Review URL: https://chromiumcodereview.appspot.com/20323002

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

11 years agoRemove --prof-auto flag
yurys@chromium.org [Fri, 26 Jul 2013 13:18:56 +0000 (13:18 +0000)]
Remove --prof-auto flag

There is already --prof-lazy flag which should be enough.

BUG=None
R=yangguo@chromium.org

Review URL: https://codereview.chromium.org/20482003

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

11 years agoDisable mjsunit test when parallel recompilation is not available.
machenbach@chromium.org [Fri, 26 Jul 2013 12:34:46 +0000 (12:34 +0000)]
Disable mjsunit test when parallel recompilation is not available.

R=yangguo@chromium.org

Review URL: https://codereview.chromium.org/20573003

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

11 years agoDo not allow external strings in old pointer space.
yangguo@chromium.org [Fri, 26 Jul 2013 12:32:06 +0000 (12:32 +0000)]
Do not allow external strings in old pointer space.

R=mstarzinger@chromium.org
BUG=

Review URL: https://codereview.chromium.org/20723002

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

11 years agoFix Smi-based MathMinMax on x64, and reenable smi mode.
verwaest@chromium.org [Fri, 26 Jul 2013 12:06:22 +0000 (12:06 +0000)]
Fix Smi-based MathMinMax on x64, and reenable smi mode.

BUG=
R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/20706002

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

11 years agoAdd webkit tests to deopt fuzzer portfolio.
machenbach@chromium.org [Fri, 26 Jul 2013 11:39:58 +0000 (11:39 +0000)]
Add webkit tests to deopt fuzzer portfolio.

Two failing tests are skipped and added to an existing bug report.

R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/20708002

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

11 years agoRegression test for existing bug in String::MakeExternal.
mstarzinger@chromium.org [Fri, 26 Jul 2013 11:37:54 +0000 (11:37 +0000)]
Regression test for existing bug in String::MakeExternal.

R=yangguo@chromium.org

Review URL: https://codereview.chromium.org/20713002

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

11 years agoLazy call to custom stack trace formatting using Error.prepareStackTrace.
yangguo@chromium.org [Fri, 26 Jul 2013 11:28:08 +0000 (11:28 +0000)]
Lazy call to custom stack trace formatting using Error.prepareStackTrace.

This enables custom stack trace formatting for stack overflow.
A consequence is that stack trace formatting is now easily observable,
but we already established that the default stack trace formatting can
be observed anyways. It is only triggered by the .stack getter, and
it has to be explicitly called, (e.g. not implicitly after GC).

R=mstarzinger@chromium.org
BUG=v8:2559

Review URL: https://codereview.chromium.org/20692002

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

11 years agoRebaseline webkit test with correct assumptions.
machenbach@chromium.org [Fri, 26 Jul 2013 11:22:25 +0000 (11:22 +0000)]
Rebaseline webkit test with correct assumptions.

R=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/20691002

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

11 years agoRevert "Check that ExternalString objects get aligned resources" (r15894).
mstarzinger@chromium.org [Fri, 26 Jul 2013 10:40:00 +0000 (10:40 +0000)]
Revert "Check that ExternalString objects get aligned resources" (r15894).

R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/20703002

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

11 years agoPrepare push to trunk. Now working on version 3.20.10.
jkummerow@chromium.org [Fri, 26 Jul 2013 09:22:45 +0000 (09:22 +0000)]
Prepare push to trunk.  Now working on version 3.20.10.

R=yangguo@chromium.org

Review URL: https://codereview.chromium.org/20697002

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

11 years agoCheck that ExternalString objects get aligned resources.
mstarzinger@chromium.org [Fri, 26 Jul 2013 09:02:34 +0000 (09:02 +0000)]
Check that ExternalString objects get aligned resources.

R=hpayer@chromium.org

Review URL: https://codereview.chromium.org/20305004

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

11 years agoDisable Smi representation support for HMathMinMax
jkummerow@chromium.org [Fri, 26 Jul 2013 09:00:43 +0000 (09:00 +0000)]
Disable Smi representation support for HMathMinMax

because it's incomplete on x64.

BUG=v8:2808
R=verwaest@chromium.org

Review URL: https://codereview.chromium.org/20690002

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

11 years agoInline platform-tls*.h files into platform.h.
bmeurer@chromium.org [Fri, 26 Jul 2013 09:00:07 +0000 (09:00 +0000)]
Inline platform-tls*.h files into platform.h.

R=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/20684002

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

11 years agoMIPS: Adding Smi support to Add, Sub, Mul, and Bitwise
palfia@homejinni.com [Thu, 25 Jul 2013 19:57:10 +0000 (19:57 +0000)]
MIPS: Adding Smi support to Add, Sub, Mul, and Bitwise

Port r15879 (ec1e278b)

BUG=

Review URL: https://codereview.chromium.org/20407002

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

11 years agoMIPS: New array bounds check elimination pass (focused on induction variables and...
palfia@homejinni.com [Thu, 25 Jul 2013 19:55:55 +0000 (19:55 +0000)]
MIPS: New array bounds check elimination pass (focused on induction variables and bitwise operations).

Port r15866 (52e8581c)

BUG=

Review URL: https://codereview.chromium.org/20393002

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

11 years agoMigrate more tests from blink repository.
machenbach@chromium.org [Thu, 25 Jul 2013 19:54:24 +0000 (19:54 +0000)]
Migrate more tests from blink repository.

The stand-alone test driver is changed a bit:
- Don't use the errorMessage list. It is used differently in the embedded driver. There it collects parser errors - instead of failure messages.
- Remove html links in description texts. Some test descriptions print a web reference.

The migrated tests fall into 3 categories:
1. Tests outside fast/js
2. Tests that print FAIL messages (and also expect those) - these tests should be examined later if they make sense at all
3. Tests with html links in the test description

R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/20280003

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

11 years agoPut object templates of the i18n extension on the heap object.
jochen@chromium.org [Thu, 25 Jul 2013 16:01:02 +0000 (16:01 +0000)]
Put object templates of the i18n extension on the heap object.

Using function local statics doesn't work, as we need the templates per
isolate.

I'm not #ifdef'ing the definitions out, because kEmptyStringRootIndex
changes depending on whether the two additional slots are present or
not.

BUG=v8:2745
R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/20299002

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

11 years agoARM: Make double registers low/high safe
m.m.capewell@googlemail.com [Thu, 25 Jul 2013 15:04:38 +0000 (15:04 +0000)]
ARM: Make double registers low/high safe

This patch prevents taking the low/high part of a double-precision VFP register that has no corresponding single-precision VFP registers.

BUG=none
TEST=Added to test-disasm-arm.cc, test-assembler-arm.cc

Review URL: https://codereview.chromium.org/19560003

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

11 years agoFix JSArray-specific length lookup in polymorphic array handling
jkummerow@chromium.org [Thu, 25 Jul 2013 15:04:21 +0000 (15:04 +0000)]
Fix JSArray-specific length lookup in polymorphic array handling

BUG=chromium:263276
R=yangguo@chromium.org

Review URL: https://codereview.chromium.org/20295005

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

11 years agoReland "Flush parallel recompilation queues on context dispose notification."
yangguo@chromium.org [Thu, 25 Jul 2013 15:01:23 +0000 (15:01 +0000)]
Reland "Flush parallel recompilation queues on context dispose notification."

BUG=
R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/19500022

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

11 years agoMake standalone D8 trace to single hydrogen.cfg file.
mstarzinger@chromium.org [Thu, 25 Jul 2013 14:11:53 +0000 (14:11 +0000)]
Make standalone D8 trace to single hydrogen.cfg file.

R=titzer@chromium.org

Review URL: https://codereview.chromium.org/20204005

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

11 years agoRemove support for smi-based keyed accesses on 64bit.
verwaest@chromium.org [Thu, 25 Jul 2013 12:22:23 +0000 (12:22 +0000)]
Remove support for smi-based keyed accesses on 64bit.

R=mvstanton@chromium.org

Review URL: https://chromiumcodereview.appspot.com/20298002

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

11 years agoIgnore external strings in old pointer space migration invariant check.
hpayer@chromium.org [Thu, 25 Jul 2013 12:10:45 +0000 (12:10 +0000)]
Ignore external strings in old pointer space migration invariant check.

BUG=
R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/20142008

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

11 years agoAdding Smi support to Add, Sub, Mul, and Bitwise
verwaest@chromium.org [Thu, 25 Jul 2013 11:53:38 +0000 (11:53 +0000)]
Adding Smi support to Add, Sub, Mul, and Bitwise

R=svenpanne@chromium.org

Review URL: https://chromiumcodereview.appspot.com/20070005

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

11 years agoDon't duplicate OS::ActivationFrameAlignment() for every POSIX platform.
bmeurer@chromium.org [Thu, 25 Jul 2013 09:49:28 +0000 (09:49 +0000)]
Don't duplicate OS::ActivationFrameAlignment() for every POSIX platform.

R=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/20283002

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

11 years agoMove representation into HObjectAccess and remove from HLoadNamedField and HStoreName...
titzer@chromium.org [Thu, 25 Jul 2013 09:37:52 +0000 (09:37 +0000)]
Move representation into HObjectAccess and remove from HLoadNamedField and HStoreNamedField.

BUG=
R=danno@chromium.org

Review URL: https://codereview.chromium.org/18503006

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

11 years agoDrop redundant GetRandomMmapAddr() in platform-openbsd.cc.
bmeurer@chromium.org [Thu, 25 Jul 2013 09:28:21 +0000 (09:28 +0000)]
Drop redundant GetRandomMmapAddr() in platform-openbsd.cc.

TBR=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/20284002

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

11 years agoDon't duplicate OS::CpuFeaturesImpliedByPlatform for every POSIX platform.
bmeurer@chromium.org [Thu, 25 Jul 2013 09:16:39 +0000 (09:16 +0000)]
Don't duplicate OS::CpuFeaturesImpliedByPlatform for every POSIX platform.

R=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/20179004

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

11 years agoDon't duplicate ceiling() for every POSIX platform.
bmeurer@chromium.org [Thu, 25 Jul 2013 08:49:52 +0000 (08:49 +0000)]
Don't duplicate ceiling() for every POSIX platform.

R=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/20274002

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

11 years agoRemoved pointer space to pointer space compaction check when migrating objects.
hpayer@chromium.org [Thu, 25 Jul 2013 08:44:40 +0000 (08:44 +0000)]
Removed pointer space to pointer space compaction check when migrating objects.

BUG=
R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/20279002

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

11 years agomove 32 bit heap hint on sunos
yangguo@chromium.org [Thu, 25 Jul 2013 08:06:13 +0000 (08:06 +0000)]
move 32 bit heap hint on sunos

Setting the V8 heap at or near 0x20000000 on 32bit sunos only allows
512 MB of heap space, instead on sunos move this to 0x80000000.

To quote the comment

For our Solaris/illumos mmap hint, we pick a random address in the bottom
half of the top half of the address space (that is, the third quarter).
Because we do not MAP_FIXED, this will be treated only as a hint -- the
system will not fail to mmap() because something else happens to already
be mapped at our random address. We deliberately set the hint high enough
to get well above the system's break (that is, the heap); Solaris and
illumos will try the hint and if that fails allocate as if there were
no hint at all. The high hint prevents the break from getting hemmed in
at low values, ceding half of the address space to the system heap.

BUG=
R=yangguo@chromium.org

Review URL: https://codereview.chromium.org/19859008

Patch from Timothy J. Fontaine <tjfontaine@joyent.com>.

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

11 years agoDrop leftover unused kNoThread in platform-openbsd.cc.
bmeurer@chromium.org [Thu, 25 Jul 2013 08:04:45 +0000 (08:04 +0000)]
Drop leftover unused kNoThread in platform-openbsd.cc.

TBR=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/20256003

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

11 years agoSetting the thread name may fail, so don't assert that the result is 0.
bmeurer@chromium.org [Thu, 25 Jul 2013 08:00:32 +0000 (08:00 +0000)]
Setting the thread name may fail, so don't assert that the result is 0.

R=yangguo@chromium.org

Review URL: https://codereview.chromium.org/20216003

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

11 years agoAdded missing header.
mmassi@chromium.org [Thu, 25 Jul 2013 06:49:53 +0000 (06:49 +0000)]
Added missing header.

BUG=
R=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/20264002

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

11 years agoNew array bounds check elimination pass (focused on induction variables and bitwise...
mmassi@chromium.org [Thu, 25 Jul 2013 06:37:25 +0000 (06:37 +0000)]
New array bounds check elimination pass (focused on induction variables and bitwise operations).

R=titzer@chromium.org

Review URL: https://codereview.chromium.org/17568015

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

11 years agoMake DataView setters throw when only offset is provided.
dslomov@chromium.org [Wed, 24 Jul 2013 17:35:15 +0000 (17:35 +0000)]
Make DataView setters throw when only offset is provided.

Also fix typo in error message id.

R=bmeurer@chromium.org

Review URL: https://codereview.chromium.org/20030004

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

11 years agoMIPS: Convert CONSTANT_FUNCTION to CONSTANT
palfia@homejinni.com [Wed, 24 Jul 2013 15:41:00 +0000 (15:41 +0000)]
MIPS: Convert CONSTANT_FUNCTION to CONSTANT

Port r15858 (e3a6d2a)

BUG=

Review URL: https://codereview.chromium.org/19847003
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

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

11 years agoUpdate ICU to r213354
jochen@chromium.org [Wed, 24 Jul 2013 15:09:41 +0000 (15:09 +0000)]
Update ICU to r213354

At this revision, all chromium targets work with the V8 internal i18n
support

BUG=v8:2745
R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/20090002

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

11 years agoAllow handle dereference for --print-code.
yangguo@chromium.org [Wed, 24 Jul 2013 14:28:56 +0000 (14:28 +0000)]
Allow handle dereference for --print-code.

R=jkummerow@chromium.org
BUG=

Review URL: https://codereview.chromium.org/20040004

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

11 years agoAdd the emitp function for X64 assembler
haitao.feng@intel.com [Wed, 24 Jul 2013 13:50:45 +0000 (13:50 +0000)]
Add the emitp function for X64 assembler

R=danno@chromium.org

Review URL: https://codereview.chromium.org/19752004

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

11 years agowrap gc callbacks in handlescopes
dcarney@chromium.org [Wed, 24 Jul 2013 12:50:53 +0000 (12:50 +0000)]
wrap gc callbacks in handlescopes

R=mstarzinger@chromium.org
BUG=

Review URL: https://codereview.chromium.org/19845007

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

11 years agoAdd --trace-hydrogen-stubs flag (default = false).
titzer@chromium.org [Wed, 24 Jul 2013 12:38:52 +0000 (12:38 +0000)]
Add --trace-hydrogen-stubs flag (default = false).

BUG=
R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/20084003

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

11 years agoConvert CONSTANT_FUNCTION to CONSTANT
verwaest@chromium.org [Wed, 24 Jul 2013 12:34:50 +0000 (12:34 +0000)]
Convert CONSTANT_FUNCTION to CONSTANT

R=yangguo@chromium.org

Review URL: https://chromiumcodereview.appspot.com/19485008

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

11 years agoMore Math.abs tweaks for Intel platforms.
svenpanne@chromium.org [Wed, 24 Jul 2013 12:17:45 +0000 (12:17 +0000)]
More Math.abs tweaks for Intel platforms.

Made ia32/x64 code more uniform. Minor jump tweaks.

R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/20067003

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

11 years agoRestore test and behavior prior to deferred stack trace formatting.
yangguo@chromium.org [Wed, 24 Jul 2013 12:16:02 +0000 (12:16 +0000)]
Restore test and behavior prior to deferred stack trace formatting.

R=mstarzinger@chromium.org
TEST=stack-traces-overflow.js

Review URL: https://codereview.chromium.org/19805003

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

11 years agoAdd deopt fuzzer tool.
machenbach@chromium.org [Wed, 24 Jul 2013 12:04:29 +0000 (12:04 +0000)]
Add deopt fuzzer tool.

Can be run as a stand-alone script like run-tests.

Executes first all tests of a given test suite to collect the maximum number of possible deopt points. Runs then a fuzzing phase with artificial deoptimizations triggered during testing.

Works for now with mjsunit and ia32 only.

R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/19931005

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

11 years agoFactor out common code from platform-specific deoptimization. Fix Deoptimizer not...
titzer@chromium.org [Wed, 24 Jul 2013 11:12:17 +0000 (11:12 +0000)]
Factor out common code from platform-specific deoptimization. Fix Deoptimizer not to need to partition functions, but revoke their code before patching, allowing deoptimizing_code_list to be removed from Code; Add DeoptimizeCodeList API to deoptimizer, which works on a ZoneList<Code*>.

BUG=
R=mstarzinger@chromium.org, ulan@chromium.org

Review URL: https://codereview.chromium.org/19638014

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

11 years agoRemove HCompareConstantEqAndBranch (never used), and its corresponding Lithium instru...
titzer@chromium.org [Wed, 24 Jul 2013 10:48:16 +0000 (10:48 +0000)]
Remove HCompareConstantEqAndBranch (never used), and its corresponding Lithium instructions.

BUG=
R=bmeurer@chromium.org, mvstanton@chromium.org

Review URL: https://codereview.chromium.org/19691005

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

11 years agoExtend existing blink test expectations for slow tests.
machenbach@chromium.org [Wed, 24 Jul 2013 09:46:49 +0000 (09:46 +0000)]
Extend existing blink test expectations for slow tests.

The test plugins/js-from-destroy.html has crash and timeout expectations for some configurations but not on windows release. Add 'slow', since there is a timeout only on the v8 waterfall and only for windows release.

BUG=webkit.org/b/48655
R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/20082002

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

11 years agoAdded check to debug object migration crashes.
hpayer@chromium.org [Wed, 24 Jul 2013 09:19:55 +0000 (09:19 +0000)]
Added check to debug object migration crashes.

BUG=
R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/20055002

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

11 years agoObjects can no longer be migrated or evacuated into large object space.
hpayer@chromium.org [Wed, 24 Jul 2013 08:50:03 +0000 (08:50 +0000)]
Objects can no longer be migrated or evacuated into large object space.

BUG=
R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/19959007

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

11 years agoRemoved usesless test instruction.
svenpanne@chromium.org [Wed, 24 Jul 2013 08:32:21 +0000 (08:32 +0000)]
Removed usesless test instruction.

R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/19647019

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

11 years agoPrepare push to trunk. Now working on version 3.20.9.
yangguo@chromium.org [Wed, 24 Jul 2013 08:17:32 +0000 (08:17 +0000)]
Prepare push to trunk.  Now working on version 3.20.9.

R=jkummerow@chromium.org
BUG=

Review URL: https://codereview.chromium.org/20066007

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

11 years agoAvoid adding HWrapReceiver during graph building.
mstarzinger@chromium.org [Wed, 24 Jul 2013 08:05:49 +0000 (08:05 +0000)]
Avoid adding HWrapReceiver during graph building.

This adds an early check to the graph builder which prevents adding an
HWrapReceiver instruction if the receiver type is already known at graph
building time. Also HAllocate no longer unnecessarily postpones setting
it's type until type inference but sets it right away. These changes are
in preparation for escape analysis.

R=titzer@chromium.org

Review URL: https://codereview.chromium.org/19493005

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

11 years agoFix assert/crash in HandlePolymorphicCallNamed
jkummerow@chromium.org [Wed, 24 Jul 2013 08:00:52 +0000 (08:00 +0000)]
Fix assert/crash in HandlePolymorphicCallNamed

R=jkummerow@chromium.org
TEST=Ryan Sturgell's test runs through without crashing

Review URL: https://codereview.chromium.org/20051008

Patch from Daniel Clifford <danno@chromium.org>.

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

11 years agoRevert "Flush parallel recompilation queues on context dispose notification."
yangguo@chromium.org [Wed, 24 Jul 2013 07:45:54 +0000 (07:45 +0000)]
Revert "Flush parallel recompilation queues on context dispose notification."

This reverts r15833.

R=jkummerow@chromium.org
BUG=

Review URL: https://codereview.chromium.org/19647018

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

11 years agoSimplified large object allocation strategy.
hpayer@chromium.org [Tue, 23 Jul 2013 20:01:38 +0000 (20:01 +0000)]
Simplified large object allocation strategy.

BUG=
R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/19934006

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

11 years agoSupport double allocations when folding allocation.
hpayer@chromium.org [Tue, 23 Jul 2013 19:27:00 +0000 (19:27 +0000)]
Support double allocations when folding allocation.

BUG=
R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/19956002

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

11 years agoFix TargetSpace() method for box type.
hpayer@chromium.org [Tue, 23 Jul 2013 19:05:00 +0000 (19:05 +0000)]
Fix TargetSpace() method for box type.

BUG=
R=danno@chromium.org

Review URL: https://codereview.chromium.org/19978003

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

11 years agoFlush parallel recompilation queues on context dispose notification.
yangguo@chromium.org [Tue, 23 Jul 2013 15:15:00 +0000 (15:15 +0000)]
Flush parallel recompilation queues on context dispose notification.

R=jkummerow@chromium.org
BUG=

Review URL: https://codereview.chromium.org/19956004

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

11 years agoFix call stack sampling for the case when native callback invokes JS function
yurys@chromium.org [Tue, 23 Jul 2013 15:01:38 +0000 (15:01 +0000)]
Fix call stack sampling for the case when native callback invokes JS function

The SafeStackFrameIterator used by CPU profiler checked if Isolate::c_entry_fp is null and if it is not it would think that the control flow currently is in some native code. This assumption is wrong because the native code could have called a JS function but JSEntryStub would not reset c_entry_fp to NULL in that case. This CL adds a check in SafeStackFrameIterator::IsValidTop for the case when there is a JAVA_SCRIPT frame on top of EXIT frame.

Also this CL changes ExternalCallbackScope behavior to provide access to the whole stack of the scope objects instead of only top one. This allowed to provide exact callback names for those EXIT frames where external callbacks are called. Without this change it was possible only for the top most native call.

BUG=None
R=loislo@chromium.org, yangguo@chromium.org

Review URL: https://codereview.chromium.org/19775017

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

11 years agoMIPS: Eliminate map checks of constant values.
palfia@homejinni.com [Tue, 23 Jul 2013 14:29:04 +0000 (14:29 +0000)]
MIPS: Eliminate map checks of constant values.

Port r15819 (a453a0e)

BUG=

Review URL: https://codereview.chromium.org/19876006
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

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

11 years agoAvoid duplication of OS::Thread methods for every POSIX platform.
bmeurer@chromium.org [Tue, 23 Jul 2013 13:47:50 +0000 (13:47 +0000)]
Avoid duplication of OS::Thread methods for every POSIX platform.

R=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/19490010

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

11 years agoIntroduce kRegisterSize, kPCOnStackSize and kFPOnStackSize constants
haitao.feng@intel.com [Tue, 23 Jul 2013 13:46:10 +0000 (13:46 +0000)]
Introduce kRegisterSize, kPCOnStackSize and kFPOnStackSize constants

BUG=None
R=danno@chromium.org

Review URL: https://codereview.chromium.org/19802002

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

11 years agoDeprecate v8::V8::Pause/ResumeProfiler
yurys@chromium.org [Tue, 23 Jul 2013 13:44:15 +0000 (13:44 +0000)]
Deprecate v8::V8::Pause/ResumeProfiler

The methods were added to the public API in r1185 when Chrome DevTools were using the same output as produced for tick processor when --prof option is specified.

I don't see any existing clients of these methods and since they add a noticeable complexity to the profiler code I'd like to remove them.

BUG=None
R=yangguo@chromium.org

Review URL: https://codereview.chromium.org/19591006

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

11 years agoUnify SoftDeoptimize and Deoptimize hydrogen instructions
danno@chromium.org [Tue, 23 Jul 2013 13:35:10 +0000 (13:35 +0000)]
Unify SoftDeoptimize and Deoptimize hydrogen instructions

BUG=chromium:258519
R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/19528003

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

11 years agoRevert "Addressed danno's comments" and "Introduce kRegisterSize, kPCOnStackSize...
haitao.feng@intel.com [Tue, 23 Jul 2013 13:30:44 +0000 (13:30 +0000)]
Revert "Addressed danno's comments" and "Introduce kRegisterSize, kPCOnStackSize and kFPOnStackSize constants"

BUG=None
R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/19483007

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

11 years agoAddressed danno's comments
haitao.feng@intel.com [Tue, 23 Jul 2013 13:01:59 +0000 (13:01 +0000)]
Addressed danno's comments

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

11 years agoIntroduce kRegisterSize, kPCOnStackSize and kFPOnStackSize constants
haitao.feng@intel.com [Tue, 23 Jul 2013 13:01:42 +0000 (13:01 +0000)]
Introduce kRegisterSize, kPCOnStackSize and kFPOnStackSize constants

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

11 years agoAlso eliminate map checks with transitions.
verwaest@chromium.org [Tue, 23 Jul 2013 10:01:06 +0000 (10:01 +0000)]
Also eliminate map checks with transitions.

R=ulan@chromium.org

Review URL: https://chromiumcodereview.appspot.com/19888006

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

11 years agoFix duplicated methods for POSIX platforms.
bmeurer@chromium.org [Tue, 23 Jul 2013 09:59:14 +0000 (09:59 +0000)]
Fix duplicated methods for POSIX platforms.

No need to duplicate OS::NumberOfCores() for every POSIX platform.
No need to duplicate OS::Sleep() for every POSIX platform.
No need to duplicate OS::Abort() and OS::DebugBreak() for every POSIX platform.
No need to duplicate OS::Free() for every POSIX platform.
Move #ifdef'd OS::ProtectCode() and OS::Guard() to platform-posix.cc.
No need to duplicate OS::AllocateAlignment() for every POSIX platform.
No need to duplicate OS::PostSetUp() for every POSIX platform.

R=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/20014005

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

11 years agoEliminate map checks of constant values.
verwaest@chromium.org [Tue, 23 Jul 2013 09:18:42 +0000 (09:18 +0000)]
Eliminate map checks of constant values.

R=ulan@chromium.org

Review URL: https://chromiumcodereview.appspot.com/19954005

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

11 years agoAvoid tagged values for Instructions that truncate the operands with ToNumber.
olivf@chromium.org [Tue, 23 Jul 2013 09:13:59 +0000 (09:13 +0000)]
Avoid tagged values for Instructions that truncate the operands with ToNumber.

I case the ToNumber is applied to a non numeric value but its not observable (some constants and oddballs) we should already do it in hydrogen...

BUG=
R=verwaest@chromium.org

Review URL: https://codereview.chromium.org/19798002

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