Commit Graph

24317 Commits

Author SHA1 Message Date
binji
7f34af65aa In Atomics API, convert operands to numbers before calling runtime.
R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29625}
2015-07-13 20:36:37 +00:00
balazs.kilvady
24bddcd367 MIPS64: Fix 'Fix keyed element access wrt string wrappers'.
Port 01f40e6ad6

BUG=v8:4296
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#29624}
2015-07-13 19:42:25 +00:00
mbrandy
25510907c3 PPC: Cleanup Generate_JSConstructStubHelper a bit.
Port 6ddcd32786

R=mstarzinger@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com
BUG=

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

Cr-Commit-Position: refs/heads/master@{#29623}
2015-07-13 18:54:32 +00:00
mbrandy
2606538e56 PPC: Fix keyed element access wrt string wrappers
Port 01f40e6ad6

R=verwaest@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com
BUG=

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

Cr-Commit-Position: refs/heads/master@{#29622}
2015-07-13 18:51:21 +00:00
balazs.kilvady
48995988a9 MIPS64: Fix BlockTrampolinePoolFor() to emit trampoline before blocking, if needed.
Port f0d1106a3f

Fixes possible failure in AssembleArchTableSwitch().

BUG=v8:4294
LOG=y

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

Cr-Commit-Position: refs/heads/master@{#29621}
2015-07-13 18:26:33 +00:00
mbrandy
5783dc71af PPC: [turbofan] Add an InterpreterDispatch linkage type.
Port a0129a25ba

R=rmcilroy@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com
BUG=

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

Cr-Commit-Position: refs/heads/master@{#29620}
2015-07-13 17:21:46 +00:00
mbrandy
b33d6c0d46 PPC: This CL also adds hydrogen stubs for global loads and global stores, full-codegen and TurboFan now uses this machinery.
Fix f87286e2db

R=ishell@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com

Original commit message:
    Loads and stores to global vars are now made via property cell shortcuts installed into parent script context.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#29619}
2015-07-13 17:16:16 +00:00
verwaest
01f40e6ad6 Fix keyed element access wrt string wrappers
BUG=v8:4296
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#29618}
2015-07-13 15:39:07 +00:00
mstarzinger
6ddcd32786 Cleanup Generate_JSConstructStubHelper a bit.
R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29617}
2015-07-13 15:13:11 +00:00
yurys
e5a77abcf8 Add convenience method for converting v8::PersistentBase to v8::Local
The CL addes convenienve method that allows to write code like the following
v8::Local<v8::Object> local = v8::Local<v8::Object>::New(global, isolate);
in a more readable way:
v8::Local<v8::Object> local = global.Get(isolate);

There is already v8::Eternal::Get that does similar thing.

BUG=None
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#29616}
2015-07-13 15:02:29 +00:00
conradw
4927c82ffe [strong] class objects created in strong mode are frozen
BUG=v8:3956
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#29615}
2015-07-13 15:01:02 +00:00
verwaest
0fd9a0a3bf Minor cleanup IC keyed access handling.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#29614}
2015-07-13 14:41:43 +00:00
nodir
0337fedf52 V8 project metadata
Added project.cfg metadata file for chrome-infra

R=machenbach@chromium.org, sergiyb@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=507723

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

Cr-Commit-Position: refs/heads/master@{#29613}
2015-07-13 14:40:44 +00:00
Michael Achenbach
1c148b0a29 Whitespace change to test ninja switch on windows.
Cr-Commit-Position: refs/heads/master@{#29612}
2015-07-13 14:31:23 +00:00
ishell
fec3c9cba6 TypeofMode replaces TypeofState and ContextualMode.
NON_CONTEXTUAL ~> INSIDE_TYPEOF
CONTEXTUAL ~> NOT_INSIDE_TYPEOF

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

Cr-Commit-Position: refs/heads/master@{#29611}
2015-07-13 13:39:43 +00:00
balazs.kilvady
9f9f27c333 MIPS64: Refine 'Remove unused byte from Map::instance_sizes field.'
Port 2027335f1c

Original commit message:
Note that there are currently no objects that require a pre-allocated
properties backing store, all such slots are in-object properties from
the begining. Hence {unused + pre_allocated - inobject == 0} holds.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#29610}
2015-07-13 13:36:13 +00:00
mstarzinger
4b22d5eca2 Remove unused bailout reasons.
This also adds a script to the tools directory that allows to grep for
unused bailout reasons. For now the script needs to be run manually.

R=mvstanton@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29609}
2015-07-13 13:34:12 +00:00
dusan.milosavljevic
686e3abf66 MIPS: Fix missing Float32 case in AssembleArchBoolean.
TEST=mjsunit/asm/embenchen/box2d
BUG=

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

Cr-Commit-Position: refs/heads/master@{#29608}
2015-07-13 13:33:01 +00:00
mstarzinger
79a3cb2eac Our JavaScriptFrame::function_slot_object is arch independent.
R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29607}
2015-07-13 12:45:29 +00:00
conradw
2f981db039 [strong] Strong classes can't extend null
BUG=v8:3956
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#29606}
2015-07-13 12:40:38 +00:00
machenbach
0a3b77397b Prepare for using ninja for win64.
BUG=chromium:508921
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#29605}
2015-07-13 12:39:28 +00:00
rmcilroy
d02f62484e Move SmartPointer to base.
Review URL: https://codereview.chromium.org/1221433021

Cr-Commit-Position: refs/heads/master@{#29604}
2015-07-13 12:38:17 +00:00
yangguo
198c75f6cd Debugger: refactor reloc info.
- split relocation info for debug break slots for
  - calls (with call arguments count as data)
  - construct calls
  - normal slots
- renamed DEBUG_BREAK into DEBUGGER_STATEMENT
- removed unused IC state for Debug stubs

R=ulan@chromium.org
BUG=v8:4269
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#29603}
2015-07-13 12:32:24 +00:00
bmeurer
443b071abe [turbofan] Context specialization should only specialize loads/stores.
The JSContextSpecialization should only care about loads from the
context and stores to the context, where the context is either a
HeapConstant or the special context Parameter (and a context for the
outer most function is provided). This way we don't eagerly embed
arbitrary context constants for no benefit, but we still specialize the
loads and store which we actually care about.

R=mstarzinger@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29602}
2015-07-13 12:31:00 +00:00
danno
080d8f6566 [turbofan] Use context specialization in code stubs
Review URL: https://codereview.chromium.org/1226503005

Cr-Commit-Position: refs/heads/master@{#29601}
2015-07-13 12:29:48 +00:00
machenbach
c59fdf929c Revert of Update V8 DEPS. (patchset #3 id:40001 of https://codereview.chromium.org/1232583002/)
Reason for revert:
[Sheriff] Looks like another clang option got deprecated: http://build.chromium.org/p/client.v8/builders/V8%20Linux%20ASAN%20mipsel%20-%20debug%20builder/builds/326

Original issue's description:
> Update V8 DEPS.
>
> Rolling v8/tools/clang to 58128abd44c22255def1163d30bc9bb2cc85e15c
>
> Original CL: https://codereview.chromium.org/1232043002/
>
> BUG=
>
> Committed: https://crrev.com/6211e1660492f653d30ddd1336bce6f9083ede94
> Cr-Commit-Position: refs/heads/master@{#29598}

TBR=jochen@chromium.org,akos.palfi@imgtec.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

Cr-Commit-Position: refs/heads/master@{#29600}
2015-07-13 11:45:28 +00:00
machenbach
fbea729b70 Revert of Enable loads and stores to global vars through property cell shortcuts installed into parent script… (patchset #1 id:1 of https://codereview.chromium.org/1237603002/)
Reason for revert:
[Sheriff] This changes lots of layout tests. See comment on CL.

Original issue's description:
> Enable loads and stores to global vars through property cell shortcuts installed into parent script context.
>
> Committed: https://crrev.com/cd61b047f1ab92c353a629556f9d3ad571ace1b1
> Cr-Commit-Position: refs/heads/master@{#29595}

TBR=verwaest@chromium.org,ishell@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#29599}
2015-07-13 11:19:32 +00:00
machenbach
6211e16604 Update V8 DEPS.
Rolling v8/tools/clang to 58128abd44c22255def1163d30bc9bb2cc85e15c

Original CL: https://codereview.chromium.org/1232043002/

BUG=

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

Cr-Commit-Position: refs/heads/master@{#29598}
2015-07-13 10:59:07 +00:00
bmeurer
f063a6ab42 [osr] Increase Code::profiler_ticks to 28 bits.
Up until now we were unable to have profiler ticks beyong 255, which
basically disabled OSR for moderately large functions.

BUG=chromium:508741
LOG=n
R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29597}
2015-07-13 10:57:55 +00:00
verwaest
bb964f63d1 Fix keyed stores to strings convertible to indices
BUG=chromium:509545
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#29596}
2015-07-13 10:46:35 +00:00
ishell
cd61b047f1 Enable loads and stores to global vars through property cell shortcuts installed into parent script context.
Review URL: https://codereview.chromium.org/1237603002

Cr-Commit-Position: refs/heads/master@{#29595}
2015-07-13 10:22:12 +00:00
ulan
530e36d7b3 Correctly handle the case when TimerTask is destroyed with being run.
This is follow-up for a5616e.

BUG=chromium:508584
LOG=NO

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

Cr-Commit-Position: refs/heads/master@{#29594}
2015-07-13 10:18:24 +00:00
danno
a1475dae5d Create a internal native context used only for TF-generated code stubs
Until now, TF-generated code stubs piggy-backed off of the builtin
context. Since generation of code stubs is lazy, stubs generated at
different times in different native contexts would contain embedded
pointers different builtin contexts, leading to cross-context references
and memory leaks.

After this CL, all TF-generated code stubs are generated inside a
internal thinned-out, native context that lives solely for the
purpose of hosting generated code stubs.

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

Cr-Commit-Position: refs/heads/master@{#29593}
2015-07-13 09:45:51 +00:00
ishell
f87286e2db Loads and stores to global vars are now made via property cell shortcuts installed into parent script context.
This CL also adds hydrogen stubs for global loads and global stores, full-codegen and TurboFan now uses this machinery.

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

Cr-Commit-Position: refs/heads/master@{#29592}
2015-07-13 09:18:57 +00:00
rmcilroy
a0129a25ba [turbofan] Add an InterpreterDispatch linkage type.
BUG=v8:4280
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#29591}
2015-07-13 08:27:47 +00:00
mstarzinger
2027335f1c Remove unused byte from Map::instance_sizes field.
Note that there are currently no objects that require a pre-allocated
properties backing store, all such slots are in-object properties from
the begining. Hence {unused + pre_allocated - inobject == 0} holds.

R=verwaest@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29590}
2015-07-13 08:26:36 +00:00
paul.lind
f0d1106a3f MIPS: Fix BlockTrampolinePoolFor() to emit trampoline before blocking, if needed.
Fixes possible failure in AssembleArchTableSwitch().

BUG=v8:4294
LOG=y

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

Cr-Commit-Position: refs/heads/master@{#29589}
2015-07-13 07:28:38 +00:00
bmeurer
b19f118c16 [turbofan] Optimize string "length" property access based on types.
Optimize string "length" property access based on static type
information if possible, but also optimistically optimize the access
based on type feedback from the LoadIC.

R=jarin@chromium.org

Committed: https://crrev.com/17add22ff4b9c5ca638502e7708f0d9d99baca40
Cr-Commit-Position: refs/heads/master@{#29543}

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

Cr-Commit-Position: refs/heads/master@{#29588}
2015-07-13 06:02:22 +00:00
bmeurer
3c9c7748c3 [arm] CheckConstPool between TurboFan instructions.
Some TurboFan instructions block the literal pool for their entire
duration. If a long enough sequence of these instructions is
encountered, the literal pool can be blocked until it goes out of range.

Patch from issue 1236603002 at patchset 1 (http://crrev.com/1236603002#ps1).

BUG=v8:4292
LOG=y
R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29587}
2015-07-13 05:26:48 +00:00
martyn.capewell
ad7f35c49a [turbofan] Reduce Float64 comparison to Float32.
Reduce Float64 comparison to Float32 when both inputs are conversions from
Float32.

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

Cr-Commit-Position: refs/heads/master@{#29586}
2015-07-13 05:23:53 +00:00
mbrandy
f91119c455 PPC: Debugger: record reloc info for debug break slot immediate before the slot.
Port 0a19e44925

Original commit message:
    If we do it too early, we might get a constant pool between the reloc info
    and the actual slot.

R=yangguo@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com
BUG=

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

Cr-Commit-Position: refs/heads/master@{#29585}
2015-07-10 21:27:45 +00:00
mbrandy
ceb6de68dc PPC: Remove unused jump_elimination_allowed parameter to Assembler::branch_offset().
R=dstence@us.ibm.com, michael_dawson@ca.ibm.com
BUG=

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

Cr-Commit-Position: refs/heads/master@{#29584}
2015-07-10 21:11:47 +00:00
mbrandy
c97fce10d2 PPC: Remove separate construct stub for new.target users.
Port e50c861b09

R=mstarzinger@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com
BUG=

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

Cr-Commit-Position: refs/heads/master@{#29583}
2015-07-10 21:03:35 +00:00
mbrandy
16e5c24895 PPC: Debugger: use debug break slot to break on call.
Port 8965b683ce

Original commit message:
    Break point at calls are currently set via IC. To change this, we
    need to set debug break slots instead. We also need to distinguish
    those debug break slots as calls to support step-in.

    To implement this, we add a data field to debug break reloc info to
    indicate non-call debug breaks or in case of call debug breaks, the
    number of arguments. We can later use this to find the callee on the
    evaluation stack in Debug::PrepareStep.

R=yangguo@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com
BUG=

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

Cr-Commit-Position: refs/heads/master@{#29582}
2015-07-10 21:02:38 +00:00
paul.lind
91fcb0081e MIPS: Check that branches to trampoline pool do actually reach.
Do the check in release mode, too. Prefer crash over mis-patched
branch instruction.

BUG=v8:4294
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#29581}
2015-07-10 20:55:51 +00:00
arv
897c8e4064 Remove arv from OWNERS
Goodbyes are not forever.
Goodbyes are not the end.
They simply mean I’ll miss you
Until we meet again!
~Author Unknown

BUG=N
LOG=N
R=adamk@chromium.org, rossberg@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29580}
2015-07-10 19:16:42 +00:00
verwaest
18b14d0a96 Revert preallocating of descriptors since right now getters and setters cause copying of descriptor arrays
BUG=

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

Cr-Commit-Position: refs/heads/master@{#29579}
2015-07-10 17:11:50 +00:00
arv
d90013d1d1 [es6] Handle conflicts for sloppy let
We have to call CheckConflictingVarDeclarations in case we have enabled
--harmony-sloppy

BUG=v8:4287
LOG=N
R=littledan@chromium.org, rossberg@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29578}
2015-07-10 16:39:53 +00:00
arv
a73338ba9e [es6] Enforce TDZ checks for let/const in StoreLookupSlot
With --harmony-sloppy we can get to a runtime store in the presence of
an eval. We therefor need to check that the value is not the hole which
is used to enforce TDZ.

BUG=v8:4284
LOG=N
R=rossberg@chromium.org, littledan@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29577}
2015-07-10 16:20:52 +00:00
verwaest
1f2755bf35 Fix keyed access of primitive objects in the runtime.
For now it uses a pretty slow path for accessing strings by wrapping it into a new temporary wrapper.

BUG=v8:4042, v8:3088
LOG=y

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

Cr-Commit-Position: refs/heads/master@{#29576}
2015-07-10 16:11:07 +00:00