dslomov [Fri, 27 Feb 2015 22:24:32 +0000 (14:24 -0800)]
Revert of Regression test for v8:3930. (patchset #1 id:1 of https://codereview.chromium.org/
961353002/)
Reason for revert:
Fails on nosnap builds
Original issue's description:
> Regression test for v8:3930.
>
> R=arv@chromium.org,rossberg@chromium.org
> BUG=v8:3930
> LOG=N
>
> Committed: https://crrev.com/
48fb3e83c5882e9818bc1e0a035864b465602aca
> Cr-Commit-Position: refs/heads/master@{#26926}
TBR=arv@chromium.org,rossberg@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3930
Review URL: https://codereview.chromium.org/
965043002
Cr-Commit-Position: refs/heads/master@{#26929}
machenbach [Fri, 27 Feb 2015 22:23:25 +0000 (14:23 -0800)]
Make the auto-pusher recover easier.
The auto-push script is only used in an automated fashion
on bots. It doesn't need to check for a clean git
environment as it has a special workdir checkout.
If the release creation fails for whatever reason (e.g.
a master restart happens in the middle), the workdir
checkout might be left dirty. Any new attempt of the auto
pusher then bails out.
After this change it will call the create_release script
in any case which tidies up the workspace on startup.
TBR=tandrii@chromium.org
NOTRY=true
TEST=./script_test.py
Review URL: https://codereview.chromium.org/
960773007
Cr-Commit-Position: refs/heads/master@{#26928}
arv [Fri, 27 Feb 2015 21:22:39 +0000 (13:22 -0800)]
Fix block-for test
The test didn't call the test function.
BUG=v8:3932
LOG=N
TBR=ulan@chromium.org
Review URL: https://codereview.chromium.org/
964993002
Cr-Commit-Position: refs/heads/master@{#26927}
dslomov [Fri, 27 Feb 2015 21:21:32 +0000 (13:21 -0800)]
Regression test for v8:3930.
R=arv@chromium.org,rossberg@chromium.org
BUG=v8:3930
LOG=N
Review URL: https://codereview.chromium.org/
961353002
Cr-Commit-Position: refs/heads/master@{#26926}
dslomov [Fri, 27 Feb 2015 20:17:55 +0000 (12:17 -0800)]
Disallow subclassing Arrays.
R=rossberg@chromium.org,arv@chromium.org
BUG=v8:3930
LOG=Y
Review URL: https://codereview.chromium.org/
962263002
Cr-Commit-Position: refs/heads/master@{#26925}
arv [Fri, 27 Feb 2015 19:28:55 +0000 (11:28 -0800)]
ES6: Make function name configurable
This is partially based on r21609 but that CL was incomplete.
Function name is still non writable so one has to use defineProperty
to change the actual value.
BUG=v8:3333
LOG=N
R=adamk, mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
960343002
Cr-Commit-Position: refs/heads/master@{#26924}
ricow [Fri, 27 Feb 2015 18:42:43 +0000 (10:42 -0800)]
Remove trailing enum comma, I see arm compile failures due to this
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
961263002
Cr-Commit-Position: refs/heads/master@{#26923}
arv [Fri, 27 Feb 2015 18:09:34 +0000 (10:09 -0800)]
Stage ES6 computed property names
BUG=v8:3754
LOG=N
R=dslomov@chromium.org, rossberg@chromium.org
Review URL: https://codereview.chromium.org/
959313002
Cr-Commit-Position: refs/heads/master@{#26922}
adamk [Fri, 27 Feb 2015 18:05:56 +0000 (10:05 -0800)]
Create ImportDeclarations for default imports.
BUG=v8:1569
LOG=n
Review URL: https://codereview.chromium.org/
958213006
Cr-Commit-Position: refs/heads/master@{#26921}
adamk [Fri, 27 Feb 2015 18:04:46 +0000 (10:04 -0800)]
Allow lookup of module exports by export name.
This required fixing the exports_ hash map to use the appropriate
comparison function instead of pointer comparison.
BUG=v8:1569
LOG=n
Review URL: https://codereview.chromium.org/
960793003
Cr-Commit-Position: refs/heads/master@{#26920}
bratell [Fri, 27 Feb 2015 15:21:42 +0000 (07:21 -0800)]
Avoid repeating code when creating builtins.
InstallBuiltinFunctionIds stood out when looking at code that grew
strangely when compiled with default optimizations.
This change from repeated code to a loop saves 6-7 KB of machine code.
I suspect it's faster but I also suspect it's fast enough either way so
that is not really a factor. Machine code reduction seen below.
Code formatted with git cl format.
clang x64:
Total change: -5985 bytes
-------------------------------------------
+517 - Source: ?? - (gained 744, lost 227)
-------------------------------------------
New symbols:
+744: v8::internal::Genesis::InstallBuiltinFunctionIds()::builtins type=d, size=744 bytes
Removed symbols:
-4: .L.str98 type=r, size=4 bytes
... [stripped 30 similar lines]
-19: .L.str100 type=r, size=19 bytes
----------------------------------------------------------------------------------------------
-6502 - Source: /home/bratell/src/chromium/src/v8/src/bootstrapper.cc - (gained 0, lost 6502)
----------------------------------------------------------------------------------------------
Removed symbols:
-1135: v8::internal::ResolveBuiltinIdHolder(v8::internal::Handle<v8::internal::Context>, char const*) type=t, size=1135 bytes
Shrunk symbols:
-5367: v8::internal::Genesis::InstallBuiltinFunctionIds() type=t, (was 7105 bytes, now 1738 bytes)
BUG=
Review URL: https://codereview.chromium.org/
918303005
Cr-Commit-Position: refs/heads/master@{#26919}
machenbach [Fri, 27 Feb 2015 15:00:18 +0000 (07:00 -0800)]
Update V8 DEPS.
Rolling v8/buildtools to
93b3d0af1b30db55ee42bd2e983f7753153217db
Rolling v8/tools/clang to
eb87c73202018d13f2f713e1304ab4edf9a6f49f
TBR=jochen@chromium.org
Review URL: https://codereview.chromium.org/
962223002
Cr-Commit-Position: refs/heads/master@{#26918}
loislo [Fri, 27 Feb 2015 14:12:25 +0000 (06:12 -0800)]
Fix for mips64 after #26916
BUG=
TBR=svenpanne
Review URL: https://codereview.chromium.org/
960903005
Cr-Commit-Position: refs/heads/master@{#26917}
loislo [Fri, 27 Feb 2015 13:34:23 +0000 (05:34 -0800)]
CpuProfiler: replace raw position with SourcePosition for DeoptReason
Save Unknown position as zero in RelocInfo.
Remove copy constructor of SourcePosition because it is trivial.
Mechanical replace int raw_position with SourcePosition position.
BUG=452067
LOG=n
Review URL: https://codereview.chromium.org/
959203002
Cr-Commit-Position: refs/heads/master@{#26916}
dcarney [Fri, 27 Feb 2015 13:25:02 +0000 (05:25 -0800)]
ensure host compiler is always clang when cross compiling from linux
BUG=
Committed: https://crrev.com/
56039af476797accc238dcb24c7ab926899287a0
Cr-Commit-Position: refs/heads/master@{#26881}
Review URL: https://codereview.chromium.org/
955393002
Cr-Commit-Position: refs/heads/master@{#26915}
dcarney [Fri, 27 Feb 2015 13:04:34 +0000 (05:04 -0800)]
convert Value::*Value() function to return Maybe results
BUG=v8:3929
LOG=Y
Review URL: https://codereview.chromium.org/
959223002
Cr-Commit-Position: refs/heads/master@{#26914}
mstarzinger [Fri, 27 Feb 2015 11:15:35 +0000 (03:15 -0800)]
Remove obsolete Isolate::DoThrow helper.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
967483003
Cr-Commit-Position: refs/heads/master@{#26913}
dcarney [Fri, 27 Feb 2015 10:39:25 +0000 (02:39 -0800)]
Convert v8::Value::To* to use MaybeLocal
BUG=v8:3929
LOG=y
Review URL: https://codereview.chromium.org/
962983002
Cr-Commit-Position: refs/heads/master@{#26912}
bmeurer [Fri, 27 Feb 2015 10:24:57 +0000 (02:24 -0800)]
[turbofan] Avoid generating dead BooleanNot nodes in typed lowering.
Without this shortcut we generate one BooleanNot per JSUnaryNot with
number input, which is quite common in asm.js. These dead nodes then
survive until the late control reducer runs, and may prevent
optimizations in the mean time.
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
963713002
Cr-Commit-Position: refs/heads/master@{#26911}
bmeurer [Fri, 27 Feb 2015 09:37:37 +0000 (01:37 -0800)]
[turbofan] Properly unlink dead nodes in simplified lowering.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
964843002
Cr-Commit-Position: refs/heads/master@{#26910}
balazs.kilvady [Fri, 27 Feb 2015 09:15:27 +0000 (01:15 -0800)]
MIPS: Skip the mapcheck on the global object since the global proxy and cell are already checked (or the global object map for contextual global loads).
Port
6af7ca6be4cd768b3326f0b8c32d4fbc3baa20c8
BUG=
Review URL: https://codereview.chromium.org/
957393002
Cr-Commit-Position: refs/heads/master@{#26909}
chunyang.dai [Fri, 27 Feb 2015 08:09:15 +0000 (00:09 -0800)]
X87: Skip the mapcheck on the global object since the global proxy and cell are already checked
port
6af7ca6be4cd768b3326f0b8c32d4fbc3baa20c8 (r26886)
original commit message:
Skip the mapcheck on the global object since the global proxy and cell are already
checked (or the global object map for contextual global loads).
BUG=
Review URL: https://codereview.chromium.org/
965693002
Cr-Commit-Position: refs/heads/master@{#26908}
bmeurer [Fri, 27 Feb 2015 08:03:57 +0000 (00:03 -0800)]
[x64] Make r12 allocatable.
Review URL: https://codereview.chromium.org/
926553004
Cr-Commit-Position: refs/heads/master@{#26907}
chunyang.dai [Fri, 27 Feb 2015 07:39:37 +0000 (23:39 -0800)]
Add the corresponding change for turbofan unsupported port.
this is introduced by
88c4f52cb27474989a646d6c9433bbab3e55f8ae (r26783)
BUG=
Review URL: https://codereview.chromium.org/
958243004
Cr-Commit-Position: refs/heads/master@{#26906}
cdai2 [Fri, 27 Feb 2015 07:31:45 +0000 (15:31 +0800)]
X87: Only dynamically perform access checks on the receiver if it's a JSGlobalProxy.
port
e9cdcb71743200e7dd18b0be62f764aa53729c63 (r26875)
original commit message:
Only dynamically perform access checks on the receiver if it's a JSGlobalProxy.
Proxies up the chain are guaranteed to provide access if we had access to the receiver,
since otherwise we wouldn't have been able to compile the stub in the first place.
If the security check would change, the window navigates, changing the map of the JSGlobalProxy.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/
964813002
Cr-Commit-Position: refs/heads/master@{#26905}
cdai2 [Fri, 27 Feb 2015 07:02:59 +0000 (15:02 +0800)]
X87: Move Maps' back pointers from "transitions" to "constructor" field.
port
affcfaf42801414d25b3e57271a9803a026f40ed (r26835).
original commit message:
Move Maps' back pointers from "transitions" to "constructor" field
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/
964783002
Cr-Commit-Position: refs/heads/master@{#26904}
cdai2 [Fri, 27 Feb 2015 07:01:54 +0000 (15:01 +0800)]
X87: Stop using HeapType in IC and Crankshaft.
port
119cb5661724006b736fcb6484258c752125e372 (r26696).
original commit message:
Stop using HeapType in IC and Crankshaft
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/
958283002
Cr-Commit-Position: refs/heads/master@{#26903}
svenpanne [Fri, 27 Feb 2015 06:56:44 +0000 (22:56 -0800)]
Test StringLengthStub generation via TurboFan.
For now we just use the RawMachineAssembler, this will be changed
later to use the whole TurboFan pipeline.
Review URL: https://codereview.chromium.org/
925373002
Cr-Commit-Position: refs/heads/master@{#26902}
chunyang.dai [Fri, 27 Feb 2015 05:54:13 +0000 (21:54 -0800)]
Add the dummy implementation for turbofan unsupported port.
This is introduced by
acd9c46ca7a0ada723d717f2545fd484c824eaa2 (r26691).
BUG=
Review URL: https://codereview.chromium.org/
965673002
Cr-Commit-Position: refs/heads/master@{#26901}
machenbach [Thu, 26 Feb 2015 21:04:11 +0000 (13:04 -0800)]
Revert of Also skip when the target is the global object (patchset #1 id:1 of https://codereview.chromium.org/
961723002/)
Reason for revert:
Breaks unscopables and fix attempt needed to be reverted too.
Original issue's description:
> Also skip when the target is the global object
>
> BUG=
>
> Committed: https://crrev.com/
cc918d30b9d586ce974b71232473f2ae3c5e7847
> Cr-Commit-Position: refs/heads/master@{#26887}
TBR=jkummerow@chromium.org,verwaest@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=
Review URL: https://codereview.chromium.org/
960363002
Cr-Commit-Position: refs/heads/master@{#26900}
machenbach [Thu, 26 Feb 2015 21:03:02 +0000 (13:03 -0800)]
Revert of Invalidate the global property cell when converting from data to accessor. (patchset #1 id:1 of https://codereview.chromium.org/
961003002/)
Reason for revert:
Breaks gc stress, e.g.: http://build.chromium.org/p/client.v8/builders/V8%20GC%20Stress%20-%201/builds/2322
Original issue's description:
> Invalidate the global property cell when converting from data to accessor.
>
> BUG=
> TBR=jkummerow@chromium.org,
>
> Committed: https://crrev.com/
6a12dc240b1faffa500ff269077d832ecc74239d
> Cr-Commit-Position: refs/heads/master@{#26896}
TBR=jkummerow@chromium.org,verwaest@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=
Review URL: https://codereview.chromium.org/
958113004
Cr-Commit-Position: refs/heads/master@{#26899}
machenbach [Thu, 26 Feb 2015 21:01:54 +0000 (13:01 -0800)]
Revert of MIPS: Also skip when the target is the global object. (patchset #1 id:1 of https://codereview.chromium.org/
957413002/)
Reason for revert:
Need to revert the ported CL.
Original issue's description:
> MIPS: Also skip when the target is the global object.
>
> Port
cc918d30b9d586ce974b71232473f2ae3c5e7847
>
> BUG=
>
> Committed: https://crrev.com/
b24a0efa447235e11b9ff9d1eeaada06131b2e04
> Cr-Commit-Position: refs/heads/master@{#26897}
TBR=danno@chromium.org,verwaest@chromium.org,paul.lind@imgtec.com,gergely.kis@imgtec.com,akos.palfi@imgtec.com,dusan.milosavljevic@imgtec.com,balazs.kilvady@imgtec.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=
Review URL: https://codereview.chromium.org/
963603002
Cr-Commit-Position: refs/heads/master@{#26898}
balazs.kilvady [Thu, 26 Feb 2015 19:30:42 +0000 (11:30 -0800)]
MIPS: Also skip when the target is the global object.
Port
cc918d30b9d586ce974b71232473f2ae3c5e7847
BUG=
Review URL: https://codereview.chromium.org/
957413002
Cr-Commit-Position: refs/heads/master@{#26897}
verwaest [Thu, 26 Feb 2015 18:48:48 +0000 (10:48 -0800)]
Invalidate the global property cell when converting from data to accessor.
BUG=
TBR=jkummerow@chromium.org,
Review URL: https://codereview.chromium.org/
961003002
Cr-Commit-Position: refs/heads/master@{#26896}
adamk [Thu, 26 Feb 2015 18:40:50 +0000 (10:40 -0800)]
Re-introduce ImportDeclaration to the parser
This also adds a new VariableMode, IMPORT, which will be
used to do appropriate binding for Import-declared Variables.
Only named imports are handled for now. "import *" and default
import syntaxes have had their TODOs adjusted to match the new
code structure.
BUG=v8:1569
LOG=n
Review URL: https://codereview.chromium.org/
948303004
Cr-Commit-Position: refs/heads/master@{#26895}
balazs.kilvady [Thu, 26 Feb 2015 18:39:30 +0000 (10:39 -0800)]
MIPS: Only dynamically perform access checks on the receiver if it's a JSGlobalProxy.
Port
e9cdcb71743200e7dd18b0be62f764aa53729c63
Original commit message:
Proxies up the chain are guaranteed to provide access if we had access to the receiver, since otherwise we wouldn't have been able to compile the stub in the first place. If the security check would change, the window navigates, changing the map of the JSGlobalProxy.
BUG=
Review URL: https://codereview.chromium.org/
958923002
Cr-Commit-Position: refs/heads/master@{#26894}
ulan [Thu, 26 Feb 2015 18:38:17 +0000 (10:38 -0800)]
Revert "Revert of Fix memory leak caused by field type in descriptor array."
This reverts commit
b57be748b175695be2507cedf3423b59b9d6cd20 and
disables the test/mjsunit/debug-clearbreakpointgroup.js because
BreakLocationIterator::ClearBreakPoint is already broken for unrelated reasons (see v8:3924).
BUG=v8:3877
LOG=N
TEST=cctest/test-heap/Regress3877
Review URL: https://codereview.chromium.org/
957373002
Cr-Commit-Position: refs/heads/master@{#26893}
arv [Thu, 26 Feb 2015 18:36:59 +0000 (10:36 -0800)]
Fix issue with class name TDZ in computed property names
BUG=v8:3923
LOG=N
R=marja,rossberg
Review URL: https://codereview.chromium.org/
961823002
Cr-Commit-Position: refs/heads/master@{#26892}
ulan [Thu, 26 Feb 2015 18:35:50 +0000 (10:35 -0800)]
Store weak cell cache for map in the map itself.
BUG=
Review URL: https://codereview.chromium.org/
958023002
Cr-Commit-Position: refs/heads/master@{#26891}
titzer [Thu, 26 Feb 2015 18:34:41 +0000 (10:34 -0800)]
Remove RecordTypeFeedback() methods from some AST classes and move into typing.cc.
R=mvstanton@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
955243002
Cr-Commit-Position: refs/heads/master@{#26890}
vogelheim [Thu, 26 Feb 2015 18:33:33 +0000 (10:33 -0800)]
Fix memory leak in natives-external.
(Discovered when landing crrev.com/
959693002)
R=jochen@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
960883003
Cr-Commit-Position: refs/heads/master@{#26889}
dusan.milosavljevic [Thu, 26 Feb 2015 18:32:26 +0000 (10:32 -0800)]
MIPS64: Optimize generated code size for deoptimization table entry.
Reuse optimization introduced in
6dee8884.
TEST=
BUG=
Review URL: https://codereview.chromium.org/
960963002
Cr-Commit-Position: refs/heads/master@{#26888}
verwaest [Thu, 26 Feb 2015 15:29:07 +0000 (07:29 -0800)]
Also skip when the target is the global object
BUG=
Review URL: https://codereview.chromium.org/
961723002
Cr-Commit-Position: refs/heads/master@{#26887}
verwaest [Thu, 26 Feb 2015 15:12:01 +0000 (07:12 -0800)]
Skip the mapcheck on the global object since the global proxy and cell are already checked (or the global object map for contextual global loads).
BUG=
Review URL: https://codereview.chromium.org/
961693002
Cr-Commit-Position: refs/heads/master@{#26886}
vogelheim [Thu, 26 Feb 2015 15:10:09 +0000 (07:10 -0800)]
Revert of Default-enable external startup data for Linux for stand-alone builds. (patchset #1 id:1 of https://codereview.chromium.org/
959693002/)
Reason for revert:
Breaks "Simple Leaks Check"
Original issue's description:
> Default-enable external startup data for Linux for stand-alone builds.
>
> Notes:
> - Other platforms to follow later.
> - This follows Chromium practice, that mostly uses this feature these days.
> - The statically linked-in startup data will stay. So whoever prefers
> the old way just needs to set the flag differently.
>
> BUG=
>
> Committed: https://crrev.com/
6d0dcaabe55ca3556bebfd771fbc7fd560fdd4e0
> Cr-Commit-Position: refs/heads/master@{#26884}
TBR=machenbach@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=
Review URL: https://codereview.chromium.org/
962593003
Cr-Commit-Position: refs/heads/master@{#26885}
vogelheim [Thu, 26 Feb 2015 14:55:18 +0000 (06:55 -0800)]
Default-enable external startup data for Linux for stand-alone builds.
Notes:
- Other platforms to follow later.
- This follows Chromium practice, that mostly uses this feature these days.
- The statically linked-in startup data will stay. So whoever prefers
the old way just needs to set the flag differently.
BUG=
Review URL: https://codereview.chromium.org/
959693002
Cr-Commit-Position: refs/heads/master@{#26884}
marja [Thu, 26 Feb 2015 14:46:01 +0000 (06:46 -0800)]
Revert of Fix memory leak caused by field type in descriptor array. (patchset #3 id:40001 of https://codereview.chromium.org/
955063002/)
Reason for revert:
Breaks test/mjsunit/debug-clearbreakpointgroup.js on arm64.debug.
Original issue's description:
> Fix memory leak caused by field type in descriptor array.
>
> When a field type is a map, it is wrapped in a weak cell upon storing to the descriptor array.
>
> Map::GetFieldType(i) does the unwrapping.
>
> BUG=v8:3877
> LOG=N
> TEST=cctest/test-heap/Regress3877
>
> Committed: https://crrev.com/
77d3ae0e119893ac8d34ea6ca090cddd5bbf987e
> Cr-Commit-Position: refs/heads/master@{#26879}
TBR=verwaest@chromium.org,ulan@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3877
Review URL: https://codereview.chromium.org/
960103003
Cr-Commit-Position: refs/heads/master@{#26883}
dcarney [Thu, 26 Feb 2015 14:43:49 +0000 (06:43 -0800)]
Revert of ensure host compiler is always clang when cross compiling from linux (patchset #6 id:100001 of https://codereview.chromium.org/
955393002/)
Reason for revert:
broke some things
Original issue's description:
> ensure host compiler is always clang when cross compiling from linux
>
> BUG=
>
> Committed: https://crrev.com/
56039af476797accc238dcb24c7ab926899287a0
> Cr-Commit-Position: refs/heads/master@{#26881}
TBR=machenbach@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=
Review URL: https://codereview.chromium.org/
964483002
Cr-Commit-Position: refs/heads/master@{#26882}
dcarney [Thu, 26 Feb 2015 14:40:18 +0000 (06:40 -0800)]
ensure host compiler is always clang when cross compiling from linux
BUG=
Review URL: https://codereview.chromium.org/
955393002
Cr-Commit-Position: refs/heads/master@{#26881}
marja [Thu, 26 Feb 2015 13:48:10 +0000 (05:48 -0800)]
[strong] Declaration-after-use errors.
We cannot yet detect use-before-declaration in general, because for that we'd
need to analyze the context when compiling. But we can detect an error case
where we first see a use, then a declaration.
For this, I also added end position tracking (needed for error messages) to
VariableProxy.
Note: the position naming is completely inconsistent: start_position &
end_position, position & end_position, pos & end_pos, beg_pos & end_pos, to name
a few. This doesn't fix all of it, but tries to unify towards start_position &
end_position whenever possible w/ minimal changes.
BUG=
Review URL: https://codereview.chromium.org/
943543002
Cr-Commit-Position: refs/heads/master@{#26880}
ulan [Thu, 26 Feb 2015 13:16:32 +0000 (05:16 -0800)]
Fix memory leak caused by field type in descriptor array.
When a field type is a map, it is wrapped in a weak cell upon storing to the descriptor array.
Map::GetFieldType(i) does the unwrapping.
BUG=v8:3877
LOG=N
TEST=cctest/test-heap/Regress3877
Review URL: https://codereview.chromium.org/
955063002
Cr-Commit-Position: refs/heads/master@{#26879}
verwaest [Thu, 26 Feb 2015 12:56:07 +0000 (04:56 -0800)]
Don't perform access checks for internally used properties
BUG=
TBR=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
956283003
Cr-Commit-Position: refs/heads/master@{#26878}
machenbach [Thu, 26 Feb 2015 12:39:40 +0000 (04:39 -0800)]
Make landmines delete all generated build artifacts.
BUG=chromium:403263
LOG=n
Review URL: https://codereview.chromium.org/
963433002
Cr-Commit-Position: refs/heads/master@{#26877}
ishell [Thu, 26 Feb 2015 12:26:49 +0000 (04:26 -0800)]
Revert of Temporarily disable double fields unboxing. (patchset #1 id:1 of https://codereview.chromium.org/
928733003/)
Reason for revert:
Preparing to land a fix.
Original issue's description:
> Temporarily disable double fields unboxing.
>
> Committed: https://crrev.com/
209cf09ac9e36c1a24cdfa918bc579a4671c6842
> Cr-Commit-Position: refs/heads/master@{#26727}
TBR=jkummerow@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/
960173002
Cr-Commit-Position: refs/heads/master@{#26876}
verwaest [Thu, 26 Feb 2015 11:06:28 +0000 (03:06 -0800)]
Only dynamically perform access checks on the receiver if it's a JSGlobalProxy. Proxies up the chain are guaranteed to provide access if we had access to the receiver, since otherwise we wouldn't have been able to compile the stub in the first place. If the security check would change, the window navigates, changing the map of the JSGlobalProxy.
BUG=
Review URL: https://codereview.chromium.org/
958843002
Cr-Commit-Position: refs/heads/master@{#26875}
verwaest [Thu, 26 Feb 2015 10:34:44 +0000 (02:34 -0800)]
Remove internal use of v8::AccessType, always pass v8::ACCESS_HAS instead.
BUG=
Review URL: https://codereview.chromium.org/
942963004
Cr-Commit-Position: refs/heads/master@{#26874}
machenbach [Thu, 26 Feb 2015 08:59:17 +0000 (00:59 -0800)]
Add public version macros.
Side note: tools/v8-info.sh seems to have been broken ever
since the move to git. At least it's not more broken now.
BUG=v8:3075
LOG=y
TEST=./script_test.py
Review URL: https://codereview.chromium.org/
959713003
Cr-Commit-Position: refs/heads/master@{#26873}
jarin [Thu, 26 Feb 2015 08:36:49 +0000 (00:36 -0800)]
Do not touch a binary op IC target in code object marked for lazy deopt.
Bad scenario:
- Enter a binop IC miss handler from optimized code object C from call
site S,
- From the binop IC, invoke arbitrary javascript that lazy deopts C,
so all relocation info is nuked and replaced with lazy deopt entries'
reloc info. In particular, there is no reloc info for S.
- Still from the arbitrary JavaScript, make IC target's code object move.
Note that the call site S is not updated.
- Return to the miss handler and inspect the IC's target. This will try
to get the target from S, but that is a potentially invalid pointer.
It is quite possible that we will have to do a similar fix for other ICs,
but we will have to find a reliable repro first. I am not submitting a
repro here because it is quite long running and brittle (it
relies on code compaction happening while in the binop IC).
BUG=v8:3910
LOG=n
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/
958473004
Cr-Commit-Position: refs/heads/master@{#26872}
bmeurer [Thu, 26 Feb 2015 08:19:27 +0000 (00:19 -0800)]
[gyp] Disable warnings generated by third party ICU code.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
962523002
Cr-Commit-Position: refs/heads/master@{#26871}
bmeurer [Thu, 26 Feb 2015 07:18:26 +0000 (23:18 -0800)]
[turbofan] Fix bogus covering of Word64Equal w/ zero.
Review URL: https://codereview.chromium.org/
960783002
Cr-Commit-Position: refs/heads/master@{#26870}
arv [Wed, 25 Feb 2015 23:27:05 +0000 (15:27 -0800)]
Minor test fix to block binding
The test did not invoke the function
BUG=v8:3921
LOG=N
R=adamk
Review URL: https://codereview.chromium.org/
961463002
Cr-Commit-Position: refs/heads/master@{#26869}
adamk [Wed, 25 Feb 2015 23:00:10 +0000 (15:00 -0800)]
Rename ParseModule to ParseModuleItemList
TBR=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
952343002
Cr-Commit-Position: refs/heads/master@{#26868}
verwaest [Wed, 25 Feb 2015 22:41:40 +0000 (14:41 -0800)]
Remove NativeContext from Literal array, since we always create the literals in the native context of the current closure.
BUG=
Review URL: https://codereview.chromium.org/
952303002
Cr-Commit-Position: refs/heads/master@{#26867}
dcarney [Wed, 25 Feb 2015 21:51:15 +0000 (13:51 -0800)]
[turbofan] change tracing in scheduler so block_id is id: instead of B and rpo_number is now B
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
948263004
Cr-Commit-Position: refs/heads/master@{#26866}
arv [Wed, 25 Feb 2015 21:47:44 +0000 (13:47 -0800)]
No need for special treatment of super in PreParserExpression
It turned out that we didn't need to treat super in a special way
in the pre parser expressions.
BUG=None
LOG=N
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/
952283003
Cr-Commit-Position: refs/heads/master@{#26865}
arv [Wed, 25 Feb 2015 21:46:30 +0000 (13:46 -0800)]
Remove ValidateSuperCall
We don't need this since this case is now a SyntaxError.
BUG=None
LOG=N
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/
957823002
Cr-Commit-Position: refs/heads/master@{#26864}
adamk [Wed, 25 Feb 2015 19:40:39 +0000 (11:40 -0800)]
Simplify error message logic in ParseImportNames
The new logic ensures that the error messages are the same in the
"import { <reserved word> }" and "import { foo as <reserved ord> }"
cases.
Also prepares ParseImportNames for returning both the import and local
names to ParseImportClause.
BUG=v8:1569
LOG=n
Review URL: https://codereview.chromium.org/
952863006
Cr-Commit-Position: refs/heads/master@{#26863}
dcarney [Wed, 25 Feb 2015 19:32:36 +0000 (11:32 -0800)]
emit premonomorphic ics for keyed loads/stores in optimized code
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
945313003
Cr-Commit-Position: refs/heads/master@{#26862}
dusan.milosavljevic [Wed, 25 Feb 2015 17:09:27 +0000 (09:09 -0800)]
MIPS64: Improve and fix hole nan checks and canonicalization.
TEST=kraken-1.1 benchmark
BUG=
Review URL: https://codereview.chromium.org/
952233002
Cr-Commit-Position: refs/heads/master@{#26861}
balazs.kilvady [Wed, 25 Feb 2015 16:41:48 +0000 (08:41 -0800)]
MIPS: Fix 'MIPS: Move Maps' back pointers from "transitions" to "constructor" field'.
BUG=
Review URL: https://codereview.chromium.org/
950523003
Cr-Commit-Position: refs/heads/master@{#26860}
dcarney [Wed, 25 Feb 2015 16:37:49 +0000 (08:37 -0800)]
[turbofan] remove dependence of InstructionBlock on BasicBlock
BUG=
Review URL: https://codereview.chromium.org/
951553005
Cr-Commit-Position: refs/heads/master@{#26859}
wingo [Wed, 25 Feb 2015 15:40:39 +0000 (07:40 -0800)]
Rebase GDBJIT interface solely on JITCodeEvent
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
958623002
Cr-Commit-Position: refs/heads/master@{#26858}
rossberg [Wed, 25 Feb 2015 15:34:07 +0000 (07:34 -0800)]
Remove effectful assertion
R=mstarzinger@chromium.org
BUG=461520
LOG=N
Review URL: https://codereview.chromium.org/
955973003
Cr-Commit-Position: refs/heads/master@{#26857}
jkummerow [Wed, 25 Feb 2015 15:24:29 +0000 (07:24 -0800)]
Make ComputeReceiverForNonGlobal faster
by checking instance type rather than constructor.
BUG=chromium:461734
LOG=n
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
953283004
Cr-Commit-Position: refs/heads/master@{#26856}
ben [Wed, 25 Feb 2015 15:09:11 +0000 (07:09 -0800)]
Add v8::Object::GetRealNamedPropertyAttributes()
Add v8::Object::GetRealNamedPropertyAttributes() and
v8::Object::GetRealNamedPropertyAttributesInPrototypeChain().
See https://github.com/iojs/io.js/issues/864 for background.
Review URL: https://codereview.chromium.org/
942003003
Cr-Commit-Position: refs/heads/master@{#26855}
rossberg [Wed, 25 Feb 2015 14:52:36 +0000 (06:52 -0800)]
[strong] Make functions and generators non-extensible non-constructors
R=dslomov@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
954693003
Cr-Commit-Position: refs/heads/master@{#26854}
marja [Wed, 25 Feb 2015 14:17:39 +0000 (06:17 -0800)]
Move compilation error handling into a separate class.
In addition to Parser, other phases (such as scope analysis) need to handle
compilation errors in the future. PendingCompilationErrorHandled takes care of
error handling in a unified way.
Split from https://codereview.chromium.org/
943543002/ .
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
960543002
Cr-Commit-Position: refs/heads/master@{#26853}
machenbach [Wed, 25 Feb 2015 14:16:30 +0000 (06:16 -0800)]
Clobber output directory on linux and mac after landmine.
Xcode uses a different naming scheme for directories within
the xcodebuild directory. But it is safe to just delete
everything withing xcodebuild or out. Keep the soft clobber
for windows' build directory only, where subdirectories
follow the *release* and *debug* naming scheme.
BUG=chromium:403263
LOG=n
TBR=jochen@chromium.org
Review URL: https://codereview.chromium.org/
955953002
Cr-Commit-Position: refs/heads/master@{#26852}
yangguo [Wed, 25 Feb 2015 14:05:39 +0000 (06:05 -0800)]
Use easier method to determine allocation space when serializing.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
944923005
Cr-Commit-Position: refs/heads/master@{#26851}
yangguo [Wed, 25 Feb 2015 13:56:01 +0000 (05:56 -0800)]
Fix assertion when creating custom startup snapshots.
R=vogelheim@chromium.org
Review URL: https://codereview.chromium.org/
960513002
Cr-Commit-Position: refs/heads/master@{#26850}
bmeurer [Wed, 25 Feb 2015 12:09:58 +0000 (04:09 -0800)]
[x86] Use better left operand heuristic for Float64Add and Float64Mul.
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
958583003
Cr-Commit-Position: refs/heads/master@{#26849}
bmeurer [Wed, 25 Feb 2015 12:02:50 +0000 (04:02 -0800)]
Revert of Rebase GDBJIT interface solely on JITCodeEvent (patchset #2 id:20001 of https://codereview.chromium.org/
957673004/)
Reason for revert:
Doesn't compile
Original issue's description:
> Rebase GDBJIT interface solely on JITCodeEvent
>
> R=mstarzinger@chromium.org
> BUG=
>
> Committed: https://chromium.googlesource.com/v8/v8/+/
8989d828e86bc7edae5e25687bcb60c0e301dffb
TBR=mstarzinger@chromium.org,wingo@igalia.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=
Review URL: https://codereview.chromium.org/
954833004
Cr-Commit-Position: refs/heads/master@{#26848}
Andy Wingo [Wed, 25 Feb 2015 11:49:28 +0000 (12:49 +0100)]
Rebase GDBJIT interface solely on JITCodeEvent
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
957673004
Cr-Commit-Position: refs/heads/master@{#26847}
bmeurer [Wed, 25 Feb 2015 11:28:39 +0000 (03:28 -0800)]
[x64] Improve materialization of certain double constants (i.e. -0.0).
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
946423003
Cr-Commit-Position: refs/heads/master@{#26846}
yangguo [Wed, 25 Feb 2015 11:14:40 +0000 (03:14 -0800)]
Attach snapshot data blob to the isolate.
R=vogelheim@chromium.org
BUG=chromium:461259
LOG=N
Review URL: https://codereview.chromium.org/
949623006
Cr-Commit-Position: refs/heads/master@{#26845}
hpayer [Wed, 25 Feb 2015 10:29:37 +0000 (02:29 -0800)]
Just add slots that point to to-space objects back to the store buffer.
BUG=
Review URL: https://codereview.chromium.org/
946973008
Cr-Commit-Position: refs/heads/master@{#26844}
bmeurer [Wed, 25 Feb 2015 09:45:58 +0000 (01:45 -0800)]
[turbofan] Fix simplified lowering of Int32Div.
Optimize for the common case and get rid of the unreadable Diamond
helper code there.
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
954173002
Cr-Commit-Position: refs/heads/master@{#26843}
machenbach [Wed, 25 Feb 2015 09:19:55 +0000 (01:19 -0800)]
Trigger a landmine on first-time landmine deployment.
Without this change, it is non-trivial to know during
runhooks, if a landmine was just triggered in a checkout
that doesn't have the initial landmines script CL yet, i.e.
that didn't create a .landmines file yet.
BUG=chromium:403263
LOG=n
Review URL: https://codereview.chromium.org/
954153002
Cr-Commit-Position: refs/heads/master@{#26842}
bmeurer [Wed, 25 Feb 2015 08:11:39 +0000 (00:11 -0800)]
[turbofan] Don't introduce additional computation when hoisting out of loops.
Review URL: https://codereview.chromium.org/
958533002
Cr-Commit-Position: refs/heads/master@{#26841}
bmeurer [Wed, 25 Feb 2015 07:53:01 +0000 (23:53 -0800)]
[turbofan] Don't switchify branches with hints.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
929403004
Cr-Commit-Position: refs/heads/master@{#26840}
yangguo [Wed, 25 Feb 2015 07:49:18 +0000 (23:49 -0800)]
Use a hashmap to lookup items in the partial snapshot cache when serializing.
R=vogelheim@chromium.org
Review URL: https://codereview.chromium.org/
952933002
Cr-Commit-Position: refs/heads/master@{#26839}
mstarzinger [Wed, 25 Feb 2015 07:35:32 +0000 (23:35 -0800)]
Use iostream formatting when printing code.
R=svenpanne@chromium.org
TEST=manual
Review URL: https://codereview.chromium.org/
944223003
Cr-Commit-Position: refs/heads/master@{#26838}
akos.palfi [Wed, 25 Feb 2015 03:24:48 +0000 (19:24 -0800)]
MIPS: Move Maps' back pointers from "transitions" to "constructor" field
Port
affcfaf42801414d25b3e57271a9803a026f40ed
BUG=
Review URL: https://codereview.chromium.org/
954863002
Cr-Commit-Position: refs/heads/master@{#26837}
adamk [Tue, 24 Feb 2015 22:39:26 +0000 (14:39 -0800)]
Fix up ParseProgram and ParseModule to do something sane with module scopes
The FunctionLiteral returned from the parser for modules now has a MODULE_SCOPE,
instead of associating the module scope with a Block inside it. This makes
it easy to get at the ModuleDescriptor from the caller of Parse(), so I've added
a basic test that pokes at the scope and the descriptor. Expect more tests
in this vein.
BUG=v8:1569
LOG=n
Review URL: https://codereview.chromium.org/
953983002
Cr-Commit-Position: refs/heads/master@{#26836}
jkummerow [Tue, 24 Feb 2015 20:50:06 +0000 (12:50 -0800)]
Move Maps' back pointers from "transitions" to "constructor" field
Review URL: https://codereview.chromium.org/
950283002
Cr-Commit-Position: refs/heads/master@{#26835}
arv [Tue, 24 Feb 2015 19:12:35 +0000 (11:12 -0800)]
Use for-of loops in collection constructors
This is to reduce code duplication but also to get the correct
behavior when we make for-of handle abrupt completion correctly.
BUG=None
LOG=N
R=adamk
Review URL: https://codereview.chromium.org/
956623003
Cr-Commit-Position: refs/heads/master@{#26834}
michael_dawson [Tue, 24 Feb 2015 19:05:21 +0000 (11:05 -0800)]
Contribution of PowerPC port (continuation of
422063005) - PPC opt 2
Contribution of PowerPC port (continuation of
422063005,
817143002,
866843003, and
901083004. The bulk of the changes are to remove some
hard coded assumptions about heap page size within existing tests.
The remaining change is to use a larger heap page size for PPC linux
as this provides a performance benefit due to the larger memory page size.
modified: src/base/build_config.h
modified: src/heap/heap.cc
modified: test/cctest/test-alloc.cc
modified: test/cctest/test-constantpool.cc
modified: test/cctest/test-heap.cc
modified: test/cctest/test-spaces.cc
modified: test/cctest/test-weakmaps.cc
modified: test/cctest/test-weaksets.cc
R=danno@chromium.org, svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
910333004
Cr-Commit-Position: refs/heads/master@{#26833}
titzer [Tue, 24 Feb 2015 18:25:47 +0000 (10:25 -0800)]
[turbofan] Only compile hot asm functions with TurboFan if --turbo-osr flag is turned on.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
951053002
Cr-Commit-Position: refs/heads/master@{#26832}
machenbach [Tue, 24 Feb 2015 16:57:37 +0000 (08:57 -0800)]
Port chromium landmines script.
This runs the landmines script as a gclient hook. It can
as such be used to clobber local checkouts when hooks are
run locally.
It is a softer version than chromium's landmines script, as
it only deletes directories in the output directory due
to compatibility with MSVS which has "build" hardcoded as
output directory in several places.
BUG=chromium:403263
LOG=n
Review URL: https://codereview.chromium.org/
955463002
Cr-Commit-Position: refs/heads/master@{#26831}
machenbach [Tue, 24 Feb 2015 16:39:07 +0000 (08:39 -0800)]
Add linux dbg coverage to CQ.
NOTRY=true
Review URL: https://codereview.chromium.org/
953913002
Cr-Commit-Position: refs/heads/master@{#26830}