Commit Graph

15921 Commits

Author SHA1 Message Date
dslomov@chromium.org
5ab9c55ae3 First round of runtime.cc handlification.
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20758 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-15 10:37:12 +00:00
yangguo@chromium.org
134c2e75ad Handlify PrepareSlowElementsForSort and JSArrayUpdateLengthFromIndex.
R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20757 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-15 10:29:56 +00:00
bmeurer@chromium.org
b5cec2b72f Handlify AddDependentCode(), AddDependentCompilationInfo() and AddDependentIC().
R=ishell@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20756 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-15 10:14:50 +00:00
rmcilroy@chromium.org
6a3e92b9a2 ARM: Do not set FPSCR when converting to clamped uint8
Setting the FPSCR flags is expensive on some CPUs. Get rid of repeated
setting of the FPSCR by relying on the correct default flags being set
when doing uint8 clamping. Also use vcvt_u32_f64 instead of vcvt_s32_f64,
which enables removing the check against zero (vcvt_u32_f64 will clamp to
zero).

To be on the safe side, add asserts to check that the VFP rounding mode
flags are set to default as expected.

This increases performance of a hot loop repeatedly setting
Uint8ClampedArray values on some CPUs by as much as a factor of 12.

BUG=v8:3253
LOG=N
R=jacob.bramley@arm.com, rmcilroy@chromium.org, ulan@chromium.org

Committed: https://code.google.com/p/v8/source/detail?r=20676

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

Patch from Olli Etuaho <oetuaho@nvidia.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20755 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-15 09:58:09 +00:00
verwaest@chromium.org
76e1386acb Bump kMaxFastProperties (non-keyed assignments) to 128.
R=ishell@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20754 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-15 08:59:51 +00:00
dcarney@chromium.org
21bcc1cde4 remove some isolate::current uses from api.cc
R=svenpanne@chromium.org

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20753 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-15 08:30:42 +00:00
marja@chromium.org
a43a63b110 Refactor ParseFunctionLiteral.
It was a pretty monstrous 500 line function.

R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20752 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-15 08:29:24 +00:00
ulan@chromium.org
a50aca97a2 Reland r20692 "Check stack limit in ArgumentAdaptorTrampoline."
BUG=353058
LOG=N
TEST=mjsunit/regress/regress-353058
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20751 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-15 08:26:26 +00:00
mstarzinger@chromium.org
39137c81e6 Fix bogus Object.isSealed check in some Array builtins.
R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20750 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-15 08:25:42 +00:00
yangguo@chromium.org
a54d24a1d6 Handlify TypedArray setters.
R=dslomov@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20749 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-15 08:15:33 +00:00
yangguo@chromium.org
cf7c8181f0 Remove assertion from callers of TryCall.
R=ishell@chromium.org
BUG=363280
LOG=N

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20748 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-15 07:56:00 +00:00
svenpanne@chromium.org
cd89f90bd1 Removed GetDefaultIsolate{Debugger,ForLocking,StackGuard}.
Some first steps towards removing the default Isolate. Fixed argument
order on the way, incl. temporary helpers.

BUG=359977
LOG=y
R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20747 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-15 07:47:33 +00:00
bmeurer@chromium.org
6b4d4b7287 Reland "Track field types.".
This is an initial step towards tracking the exact types instead of just
the representations of fields. It adds support to track up to one map of
heap object field values, eliminating various map checks on values
loaded from such fields, at the cost of making stores to such fields
slightly more expensive.

Issues with transitioning stores and fast object literals in Crankshaft
fixed.

TEST=mjsunit/field-type-tracking
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20746 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-15 07:36:47 +00:00
yangguo@chromium.org
414dd03250 Reland "Handlify GetDeclaredAccessorProperty."
R=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20745 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-15 06:54:56 +00:00
adamk@chromium.org
c1db31b97c Remove unnecessary %UnwrapGlobalProxy calls from object-observe.js
The intent of these calls was to properly key the WeakMap get/set calls
on the underlying global object, not the proxy, since that is the object
actually being observed. But unwrapping at this layer is unnecessary
since GetIdentityHash will already do the unwrapping (via its call to
GetHiddenProperty).

Also remove the runtime function itself, as these were the only callers,
and remove the now-redundant IS_SPEC_OBJECT() checks from object-observe.js's
MapWrapper type.

R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20740 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 20:52:20 +00:00
yangguo@chromium.org
af1272cf78 Reland "Handlify DebugLookupResultValue."
R=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20739 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 19:38:29 +00:00
yangguo@chromium.org
123a271e72 Reland "Handlify Runtime::InitializeIntrinsicFunctionNames."
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20738 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 19:37:51 +00:00
yangguo@chromium.org
22f7451e6c Export [Dis]allowJavascriptExecutionScope
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20737 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 19:34:32 +00:00
verwaest@chromium.org
494bf01e53 Initial steps for moving code onto Map
BUG=
R=ishell@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20736 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 16:21:38 +00:00
mstarzinger@chromium.org
8178dbd1f7 Handlify Heap::AllocateJSArrayStorage and friends.
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20735 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 16:05:19 +00:00
ishell@chromium.org
4792f61042 Reland "HashTable::Shrink() handlified and derived template parameter added to HashTable hierarchy."
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20734 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 15:56:57 +00:00
rossberg@chromium.org
7b7f787e3b Re-reland "More tests for Union & Intersect"
R=jarin@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20733 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 15:35:36 +00:00
yangguo@chromium.org
d42146c8b8 Revert "Handlify DebugLookupResultValue."
This reverts r20729.

TBR=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20732 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 14:34:37 +00:00
yangguo@chromium.org
b173d2cd15 Revert "Handlify GetDeclaredAccessorProperty."
This reverts r20721.

