Commit Graph

21365 Commits

Author SHA1 Message Date
machenbach
9dac60ad2d 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}
2015-02-26 08:59:23 +00:00
jarin
bb13e7f746 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}
2015-02-26 08:36:54 +00:00
bmeurer
166dcd339f [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}
2015-02-26 08:19:32 +00:00
bmeurer
0f783c676b [turbofan] Fix bogus covering of Word64Equal w/ zero.
Review URL: https://codereview.chromium.org/960783002

Cr-Commit-Position: refs/heads/master@{#26870}
2015-02-26 07:18:42 +00:00
arv
75a2440982 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}
2015-02-25 23:27:14 +00:00
adamk
fb6f68b8a8 Rename ParseModule to ParseModuleItemList
TBR=rossberg@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26868}
2015-02-25 23:00:32 +00:00
verwaest
6b1bddb454 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}
2015-02-25 22:41:48 +00:00
dcarney
24847156de [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}
2015-02-25 21:51:25 +00:00
arv
92b4eaddbc 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}
2015-02-25 21:47:55 +00:00
arv
5c19e4f1cb 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}
2015-02-25 21:46:52 +00:00
adamk
8b33567fd3 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}
2015-02-25 19:40:54 +00:00
dcarney
f1e2aa524c 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}
2015-02-25 19:32:59 +00:00
dusan.milosavljevic
47e608ab52 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}
2015-02-25 17:09:37 +00:00
balazs.kilvady
296b5b0e3a 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}
2015-02-25 16:41:56 +00:00
dcarney
e928c9d52b [turbofan] remove dependence of InstructionBlock on BasicBlock
BUG=

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

Cr-Commit-Position: refs/heads/master@{#26859}
2015-02-25 16:37:58 +00:00
wingo
652061ed72 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}
2015-02-25 15:40:57 +00:00
rossberg
68c8073a51 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}
2015-02-25 15:34:21 +00:00
jkummerow
c8479785fc 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}
2015-02-25 15:24:41 +00:00
ben
726eb0582b 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}
2015-02-25 15:09:20 +00:00
rossberg
c094da9233 [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}
2015-02-25 14:52:51 +00:00
marja
238ad54d0f 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}
2015-02-25 14:18:34 +00:00
machenbach
b00ff50d52 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}
2015-02-25 14:16:40 +00:00
yangguo
30a6e46a39 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}
2015-02-25 14:05:44 +00:00
yangguo
f9fd33c10f 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}
2015-02-25 13:56:13 +00:00
bmeurer
9da259fb1f [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}
2015-02-25 12:10:09 +00:00
bmeurer
49b112e117 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: 8989d828e8

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}
2015-02-25 12:03:04 +00:00
Andy Wingo
8989d828e8 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}
2015-02-25 11:49:47 +00:00
bmeurer
e1c08bafdd [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}
2015-02-25 11:28:52 +00:00
yangguo
4b5ff0c5e2 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}
2015-02-25 11:14:56 +00:00
hpayer
fd35be4065 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}
2015-02-25 10:29:50 +00:00
bmeurer
6a42682975 [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}
2015-02-25 09:46:12 +00:00
machenbach
0fff64da8b 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}
2015-02-25 09:20:04 +00:00
bmeurer
b1c2a34956 [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}
2015-02-25 08:11:48 +00:00
bmeurer
1d56742a8e [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}
2015-02-25 07:53:13 +00:00
yangguo
c18de60248 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}
2015-02-25 07:49:33 +00:00
mstarzinger
bc483ddac4 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}
2015-02-25 07:35:47 +00:00
akos.palfi
ee908a2b6a MIPS: Move Maps' back pointers from "transitions" to "constructor" field
Port affcfaf428

BUG=

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

Cr-Commit-Position: refs/heads/master@{#26837}
2015-02-25 03:25:02 +00:00
adamk
1a8dc98cbf 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}
2015-02-24 22:39:35 +00:00
jkummerow
affcfaf428 Move Maps' back pointers from "transitions" to "constructor" field
Review URL: https://codereview.chromium.org/950283002

Cr-Commit-Position: refs/heads/master@{#26835}
2015-02-24 20:50:24 +00:00
arv
8ad35cb288 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}
2015-02-24 19:12:41 +00:00
michael_dawson
bf3691ae88 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}
2015-02-24 19:05:29 +00:00
titzer
fbb26b21c8 [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}
2015-02-24 18:26:15 +00:00
machenbach
89731cfbf8 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}
2015-02-24 16:57:47 +00:00
machenbach
7fdcd4f705 Add linux dbg coverage to CQ.
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#26830}
2015-02-24 16:39:23 +00:00
jochen
3735a0851a Revert of Revert of Turn on job based recompilation (patchset #1 id:1 of https://codereview.chromium.org/937263004/)
Reason for revert:
reland

Original issue's description:
> Revert of Turn on job based recompilation (patchset #1 id:1 of https://codereview.chromium.org/935243003/)
>
> Reason for revert:
> waterfall disagrees
>
> Original issue's description:
> > Turn on job based recompilation
> >
> > BUG=v8:3608
> > R=yangguo@chromium.org
> > LOG=y
> >
> > Committed: https://crrev.com/4ae82f64b09cdc0182cee3a5cc619a9117ac5fbc
> > Cr-Commit-Position: refs/heads/master@{#26826}
>
> TBR=yangguo@chromium.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=v8:3608
>
> Committed: https://crrev.com/35cc692aecdea54fb07479b8d7b71059851e07e8
> Cr-Commit-Position: refs/heads/master@{#26827}

TBR=yangguo@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3608

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

Cr-Commit-Position: refs/heads/master@{#26829}
2015-02-24 16:37:36 +00:00
jochen
e093f3ba39 Add back missing allow handle deref scope
BUG=v8:3608
R=svenpanne@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#26828}
2015-02-24 16:32:12 +00:00
jochen
35cc692aec Revert of Turn on job based recompilation (patchset #1 id:1 of https://codereview.chromium.org/935243003/)
Reason for revert:
waterfall disagrees

Original issue's description:
> Turn on job based recompilation
>
> BUG=v8:3608
> R=yangguo@chromium.org
> LOG=y
>
> Committed: https://crrev.com/4ae82f64b09cdc0182cee3a5cc619a9117ac5fbc
> Cr-Commit-Position: refs/heads/master@{#26826}

TBR=yangguo@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3608

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

Cr-Commit-Position: refs/heads/master@{#26827}
2015-02-24 15:50:12 +00:00
jochen
4ae82f64b0 Turn on job based recompilation
BUG=v8:3608
R=yangguo@chromium.org
LOG=y

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

Cr-Commit-Position: refs/heads/master@{#26826}
2015-02-24 15:20:33 +00:00
machenbach
c61fceca68 Prepare v8 android perf runner for external startup data.
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#26825}
2015-02-24 14:07:30 +00:00
jochen
09e0f6e21f We don't need a lock for the output queue on the main thread
The output queue is supposed to be a lock-free anyways, we're just
temporarily abusing it by having multiple producers. For those, we need
the lock when enqueuing jobs.

BUG=none
R=yangguo@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#26824}
2015-02-24 13:42:15 +00:00