marja@chromium.org
9e121d0d5d
Remove unused variables from assembler-arm.cc.
...
Local arm.debug build with make fails - not sure why arm build doesn't fail on
the waterfall.
R=rmcilroy@chromium.org
BUG=
Review URL: https://codereview.chromium.org/337273003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21964 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-24 12:20:12 +00:00
Jacob.Bramley@arm.com
63b3d1358c
ARM: Fix inline assembly (r21949) for Clang.
...
Add a 'c' predicate to the immediate syscall number. This tells the
compiler to omit the leading '#' that immediates usually have in ARM.
The GNU assembler tolerates "ldr r7, =#1234" but Clang does not.
BUG=V8:3403
LOG=N
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/356463004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21963 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-24 11:26:48 +00:00
Jacob.Bramley@arm.com
6b264de751
ARM: Clean up FlushICache.
...
In theory, the Thumb version of FlushICache doesn't have to be any
different from the ARM version: There is no need to switch to ARM mode
for the svc, and r7 can be used just like any other register.
In practice, GCC uses r7 as a frame pointer in Thumb code, and it
refuses to allow it be used in inline assembly. To avoid complicated
checks to determine whether or not it is possible to use it directly,
the FlushICache function explicitly preserves r7.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/335133002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21949 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-23 17:30:00 +00:00
mvstanton@chromium.org
41e2dc7063
Revert "Create a RegisterSpec class inside of the IC that provides:"
...
This reverts commit r21939 due to a static initializer issue.
TBR=marja@chromium.org
Review URL: https://codereview.chromium.org/339663008
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21943 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-23 14:28:38 +00:00
mvstanton@chromium.org
b3f8487726
Create a RegisterSpec class inside of the IC that provides:
...
1) symbolic names for the register (like, edx == receiver)
2) can return an array of registers
3) defines ordering when passed on the stack
Code that implements or uses the IC should use this RegisterSpec instead of "knowing" what the registers are. Or at least have the RegisterSpec to validate it's assumptions.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/340363002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21939 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-23 13:42:12 +00:00
rmcilroy@chromium.org
7f429e62c3
[Arm]: Simplify compile-time Arm feature detection.
...
Simplify the compile time feature detection on Arm:
- Define CAN_USE_XXX definitions unconditionally for all target/host
toolchain combinations
- Rename arm_test / ARM_TEST to arm_test_noprob / ARM_TEST_NO_FEATURE_PROBE
- Don't set ARM_TEST_NO_FEATURE_PROBE implicitly on the simulator to make
make simulator / native more consistent
- Unify CpuFeatures::PrintTarget for simulator and native builds
- Remove unecessary CAN_USE_VFP_INSTRUCTIONS definition for android (this is
the default for arm_fpu=default)
- Add a CpuFeatures::Probe() before calling CpuFeatures::PrintFeatures() in PrintHelp
to ensure we have probed features before printing them.
BUG=384474
LOG=N
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/340373002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21935 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-23 12:19:54 +00:00
rmcilroy@chromium.org
1b080a76c1
[Arm] Various cleanups to the Arm assembler backend.
...
A couple of cleanups to the Arm backend to enable support of extended
OOL constant pools in a following CL.
- Remove instruction pattern extern const's and replace their use with IsXXX()
functions.
- Do calculation of the target address of a load from constant pool in one
place.
- A couple of other small cleanups.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/317653003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21932 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-23 11:27:24 +00:00
yangguo@chromium.org
ba2d7da5a9
Introduce intrinsic to expose debug state to generated code.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/332673002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21908 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-23 07:10:25 +00:00
rodolph.perfetta@arm.com
736a17f8f4
ARM: Avoid duplicate vmla when merging vmul and vadd
...
Avoid generating duplicate vmla instructions for vmul/vadd sequences where the
vmul has more than one use.
For example: function f(a, b, c) { return (a * b) + c + (a * b); }
Previously, this would produce a vmul for the subexpression (a * b), then vmla
for (a * b) + c, then vmla for (a * b) + [(a * b) + c].
Now it produces vmul, vadd, vadd, as expected.
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/323423003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21899 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-20 11:26:17 +00:00
alph@chromium.org
969759fd3f
Support LiveEdit on ARM
...
BUG=368580
LOG=Y
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/344573004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21895 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-20 09:41:14 +00:00
mstarzinger@chromium.org
fec6e62dfb
Check alpha-sorting of includes during presubmit.
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/333013002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21894 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-20 08:40:11 +00:00
jarin@chromium.org
1a138034bd
Fix LStoreCodeEntry to treat the code_object parameter as input.
...
The bug seems to trigger only with array_index_dehoisting off in
the snapshot, so it is hard to test for (ideas?).
R=mvstanton@chromium.org
BUG=
Review URL: https://codereview.chromium.org/347523002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21885 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-18 11:17:52 +00:00
mstarzinger@chromium.org
46d36e81b4
Rename arguments object support functions to new scheme.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/338883003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21875 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-17 14:10:16 +00:00
yangguo@chromium.org
11368af66d
Interrupts must not mask stack overflow.
...
R=jarin@chromium.org
BUG=385002
LOG=N
Review URL: https://codereview.chromium.org/339883002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21874 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-17 13:54:49 +00:00
jochen@chromium.org
9c2019b25c
Remove dependency on Vector from platform files
...
Add wrappers to utils.h instead.
BUG=none
R=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/328343003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21846 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-13 16:43:27 +00:00
svenpanne@chromium.org
d82a6adac5
Emulate MLS on pre-ARMv6T2. Cleaned up thumbee vs. thumb2 confusion.
...
This should unbreak things on the Raspberry Pi.
LOG=y
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/331803003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21835 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-13 10:50:11 +00:00
wingo@igalia.com
dfb1c7dc9e
For-of calls [Symbol.iterator]() on RHS to get iterator
...
R=rossberg@chromium.org
BUG=http://code.google.com/p/v8/issues/detail?id=2735
LOG=N
Review URL: https://codereview.chromium.org/332663004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21820 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 17:31:54 +00:00
jkummerow@chromium.org
918efd7e20
Add non-miss slow path to LoadIC_Normal.
...
This avoids endless IC patching cycles between "normal" and "nonexistent" handlers when objects having and not having the property are seen alternatingly
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/328353002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21816 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 16:38:37 +00:00
danno@chromium.org
634cb5e8a1
Revert "Revert "Reland 21774: Generate KeyedLoadGeneric with Hydrogen""
...
This CL tickled an unrelated arm64 bug which was is fixed separately.
The MIPS port (originally landed 21784) is also included.
TBR=verwaest@chromium.org
Review URL: https://codereview.chromium.org/331633002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21803 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 09:58:10 +00:00
danno@chromium.org
c17e79293b
Revert "Reland 21774: Generate KeyedLoadGeneric with Hydrogen"
...
Due to lingering arm64 failures in Test262
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/332663003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21790 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 07:38:49 +00:00
danno@chromium.org
905d777d8f
Reland 21774: Generate KeyedLoadGeneric with Hydrogen
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/57123002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21781 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-11 21:44:50 +00:00
jochen@chromium.org
4e3364304b
Drop globals.h include from platform.h
...
Also delete dead cpu-features-implied-by-platform code.
BUG=none
R=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/326333002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21779 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-11 18:12:03 +00:00
danno@chromium.org
006bdafecc
Revert 21774: "Generate KeyedLoadGeneric with Hydrogen"
...
Due to arm64 and GCMole failures
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/329253003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21776 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-11 16:33:44 +00:00
danno@chromium.org
3b9039abc3
Generate KeyedLoadGeneric with Hydrogen
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/57123002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21774 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-11 14:56:38 +00:00
svenpanne@chromium.org
23fc5b75a8
Fixed flooring division by a power of 2, once again...
...
Avoid right shifts by zero bits: On ARM it actually means shifting by
32 bits (correctness issue) and on other platforms they are useless
(performance issue). This is fix for the fix in r20544.
BUG=v8:3259
LOG=y
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/324403003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21769 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-11 13:29:25 +00:00
verwaest@chromium.org
bb2b08b194
Implement LookupIterator designed to replace LookupResult
...
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/314953006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21767 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-11 09:59:14 +00:00
svenpanne@chromium.org
2931f09144
Fix unsigned comparisons.
...
Instead of marking the comparison instruction itself as Uint32, we
look at its arguments. This is more consistent what HChange does.
BUG=v8:3380
TEST=mjsunit/regress/regress-3380
LOG=y
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/325133004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21762 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-11 09:09:15 +00:00
yangguo@chromium.org
d5c6e4a9f6
Simplify string copy in SubStringStub.
...
The optimizations are unnecessary since the maximum
string length they operate on is currently 12.
R=bmeurer@chromium.org
BUG=352155
LOG=N
Review URL: https://codereview.chromium.org/326943002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21756 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-11 06:59:25 +00:00
danno@chromium.org
7c56c0e864
Reland 21720: Introduce FieldIndex to unify and abstract property/field offset
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/300283002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21746 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-10 14:01:08 +00:00
danno@chromium.org
ec57abdaa7
Revert 21720: "Introduce FieldIndex to unify and abstract property/field offset"
...
Due to assorted failures
R=mstarzinger@chromium.org
TBR=mstarzginer@chromium.org
Review URL: https://codereview.chromium.org/329463005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21732 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-10 09:00:10 +00:00
danno@chromium.org
ffc4ad0697
Introduce FieldIndex to unify and abstract property/field offset
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/300283002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21720 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-06 14:05:10 +00:00
titzer@chromium.org
812edcdedc
Documentation: fix comments for CommuteCondition.
...
R=jkummerow@google.com , jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/313283003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21685 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-05 08:33:42 +00:00
ulan@chromium.org
c8b2fa454a
Preliminary support for block contexts in hydrogen.
...
Patch from Steven Keuchel <keuchel@chromium.org>
BUG=v8:2198
LOG=N
TEST=mjsunit/harmony/block-let-crankshaft.js
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/307593002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21684 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-05 07:33:01 +00:00
titzer@chromium.org
3c501d3a4b
Rename ReverseCondition to CommuteCondition, a more standard term.
...
R=dcarney@chromium.org , dcarney
BUG=
Review URL: https://codereview.chromium.org/313083006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21677 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-04 14:57:51 +00:00
rmcilroy@chromium.org
083419a36f
Fix Arm release build after r21653
...
TBR=ulan@chromium.org
Review URL: https://codereview.chromium.org/311903003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21654 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 16:41:48 +00:00
rmcilroy@chromium.org
97c962c255
Add support for extended constant pool arrays.
...
This CL adds support for ConstantPoolArrays which contain an extended section.
This will be used to enable larger constant pools than can be addressed by a
single ldr with immediate offset instruction (which has a limit of a 4KB range).
Extended constant pools will have a small section, which is addressable via a
single ldr instruction, and an extended section, which will require a multi-
instruction sequence to load from.
Currently, no code uses the extended ConstantPoolArray's - this change will
be made in a followup CL.
A number of changes are made to the ConstantPoolArray object in order to
support this:
- Small section layout is now entirely defined by the small layout bitmaps.
- The ConstantPoolArray no longer extends FixedArrayBase since the length
field is not useful for extended layouts.
- Enums are used to represent the type of an entry and the layout section.
- An iterator can be used to iterate through all elements of a given type.
- A number of tests were added for these features.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/304143002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21653 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 16:22:10 +00:00
ishell@chromium.org
55443af648
Fixed lint errors caused by "runtime/references" rule (Is this a non-const reference?) and the rule itself is restored.
...
BUG=v8:3326
LOG=N
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/314723002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21651 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 15:45:38 +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
marja@chromium.org
048ee40e3d
Minor cleanups & trivial refactoring related to Ast.
...
1) Literal::IsNull, IsTrue and IsFalse were dead code, and not needed.
2) No need to use the node type constants outside the Ast; there is IsSomeNodeType().
3) AsSomeNodeType() != NULL -> IsSomeNodeType().
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/298143004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21621 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 07:40:43 +00:00
bmeurer@chromium.org
7d14f34a1b
Inline Array.shift() fast path instead of using a code stub.
...
TEST=mjsunit/array-shift,mjsunit/array-shift2,mjsunit/array-shift3
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/308793010
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21592 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-02 07:02:24 +00:00
bmeurer@chromium.org
a52f569f93
Simplify known successor block lowering.
...
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/308593003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21589 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-02 05:33:35 +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
bmeurer@chromium.org
e9357a5e77
Refactor HType to get rid of various hacks.
...
- Move HType to it's own file.
- Add HType::HeapObject and some other useful types.
- Get rid of the broken and useless HType::NonPrimitive.
- Introduce HType::FromType() to convert from HeapType to HType.
- Also add unit tests for HType.
- Fix types in Crankshaft.
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/300893003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21578 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-29 04:13:50 +00:00
ishell@chromium.org
fdef9ac252
FastCloneShallowArrayStub should not be used it the length of the array is too big as it could eventually exceed the allowed size limit for manually folded allocations.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/300283003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21573 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 16:00:52 +00:00
mvstanton@chromium.org
54313c8a0f
Refactor CallICStub to use a different stub for each customization.
...
This gives us much more room to customize on different functions, by
using MajorKey to differentiate them.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/295383004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21564 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 11:29:55 +00:00
yangguo@chromium.org
eaf8718290
Move LiveEdit-related code.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/300793002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21559 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 10:21:46 +00:00
danno@chromium.org
0f929e7a54
Small changes in preparation for Hydrogen-generated KeyedLoadGeneric
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/303583002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21535 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 15:15:49 +00:00
danno@chromium.org
6fa616ad73
Convert String array index/length hash to BitField
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/300023011
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21533 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 14:55:29 +00:00
jochen@chromium.org
276adeda1a
Replace STATIC_CHECK with STATIC_ASSERT.
...
It's just an alias, and STATIC_ASSERT is used way more often
BUG=none
R=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/304553002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21527 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 13:43:29 +00:00
yangguo@chromium.org
95a9c7e565
Merge Debugger and Debug.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/301633005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21524 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 13:20:58 +00:00
jochen@chromium.org
47cea50399
Replace some calls to MemCopy with small constant sizes with memcpy
...
MemCopy is only meant for variable size, large (>64bytes) copies,
otherwise, it's probably slower than memcpy due to the call
overhead and the compiler can't optimize it away.
BUG=none
R=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/306453005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21519 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 12:02:44 +00:00
m.m.capewell@googlemail.com
9678ff12c6
ARM: use TempDoubleRegister
...
R=ulan@chromium.org , bmeurer@chromium.org
Review URL: https://codereview.chromium.org/302453008
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21517 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 10:22:53 +00:00
danno@chromium.org
621c7eb673
Convert ElementsKind into a BitField
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/306513002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21515 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 09:38:01 +00:00
jochen@chromium.org
84e078e561
Reland 21502 - "Move OS::MemCopy and OS::MemMove out of platform to utils"
...
Verified that arm builds locally.
BUG=none
TBR=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/306473004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21512 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 07:57:22 +00:00
bmeurer@chromium.org
7e8678bbaa
Avoid HeapObject check in HStoreNamedField.
...
This way an HStoreNamedField instruction can never deoptimize
itself, which is another important step towards a working
store elimination.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/299373005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21509 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 07:17:08 +00:00
jochen@chromium.org
eabd5a19b9
Revert 21502 - "Move OS::MemCopy and OS::MemMove out of platform to utils"
...
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/297303004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21504 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 19:56:27 +00:00
jochen@chromium.org
a5a21a0da4
Move OS::MemCopy and OS::MemMove out of platform to utils
...
Since both are jitted on some platforms and depend on codegen, they
don't belong to the platform abstraction. At the same time, I can't put
them to codegen.h, as this would introduce cyclic dependencies.
BUG=none
R=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/302563004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21502 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 19:33:15 +00:00
mvstanton@chromium.org
d755611e93
Reland "Customized support for feedback on calls to Array." and follow-up fixes.
...
Comparing one CallIC::State to another was not done correctly, leading to a failure to patch a CallIC when transitioning from monomorphic Array to megamorphic.
BUG=chromium:377198,chromium:377290
LOG=Y
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/305493003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21499 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 13:59:24 +00:00
hpayer@chromium.org
6ed0102b1d
Remove high promotion mode.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/296413004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21493 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 12:58:55 +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
jkummerow@chromium.org
60e665627d
Revert "Customized support for feedback on calls to Array." and follow-up fixes.
...
This reverts r21429, r21434, r21435, r21440, r21445.
BUG=chromium:377198
LOG=y
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/300693002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21484 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 09:04:00 +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
bmeurer@chromium.org
683bc694ad
Skip write barriers in the fast case when setting up local context.
...
The FastNewContextStub always allocates in new space, so we don't
need to update the write barrier when copying the parameters to
the newly allocated context.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/297203002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21481 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 08:13:09 +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
alexandre.rames@arm.com
18412a83b0
Provide a helper to generate multiple Lithium instructions for one Hydrogen instruction.
...
R=jkummerow@chromium.org , ulan@chromium.org
Review URL: https://codereview.chromium.org/296993002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21465 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 13:15:07 +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
mvstanton@chromium.org
e443c89206
Customized support for feedback on calls to Array.
...
Gather transition feedback on array calls, and inline the Array
function call when it makes sense.
R=danno@chromium.org
Review URL: https://codereview.chromium.org/279423005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21429 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 09:30:02 +00:00
danno@chromium.org
def6cff3da
Allow specifying base offset when constructing Keyed hydrogen instructions
...
This is preparation for pending hydrogen stub work that needs to access memory using KeyedLoad/KeyedStore operations where the base offset used for the accesses are is the the default (e.g. the size of an FixedArray header for FixedArrays or zero for external arrays).
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/295913009
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21426 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 08:37:50 +00:00
yangguo@chromium.org
6fd69c2476
Remove special debug ExternalReferences.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/296043002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21421 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 07:57:33 +00:00
yangguo@chromium.org
7e1c789685
Remove unused thread locals from debugger.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/286903003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21391 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-20 15:20:02 +00:00
bmeurer@chromium.org
a7e19c1a43
Revert "Refactor transitioning stores."
...
This reverts commit r21383 for breaking the Mozilla tests.
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/292993003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21386 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-20 13:03:25 +00:00
bmeurer@chromium.org
b09989ec58
Refactor transitioning stores.
...
There's actually no need to have the transition as part of the HStoreNamedField instruction. In fact, it is cleaner and faster to generate a separate HStoreNamedField for the transition map. This will also help to eliminate map stores with store elimination, as well as reduce register pressure for transitioning stores on ia32.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/295743002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21383 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-20 11:06:23 +00:00
ishell@chromium.org
2a62cce170
Reland "v8::TryCatch now works correctly with ASAN's UseAfterReturn mode enabled."
...
BUG=chromium:369962
LOG=N
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/282783004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21382 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-20 10:13:46 +00:00
rmcilroy@chromium.org
63199d0bfe
Avoid flushing the icache unnecessarily when updating target addresses in code.
...
This CL updates RelocInfo update operations and set_target_address_at to enable
skipping of the icache flush if it going to be batched up later.
Code::CopyFrom and Code::Relocate are modified to avoid individual icache
flushes since the whole code area will be flushed after the reloc info is
updated.
These changes reduce a regression when enabling the OOL constant pool on Arm,
since this change can cause MovT/MovW instructions for relocatable targets
if the constant pool is full.
Scores for Mandreel latency on a Nexus 5:
- OOL CP disabled: 3533
- OOL CP enabled, without this CL: 1825
- OOL CP enabled, with change: 3015
R=rodolph.perfetta@arm.com , ulan@chromium.org
Review URL: https://codereview.chromium.org/284153004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21380 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-20 09:21:45 +00:00
svenpanne@chromium.org
ec23d0b815
Allow comparison in UINT32 mode.
...
Shamelessly based on parts of https://codereview.chromium.org/288853003/ . :-)
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/288383002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21355 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-19 07:47:09 +00:00
bmeurer@chromium.org
ecadc63b60
Partial revert of "Next bunch of fixes for check elimination".
...
This reverts the part of r21154 that introduced the CHECK()s to verify
state of objects with stable maps during code generation. The CHECK()s
seem to trigger a non-critical hidden bug in the map stability
mechanism. We will re-add these CHECK()s once the bug is found and
fixed.
BUG=372173
LOG=y
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/287363002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21352 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-19 07:08:47 +00:00
yangguo@chromium.org
fe243379f8
Decouple CpuFeatures from serializer state.
...
Traditionally, we cross compile a snapshot iff the serializer is enabled.
This will change in the future.
Changes:
- CpuFeatures probing is done once per process, depending on whether we
cross compile.
- CpuFeatures are consolidated into the platform-independent assembler.h
as much as possible.
- FLAG_enable_<feature> will only be checked at probing time (already the
case for ARM).
- The serializer state is cached by the MacroAssembler.
- PlatformFeatureScope is no longer necessary.
- CPUFeature enum values no longer map to CPUID bit fields.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/285233010
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21347 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-16 15:18:24 +00:00
rmcilroy@chromium.org
5cfca21295
Fix MacroAssembler::Prologue for Arm when FLAG_out_off_line_constant_pool is enabled.
...
The prologue update in r21329 changed the scoping of the PredictableCodeSizeScope.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/284303003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21345 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-16 14:49:11 +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
41975b90c0
Fix FlooringDivByPowerOf2I on ARM/ARM64
...
Fix for divisor=1, found during code inspection. We can't hit this bug, due to
HDiv::Canonicalize() discarding the operation, but it might avoid a future bug
hunt. Patch also includes a small tidying of the ARM64 code.
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/280883003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21313 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-14 14:34:37 +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
m.m.capewell@googlemail.com
2bdd088cde
ARM: update defaults for flags
...
R=bmeurer@chromium.org , ulan@chromium.org
BUG=
Review URL: https://codereview.chromium.org/264593002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21258 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-12 09:25:32 +00:00
danno@chromium.org
71789ea1e5
Reland r20974: Unify and simplify the FastCloneShallowArrayStub
...
- Don't bake in length/capacity into full codegen calls of stubs,
allowing boilerplates to increase their capacity without regenerating
code.
- Unify all variants of the clone stub into a single,
length-independent version.
- Various tweaks to make sure that the clone stub doesn't spill and
therefore need an eager stack frame.
- Handle all lengths of array literals in the fast case.
R=mvstanton@chromium.org
Committed: https://code.google.com/p/v8/source/detail?r=21230
Review URL: https://codereview.chromium.org/272513004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21253 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-12 07:49:11 +00:00
verwaest@chromium.org
c33a72b27f
Revert "Reland r20974: Unify and simplify the FastCloneShallowArrayStub"
...
This breaks nosnap.
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/272243002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21242 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 17:56:55 +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
danno@chromium.org
36fc96a4b8
Reland r20974: Unify and simplify the FastCloneShallowArrayStub
...
- Don't bake in length/capacity into full codegen calls of stubs,
allowing boilerplates to increase their capacity without regenerating
code.
- Unify all variants of the clone stub into a single,
length-independent version.
- Various tweaks to make sure that the clone stub doesn't spill and
therefore need an eager stack frame.
- Handle all lengths of array literals in the fast case.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/272513004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21230 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 15:55:45 +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
yangguo@chromium.org
3fa6100ed3
Require SSE2 support for the ia32 port.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/275433004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21223 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 13:01:50 +00:00
ishell@chromium.org
ff2d004f85
Presubmit checks recover:
...
1) runtime/references checks temporarily disabled (56 items left)
2) other errors fixed
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/277913002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21222 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 12:59:24 +00:00
yangguo@chromium.org
c02ad39c10
Clean up stack guard interrupts.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/264233005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21208 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 09:13:12 +00:00
bmeurer@chromium.org
7c45d49861
Improve Array.shift() performance for small arrays.
...
TEST=mjsunit/array-shift,mjsunit/array-shift2,mjsunit/array-shift3
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/279743002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21203 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 08:28:25 +00:00
ulan@chromium.org
8999a006be
Fix index register assignment in LoadFieldByIndex for arm, arm64, and mips.
...
This instruciton clobbers the index register.
BUG=368243
LOG=N
TEST=mjsunit/regress/regress-368243
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/269273003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21196 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-08 08:51:51 +00:00
bmeurer@chromium.org
066955e452
Remove GenerateBooleanCheck() since we have a boolean map now.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/269343003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21189 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-07 12:18:23 +00:00
bmeurer@chromium.org
b040340fc2
Turn CHECK()s into ASSERT()s.
...
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/275433002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21187 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-07 08:42:20 +00:00
mvstanton@chromium.org
f2903b6f6c
Fix for 3303 MultithreadedParallelIsolates has a race condition.
...
The fix is to make the code aging sequence hang off the isolate.
BUG=v8:3303
R=svenpanne@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/261953002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21165 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-06 11:25:37 +00:00
mstarzinger@chromium.org
55c077f96e
Remove broken %_Log functionality.
...
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/265283007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21160 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-06 09:28:08 +00:00
bmeurer@chromium.org
a051bc5762
Next bunch of fixes for check elimination.
...
- Canonicalize HCheckMapValue with constant map to
HCheckMaps, and get rid of the special treatment
during check elimination.
- Track only stable object maps for HConstants and
add CHECK()s to verify state during code generation.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/263923004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21154 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-06 07:05:07 +00:00
bmeurer@chromium.org
785bdf7c1e
Don't add code dependencies eagerly for HCheckMaps.
...
Instead of adding code dependencies on stable during
graph creation, we now add them during code generation
for those HCheckMaps that survived dead code elimination.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/264973013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21139 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-05 11:03:14 +00:00
svenpanne@chromium.org
96517fbed0
Inlined IsFoundByRuntimeProbingOnly.
...
It is only used internally at a single place.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/265243004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21137 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-05 09:52:03 +00:00
yangguo@chromium.org
db904a20da
Always initialize the debugger eagerly.
...
There is no point doing it lazily, since compiling and executing the tiniest piece of code triggers lazy init.
Also removed some dead code.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/265593004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21135 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-05 07:10:38 +00:00
bmeurer@chromium.org
7c1036d424
Various cleanups in check elimination.
...
- Move IsMapAccess() to HObjectAccess.
- Collect the actual objects instead of HStoreNamedFields in
effects, and also consider HTransitionElementsKind.
- Fix ownership of HCheckMaps::maps() and HLoadNamedField::maps().
- Avoid heavy copying of the same map sets all the time during
check elimination, and do something useful with the memory
instead by slightly bumping the maximum number of tracked
objects.
- Slightly optimize UniqueSet::Contains().
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/264693011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21133 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-05 06:53:19 +00:00
svenpanne@chromium.org
5170a008d3
Generation of our home-grown memmove doesn't depend on serializer state anymore.
...
The serializer state has to be per-Isolate, but at the point where we
generate our memmoves we don't really have an Isolate. Furthermore,
there was no fundamental reason why we shouldn't use our home-grown
memmove during mksnapshot time.
Perhaps we can totally remove our own memmove nowadays, but this would
be a separate CL.
BUG=359977
LOG=y
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/261903002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21116 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-02 10:14:37 +00:00
bmeurer@chromium.org
50d8259fea
Fix crash in debug builds introduced with r21110.
...
Basically we should not check for map deprecation during
code selection, because that may run on the concurrent
compiler thread. So the fix is to move this logic to the
code generation phase instead, which is always run on the
main thread.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/263803005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21112 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-02 08:08:23 +00:00
bmeurer@chromium.org
59e5c97ec0
Don't add code dependencies on transitioning stores eagerly.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/256303007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21110 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-02 06:37:54 +00:00
mvstanton@chromium.org
287f65aec9
CallICStub with a "never patch" approach by default. Patching will
...
occur only when custom feedback needs to be gathered (future CLs).
Now rebased on https://codereview.chromium.org/254623002/ , which moves the type feedback vector to the SharedFunctionInfo.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/247373002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21093 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-30 14:33:35 +00:00
mvstanton@chromium.org
15dc39a86f
Simplify feedback vector creation and store in SharedFunctionInfo.
...
LOG=N
BUG=v8:3212
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/254623002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21085 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-30 10:51:01 +00:00
svenpanne@chromium.org
d60dbdaf27
Unbreak the build after r21083.
...
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/266493003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21084 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-30 10:24:03 +00:00
svenpanne@chromium.org
4dca23f825
Added a Isolate* parameter to Serializer::enabled().
...
This parameter will soon be used when a few pseudo-classes like
Serializer are turned into real classes. The current CL is already big
enough, untying our Gordian knot called "startup" will continue...
BUG=359977
LOG=y
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/260003006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21083 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-30 09:50:58 +00:00
rmcilroy@chromium.org
e9e2f7f863
Fix android_arm.debug after r20051
...
The ConstantPoolBuilder stores RelocInfo in an stl::vector, therefore RelocInfo
cannot subclass BASE_EMBEDDED.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/253923005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21056 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-29 14:14:06 +00:00
jkummerow@chromium.org
3bf07da530
arm: Fix Smi check in SubStringStub::Generate
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/256743007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21050 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-29 13:42:00 +00:00
bmeurer@chromium.org
d4b533d41b
Bulk update of Google copyright headers in source files.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/259183002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21035 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-29 06:42:26 +00:00
yangguo@chromium.org
38b82f40d0
Remove some remnants of MaybeObjects in objects.*.
...
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/256993003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21027 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-28 15:33:16 +00:00
m.m.capewell@googlemail.com
eabcf296ab
ARM: don't use r9 anymore for gap resolution
...
BUG=
R=bmeurer@chromium.org , ulan@chromium.org
Review URL: https://codereview.chromium.org/255883002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21008 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-28 10:42:21 +00:00
danno@chromium.org
9aaa5367ba
Revert r20974: Unify and simplify the FastCloneShallowArrayStub
...
Due to Layout test redness.
TBR=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/256873007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21007 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-28 10:28:15 +00:00
ulan@chromium.org
60b14ea631
Convert function.name to API-style accessor and make CallApiGetterStub serializable.
...
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/254783003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21002 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-28 08:26:35 +00:00
svenpanne@chromium.org
2fe0f48d39
Simplified CPU/CpuFeatures a bit.
...
This is a necessary intermediate step to disentangle the startup.
In the long run CPU and CpuFeatures should probably be merged,
and Serializer::enabled usage should be radically reduced, but
we're not there yet.
BUG=359977
LOG=y
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/258993002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21001 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-28 08:18:38 +00:00
jochen@chromium.org
8795d02bfd
Enter a description of the change.
...
Reland 20968 - "Merge v8utils.* and utils.*"
> BUG=none
> R=mstarzinger@chromium.org
> LOG=n
>
> Review URL: https://codereview.chromium.org/256753002
BUG=none
LOG=n
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/250733004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20984 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 13:47:01 +00:00
jochen@chromium.org
f2a1176f90
Revert 20968 - "Merge v8utils.* and utils.*"
...
> BUG=none
> R=mstarzinger@chromium.org
> LOG=n
>
> Review URL: https://codereview.chromium.org/256753002
BUG=none
LOG=n
TBR=danno@chromium.org
Review URL: https://codereview.chromium.org/250823003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20975 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 12:21:32 +00:00
danno@chromium.org
198c4769f2
Unify and simplify the FastCloneShallowArrayStub
...
- Don't bake in length/capacity into full codegen calls of stubs,
allowing boilerplates to increase their capacity without regenerating
code.
- Unify all variants of the clone stub into a single,
length-independent version.
- Various tweaks to make sure that the clone stub doesn't spill and
therefore need an eager stack frame.
- Handle all lengths of array literals in the fast case.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/257563004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20974 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 11:54:01 +00:00
yangguo@chromium.org
cb2f43cb14
Always include debugger support.
...
Motivation: we do not have test coverage for debuggersupport=off.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/256653004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20969 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 11:00:37 +00:00
jochen@chromium.org
c0380f6a56
Merge v8utils.* and utils.*
...
BUG=none
R=mstarzinger@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/256753002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20968 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 10:57:34 +00:00
verwaest@chromium.org
a55821eef2
Mark the simulate before EnterInlined with BailoutId::None(), and set ReturnId on EnterInlined. When merging simulates into the simulate before enter-inlined, adopt the last AST id that gets merged into it.
...
BUG=v8:3282
LOG=n
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/257583004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20949 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-24 15:20:53 +00:00
ishell@chromium.org
cb46971aa3
NameDictionary's key type is now Handle<Name> instead of Name*.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/252383006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20947 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-24 14:59:09 +00:00
svenpanne@chromium.org
b8d27f9d38
CodeStubs contain their corresponding Isolate* now. (part 2)
...
This CL mechanically removes all useless Isolate* parameters from code
stub functions, making things quite a bit simpler.
BUG=359977
LOG=y
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/255543003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20940 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-24 12:07:40 +00:00
bmeurer@chromium.org
d699684beb
Revert "Some code cleanup, esp. includes and copyright headers."
...
This reverts commit r20938 for breaking the windows build.
TBR=ulan@chromium.org
Review URL: https://codereview.chromium.org/254463003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20939 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-24 11:44:22 +00:00
bmeurer@chromium.org
18b07afb8f
Some code cleanup, esp. includes and copyright headers.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/257453003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20938 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-24 11:32:48 +00:00
svenpanne@chromium.org
dd30db9021
CodeStubs contain their corresponding Isolate* now. (part 1)
...
This is a purely mechanical change, adding an Isolate* to the CodeStub
constructor and a corresponding field plus a getter. A few methods in
CodeStub and its subclasses can be simplified now, but this is done in
a separate CL.
The underlying reason apart from simplicity is that deep down in the
call chain we need to detect if the serializer is active or not. This
information will be part of the Isolate, not a global variable with
funky synchronization primitives around it (which is fundamentally
wrong and the underlying cause for race conditions and a catch-22
during initialization).
BUG=359977
LOG=y
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/246643014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20919 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-24 06:25:42 +00:00
yangguo@chromium.org
41bfa036b3
Return Object* instead of MaybeObject* from runtime calls.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/240053010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20888 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-22 12:50:58 +00:00
bmeurer@chromium.org
376bff2411
Optimize numeric comparison with known successors.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/246133005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20880 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-22 10:49:28 +00:00
bmeurer@chromium.org
af05141176
Improve code generation for bounds checks.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/246423005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20872 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-22 08:28:14 +00:00
bmeurer@chromium.org
eccda7f000
Fix field type handling in load elimination.
...
Drive-by-fix: map_set() must return a pointer to the UniqueSet
instead of a copy.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/244383002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20870 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-22 07:24:05 +00:00
adamk@chromium.org
3308cb5857
ES6: Add support for Map/Set forEach
...
This implements MapIterator and SetIterator which matches
the same constructs in the ES6 spec. However, these 2
iterators are not exposed to user code yet. They are only
used internally to implement Map.prototype.forEach and
Set.prototype.forEach.
Each iterator has a reference to the OrderedHashTable where
it directly accesses the hash table's entries.
The OrderedHashTable has a reference to the newest iterator
and each iterator has a reference to the next and previous
iterator, effectively creating a double linked list.
When the OrderedHashTable is mutated (or replaced) all the
iterators are updated.
When the iterator iterates passed the end of the data table
it closes itself. Closed iterators no longer have a
reference to the OrderedHashTable and they are removed from
the double linked list. In the case of Map/Set forEach, we
manually call Close on the iterator in case an exception was
thrown so that the iterator never reached the end.
At this point the OrderedHashTable keeps all the non finished
iterators alive but since the only thing we currently expose
is forEach there are no unfinished iterators outside a forEach
call. Once we expose the iterators to user code we will need
to make the references from the OrderedHashTable to the
iterators weak and have some mechanism to close an iterator
when it is garbage collected.
BUG=1793, 2323
LOG=Y
R=adamk@chromium.org
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/238063009
Patch from Erik Arvidsson <arv@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20857 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-17 17:45:32 +00:00
mvstanton@chromium.org
9ce1c5144a
Serializer enable/disable flags need thread safety.
...
BUG=
R=hpayer@chromium.org , svenpanne@chromium.org
Review URL: https://codereview.chromium.org/240193002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20855 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-17 14:45:06 +00:00
danno@chromium.org
59b3dc5812
Remove hand-written assembly ArrayPush stubs
...
R=mstarzinger@chromium.org , verwaest@chromium.org
Review URL: https://codereview.chromium.org/233293005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20839 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-17 11:37:59 +00:00
bmeurer@chromium.org
779e87b87a
Track up to 5 stable maps as field type.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/240813002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20831 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-17 08:22:22 +00:00
adamk@chromium.org
91618cf1e9
Revert "ES6: Add support for Map/Set forEach"
...
This reverts https://code.google.com/p/v8/source/detail?r=20823
It broke Windows builds. Will need to find a Windows try bot to figure
out why.
TBR=mstarzinger@chromium.org ,arv@chromium.org
Review URL: https://codereview.chromium.org/238973011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20824 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-16 21:19:25 +00:00
adamk@chromium.org
7c300d1f83
ES6: Add support for Map/Set forEach
...
This implements MapIterator and SetIterator which matches
the same constructs in the ES6 spec. However, these 2
iterators are not exposed to user code yet. They are only
used internally to implement Map.prototype.forEach and
Set.prototype.forEach.
Each iterator has a reference to the OrderedHashTable where
it directly accesses the hash table's entries.
The OrderedHashTable has a reference to the newest iterator
and each iterator has a reference to the next and previous
iterator, effectively creating a double linked list.
When the OrderedHashTable is mutated (or replaced) all the
iterators are updated.
When the iterator iterates passed the end of the data table
it closes itself. Closed iterators no longer have a
reference to the OrderedHashTable and they are removed from
the double linked list. In the case of Map/Set forEach, we
manually call Close on the iterator in case an exception was
thrown so that the iterator never reached the end.
At this point the OrderedHashTable keeps all the non finished
iterators alive but since the only thing we currently expose
is forEach there are no unfinished iterators outside a forEach
call. Once we expose the iterators to user code we will need
to make the references from the OrderedHashTable to the
iterators weak and have some mechanism to close an iterator
when it is garbage collected.
BUG=1793,2323
LOG=Y
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/240323003
Patch from Erik Arvidsson <arv@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20823 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-16 21:12:27 +00:00
rossberg@chromium.org
926ec656de
Implement structural function and array types
...
Just wanted to add two constructors to a datatype, how ugly can it get?
R=bmeurer@chromium.org , jarin@chromium.org
BUG=
Committed: https://code.google.com/p/v8/source/detail?r=20809
Committed: https://code.google.com/p/v8/source/detail?r=20815
Review URL: https://codereview.chromium.org/228263005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20817 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-16 16:16:37 +00:00
rossberg@chromium.org
e3e81d85bb
Revert "Implement structural function and array types"
...
TBR=jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/237963016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20816 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-16 15:59:39 +00:00
rossberg@chromium.org
6782d9cea3
Implement structural function and array types
...
Just wanted to add two constructors to a datatype, how ugly can it get?
R=bmeurer@chromium.org , jarin@chromium.org
BUG=
Committed: https://code.google.com/p/v8/source/detail?r=20809
Review URL: https://codereview.chromium.org/228263005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20815 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-16 15:42:22 +00:00
rossberg@chromium.org
a947aeb315
Revert "Implement structural function and array types"
...
TBR=jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/240143003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20810 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-16 13:57:25 +00:00
rossberg@chromium.org
7de4c1c63f
Implement structural function and array types
...
Just wanted to add two constructors to a datatype, how ugly can it get?
R=bmeurer@chromium.org , jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/228263005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20809 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-16 13:44:26 +00:00
yangguo@chromium.org
17b33fa1da
Handlify code allocation.
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/235153003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20795 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-16 11:38:56 +00:00