TBR=jarin@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20731 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 14:31:38 +00:00
yangguo@chromium.org
01fc2ab69b Allow allocation and GC in access check callbacks.
R=ishell@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20730 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 14:03:20 +00:00
yangguo@chromium.org
203e415086 Handlify DebugLookupResultValue.
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20729 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 14:00:35 +00:00
hpayer@chromium.org
c1435b0832 Don't run tests that rely on compaction when compaction is turned off.
BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20728 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 13:52:41 +00:00
jochen@chromium.org
181bcc3416 Clean up default-platform gyp defines
The files that are excluded do not exist at that location, so the rule
is not effective.

We'll first want to move the platform stuff into a separate library, so
I'm just removing those lines for now

BUG=v8:3015
R=dcarney@chromium.org
LOG=n

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20727 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 13:38:16 +00:00
ishell@chromium.org
f4dc0ee882 Revert "Reland "HashTable::Shrink() handlified and derived template parameter added to HashTable hierarchy.""
This reverts r20724.

TBR=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20726 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 13:25:16 +00:00
rmcilroy@chromium.org
92d2c6960b Fix initial FPSCR state in ARM simulator
Rounding mode should be round-to-nearest by default, and NaN mode bit
should be 0, like in a real ARM system.

BUG=3253
LOG=N
R=rmcilroy@chromium.org

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

Patch from Olli Etuaho <oetuaho@nvidia.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20725 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 12:50:24 +00:00
ishell@chromium.org
72e2d5b3c8 Reland "HashTable::Shrink() handlified and derived template parameter added to HashTable hierarchy."
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20724 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 12:50:04 +00:00
ulan@chromium.org
8b445aaa5f Fix result of LCodeGen::DoWrapReceiver for strict functions and builtins.
BUG=362128
LOG=Y
TEST=mjsunit/regress/regress-362128
R=jacob.bramley@arm.com

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20723 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 11:58:18 +00:00
yangguo@chromium.org
0b20d13b40 Handlify AddToOptimizedCodeMap.
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20722 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 11:46:35 +00:00
yangguo@chromium.org
160263fa74 Handlify GetDeclaredAccessorProperty.
R=dcarney@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20721 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 11:46:02 +00:00
mvstanton@chromium.org
ae06768ef0 Handlification in ic.cc
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20720 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 11:44:13 +00:00
yangguo@chromium.org
8eaff70bed Revert "Handlify Runtime::InitializeIntrinsicFunctionNames."
This reverts r20718.

TBR=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20719 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 11:43:40 +00:00
yangguo@chromium.org
3a12bbe0fa Handlify Runtime::InitializeIntrinsicFunctionNames.
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20718 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 11:32:12 +00:00
mstarzinger@chromium.org
b280ad6c44 Try to switch Array builtins into strict mode.
R=rossberg@chromium.org
TEST=mjsunit,test262,webkit

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20717 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 11:24:40 +00:00
verwaest@chromium.org
de50f63f16 Clean up the public interface of Map.
BUG=
R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20716 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 11:19:37 +00:00
alexandre.rames@arm.com
97585ab8b5 ARM64: Avoid iterating through all unresolved branch infos when many are pending.
Instead, inspect the label chain and delete pending information for every branch
in the chain.

R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20715 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 11:08:14 +00:00
alexandre.rames@arm.com
b0938269dc ARM64: Fix EnsureSpace to not emit pools.
The EnsureSpace scope must not trigger any code emission, so it should only grow
the buffer, and not check for pools.

R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20714 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 11:04:46 +00:00
machenbach@chromium.org
0182a0f16a Make V8 releases script add useful links.
BUG=
R=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20713 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 10:32:00 +00:00
rossberg@chromium.org
b73257b7a3 Revert "Reland "More tests for Union & Intersect""
Need to reproduce wrong result only occurring with ASAN.

TBR=jarin@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20712 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 09:46:56 +00:00
yangguo@chromium.org
b44598b387 Handlify Object::ToObject.
R=bmeurer@chromium.org, mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20711 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 09:19:09 +00:00
mvstanton@chromium.org
a9db3bc868 Some tests and simplified TransitionArray copying
Tests for verifying that we deal correctly with shrinking transition
arrays while allocating a copy of one.

Also, we can rely on a transition array only shrinking and not
disappearing during gc while copying one.

R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20710 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 08:58:00 +00:00
marja@chromium.org
ed1d232d5d Parser cleanup: PreParser doesn't need to produce symbol data any more.
State of the art:
- Chromium doesn't do a separate preparsing phase any more.
- We start parsing with Parser, and when it sees a lazy function, it falls back
to PreParser for that function.
- The symbol data should contain symbols which are *outside* lazy functions.
- So Parser should always produce symbol data, and PreParser should never.
- Because it's this simple now, we don't need to keep track of "should
produce symbol data" (i.e., whether we're inside a lazy func or not).

R=ulan@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20707 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 08:49:23 +00:00
rossberg@chromium.org
a3d743b470 Reland "More tests for Union & Intersect"
Fixes size approximation in Intersect. Also lowers the number of fuzzed types in test, to address time-outs.

R=bmeurer@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20706 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 08:46:39 +00:00
yangguo@chromium.org
7d987b3744 Allow GetScriptNameOrSourceURL to be called with exception pending.
R=jarin@chromium.org, ishell@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20705 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 08:27:00 +00:00
jarin@chromium.org
c1a3ab6b4f Revert "Track field types."
Revert r20701.

TBR=bmeurer@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20704 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 08:24:15 +00:00
marja@chromium.org
d70f78827e Fail the compilation if the cached data is invalid.
R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20703 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 07:35:46 +00:00