ulan
3ea4ca9dbf
Load callback data from weak cell instead of embedding it in handler.
...
BUG=v8:3629
LOG=N
Review URL: https://codereview.chromium.org/877243004
Cr-Commit-Position: refs/heads/master@{#26358}
2015-01-30 14:31:28 +00:00
ulan
5284014623
Extract LoadAccessor into a masm function.
...
BUG=
Review URL: https://codereview.chromium.org/886503002
Cr-Commit-Position: refs/heads/master@{#26310}
2015-01-28 16:31:44 +00:00
dcarney
e62d974ba1
move CallApiFunctionAndReturn to code-stubs-*
...
BUG=
Review URL: https://codereview.chromium.org/860013002
Cr-Commit-Position: refs/heads/master@{#26167}
2015-01-20 16:05:05 +00:00
dcarney
6950ead0b0
split api call stubs into accessor and function call stubs
...
BUG=
Review URL: https://codereview.chromium.org/836093007
Cr-Commit-Position: refs/heads/master@{#26097}
2015-01-16 10:59:16 +00:00
ulan
eff42215f0
Use weak cell in monomorphic KeyedStore IC.
...
BUG=v8:3629
LOG=N
Review URL: https://codereview.chromium.org/817873003
Cr-Commit-Position: refs/heads/master@{#25923}
2014-12-22 13:38:17 +00:00
ulan
3fc9c9b665
Use weak cells to embed maps in store handler.
...
BUG=v8:3629
LOG=N
Review URL: https://codereview.chromium.org/774473004
Cr-Commit-Position: refs/heads/master@{#25639}
2014-12-03 13:36:59 +00:00
ulan
2ac522ab15
Reland parts of 'Use weak cells in map checks in polymorphic ICs'
...
This relands macroassembler instructions and weak cell caching and
does not include parts that caused "Linux ASan LSan" test failures.
BUG=v8:3663
LOG=N
Review URL: https://codereview.chromium.org/764003003
Cr-Commit-Position: refs/heads/master@{#25615}
2014-12-02 14:25:26 +00:00
machenbach
d9c83f6bd0
Revert of Use weak cells in map checks in polymorphic ICs. (patchset #8 id:140001 of https://codereview.chromium.org/753993003/ )
...
Reason for revert:
[Sheriff] Speculative revert for breaking chromium asan (roll blocker):
http://build.chromium.org/p/client.v8/builders/Linux%20ASan%20LSan%20Tests%20%281%29/builds/1683
Original issue's description:
> Use weak cells in map checks in polymorphic ICs.
>
> BUG=v8:3663
> LOG=N
TBR=mvstanton@chromium.org ,akos.palfi@imgtec.com,weiliang.lin@intel.com,ulan@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=v8:3663
Review URL: https://codereview.chromium.org/771033003
Cr-Commit-Position: refs/heads/master@{#25597}
2014-12-02 08:17:05 +00:00
ulan
45a36948e1
Use weak cells in map checks in polymorphic ICs.
...
BUG=v8:3663
LOG=N
Review URL: https://codereview.chromium.org/753993003
Cr-Commit-Position: refs/heads/master@{#25581}
2014-12-01 10:41:14 +00:00
rmcilroy@chromium.org
49d1f64ebf
Arm64: Remove forced csp alignment to 16 byte values for Nvidia chips.
...
Remove the forced alignment of csp to 16 byte values on Nvidia chips.
Benchmarks on current devices show that this is no longer required.
R=rodolph.perfetta@arm.com , ulan@chromium.org
Review URL: https://codereview.chromium.org/710613002
Cr-Commit-Position: refs/heads/master@{#25225}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25225 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-07 23:34:44 +00:00
bmeurer@chromium.org
498920f91c
[turbofan] Also optimize unsigned division by constant.
...
TEST=cctest,mjsunit,unittests
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/697663003
Cr-Commit-Position: refs/heads/master@{#25061}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25061 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-03 10:05:46 +00:00
sigurds@chromium.org
81420f003b
Add FRINTP (round towards positive infinity) instruction.
...
Macro Assember, assembler and simulator for ARM64 were missing FRINTP.
R=rodolph.perfetta@arm.com , ulan@chromium.org
Review URL: https://codereview.chromium.org/669923002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24800 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-22 11:06:22 +00:00
rmcilroy@chromium.org
08941c0140
Refactor FrameAndConstantPoolScope and ConstantPoolUnavailableScope to be architecture independent
...
Move the FrameAndConstantPoolScope and ConstantPoolUnavailableScope out of the arm architecture directory to enable them to be used on all architectures.
R=rmcilroy@chromium.org
Review URL: https://codereview.chromium.org/609843002
Patch from André Baixo <baixo@google.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24565 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-13 14:41:33 +00:00
Jacob.Bramley@arm.com
98277cfa98
[arm64] cleanup heap numbers detection
...
Make heap numbers detection more consistent on arm64.
All the tested benchmarks (octane2, kraken, sunspider, v8-v4 and lua) are unchanged (a57 and a53).
R=ulan@chromium.org , bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/577273002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24176 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 10:22:11 +00:00
yangguo@chromium.org
43538e57a4
Refactor bailout reasons and disable optimization in more cases.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/596783002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24161 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 07:08:27 +00:00
jkummerow@chromium.org
9583236d84
Fix method dispatch in Keyed/StoreIC, and JumpIfNotUniqueName usage
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/592113002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24139 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-23 09:20:36 +00:00
Jacob.Bramley@arm.com
647e6cf2ac
ARM64: Remove the unused 'SmiAbs'.
...
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/572903003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23970 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-16 10:42:09 +00:00
yangguo@chromium.org
4e670fd05e
Rename ascii to one-byte where applicable.
...
R=dcarney@chromium.org , marja@chromium.org
Review URL: https://codereview.chromium.org/559913002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23840 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 12:38:12 +00:00
bmeurer@chromium.org
7d0d01005c
First step to cleanup the power-of-2 mess.
...
TEST=base-unittests,cctest,mjsunit
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/528993002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23617 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 13:36:35 +00:00
mstarzinger@chromium.org
44247036a7
Fix newly discovered presubmit errors.
...
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/462033002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23081 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-12 13:33:35 +00:00
rodolph.perfetta@arm.com
437fef5000
ARM64: Support arbitrary offset in load/store pair.
...
TF calls can generate code exceeding the instruction range.
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/440303004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22969 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-07 10:46:40 +00:00
bmeurer@chromium.org
cbb12d66f6
Move ARM64 macros to macro-assembler-arm64.h.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/444803003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22895 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 06:35:29 +00:00
bmeurer@chromium.org
d07a2eb806
Rename ASSERT* to DCHECK*.
...
This way we don't clash with the ASSERT* macros
defined by GoogleTest, and we are one step closer
to being able to replace our homegrown base/ with
base/ from Chrome.
R=jochen@chromium.org , svenpanne@chromium.org
Review URL: https://codereview.chromium.org/430503007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22812 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 11:34:54 +00:00
m.m.capewell@googlemail.com
45e451183e
ARM64: Generate better immediates for shifted ops
...
Improve code generated for immediate data processing operations where the shift
on the operation can be exploited to use fewer instructions for the immediate.
For example, Add(x0, x0, 0x1f7de) used to generate:
movz x16, 0xf7de
movk x16, 0x1, lsl #16
add x0, x0, x16
now generates:
movz x16, 0xfbef
add x0, x0, x16, lsl #1
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/368313002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22246 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-07 13:31:22 +00:00
ishell@chromium.org
2c94151e6e
Reland r22082 "Replace HeapNumber as doublebox with an explicit MutableHeapNumber."
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/334323003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22129 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 15:02:31 +00:00
Jacob.Bramley@arm.com
f44a6698c6
ARM64: optimize TruncateDoubleToI
...
R=ulan@chromium.org , bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/355853003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22121 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 13:33:22 +00:00
ishell@chromium.org
d1190c503d
Revert "Replace HeapNumber as doublebox with an explicit MutableHeapNumber."
...
This reverts commit r22082 for breaking arm64 build.
TBR=verwaest@chromium.org
Review URL: https://codereview.chromium.org/360023003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22083 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-30 10:19:31 +00:00
ishell@chromium.org
cea1824f58
Replace HeapNumber as doublebox with an explicit MutableHeapNumber.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/355793003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22082 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-30 09:44:43 +00:00
rodolph.perfetta@arm.com
7ff3e3c86b
ARM64: Clean up support for explicit literal load.
...
This is the first patch to improve literal pool handling in arm64. Cleans up
assembler/macro-assembler access to literal pools.
BUG=
R=rmcilroy@chromium.org
Review URL: https://codereview.chromium.org/318773009
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21723 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-09 14:23:46 +00:00
Jacob.Bramley@arm.com
22af061a83
ARM64: Add and use SmiTagAndPush.
...
In some cases, this allows SmiTag and Push to be combined into a single
operation.
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/311133003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21690 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-05 08:55:46 +00:00
titzer@chromium.org
bd857a7d10
Rename InvertCondition and ReverseConditionForCmp on arm64 to be consistent with the other ports.
...
R=dcarney@chromium.org , dcarney
BUG=
Review URL: https://codereview.chromium.org/317663002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21676 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-04 13:40:52 +00:00
bmeurer@chromium.org
c0e047d53f
Improve write barriers in optimized code.
...
Use a cheaper RecordWriteForMap() to update the
write barrier for maps. And skip the value check
in RecordWriteField() when we statically know that
the value is in new space (and therefore has "pointers
to here are interesting" flag set).
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/297763006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21630 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 10:59:11 +00:00
jochen@chromium.org
56a486c322
Use full include paths everywhere
...
- this avoids using relative include paths which are forbidden by the style guide
- makes the code more readable since it's clear which header is meant
- allows for starting to use checkdeps
BUG=none
R=jkummerow@chromium.org , danno@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/304153016
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21625 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 08:12:43 +00:00
verwaest@chromium.org
f4aa3ab03d
Don't push eax/rax before calling Runtime_Abort
...
Additionally delete the unused Throw(BailoutReason)
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/308083006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21582 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-30 14:27:19 +00:00
jochen@chromium.org
0d1dc27eda
Reland 21482 - "Merge v8globals.h and globals.h"
...
> BUG=none
> R=mstarzinger@chromium.org
> LOG=n
>
> Review URL: https://codereview.chromium.org/293363006
BUG=none
TBR=mstarzinger@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/295373003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21490 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 11:28:08 +00:00
verwaest@chromium.org
53bbe2aec9
Revert "Merge v8globals.h and globals.h"
...
Because of tree redness.
TBR=jochen@chromium.org
Review URL: https://codereview.chromium.org/306443002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21483 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 08:39:04 +00:00
jochen@chromium.org
cd818d697d
Merge v8globals.h and globals.h
...
BUG=none
R=mstarzinger@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/293363006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21482 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 08:15:13 +00:00
alexandre.rames@arm.com
8d334ed1dc
Allow HPushArgument to handle more than one argument.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/296113008
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21468 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 14:06:42 +00:00
ishell@chromium.org
4b9c03050a
Reland r21442 "Inobject slack tracking is done on a per-closure basis instead of per-shared info basis."
...
This fixes inobject slack tracking for prototype inheritance pattern that uses closures.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/292183008
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21457 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 08:52:05 +00:00
ishell@chromium.org
9f3183f76b
Revert "Reland r21346 "Inobject slack tracking is done on a per-closure basis instead of per-shared info basis.""
...
This reverts r21442.
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/292433016
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21444 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 17:13:28 +00:00
ishell@chromium.org
00b8e6128f
Reland r21346 "Inobject slack tracking is done on a per-closure basis instead of per-shared info basis."
...
This fixes inobject slack tracking for prototype inheritance pattern that uses closures.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/290993009
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21442 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 16:22:23 +00:00
ishell@chromium.org
58932c6c44
Revert "Inobject slack tracking is done on a per-closure basis instead of per-shared info basis."
...
This reverts r21436.
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/295933012
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21437 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 13:38:32 +00:00
ishell@chromium.org
4a47cc5f63
Inobject slack tracking is done on a per-closure basis instead of per-shared info basis.
...
This fixes inobject slack tracking for prototype inheritance pattern that uses closures.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/283383006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21436 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 12:35:45 +00:00
yangguo@chromium.org
7a5207803c
Refactor MacroAssembler::Prologue.
...
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/288213002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21329 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-15 12:10:00 +00:00
m.m.capewell@googlemail.com
98ebea4e5d
A number of small changes:
...
- Change ConstantD for +/-zero constants to use the fp_zero register.
- Use Bfi in DoConstructDouble.
- Use Tbz for positive dividend check in mod by constant.
- Optimize some deoptimize checks.
- Fix a couple of style/consistency issues.
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/272183003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21311 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-14 14:01:29 +00:00
Jacob.Bramley@arm.com
e876dab9ad
ARM64: Fix and improve MacroAssembler::Printf.
...
- W-sized values passed to Printf are now handled correctly by the
simulator. In AAPCS64, int32_t and int64_t are passed in the same
way, so this didn't affect non-simulator builds.
- Since Printf now records the type and size of each argument, it is
possible to mix argument types.
- It is now possible to print the stack pointer. There is only one
remaining restriction: The `csp` register cannot be printed unless
it is the current stack pointer. This is because it is modified by
BumpSystemStackPointer when the caller-saved registers are
preserved.
BUG=
R=rmcilroy@chromium.org
Review URL: https://codereview.chromium.org/268353005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21272 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-12 15:44:21 +00:00
yangguo@chromium.org
3ccedf8952
Clean up debugger flags.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/261253005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21270 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-12 13:47:01 +00:00
verwaest@chromium.org
ed64101bc7
Reland and fix r21225 and r21226
...
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/272203002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21232 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 16:18:58 +00:00
ishell@chromium.org
cb1a32885c
[Sheriff] This reverts commits r21225 and r21226 for breaking Linux64 build.
...
Revert "Make BitField3 a raw uint32 field, and move to the start of the map."
Revert "Make space available in bf3 by moving FunctionWithPrototype to bf1"
TBR=verwaest@chromium.org
Review URL: https://codereview.chromium.org/278883002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21227 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 14:28:59 +00:00
verwaest@chromium.org
ec195cd929
Make BitField3 a raw uint32 field, and move to the start of the map.
...
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/272163002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21225 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 13:18:25 +00:00