ager@chromium.org
afa73d3907
Fix Win64 build.
...
TBR=ricow@chromium.org
Review URL: http://codereview.chromium.org/3017024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5117 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-22 09:01:00 +00:00
ager@chromium.org
a36bf8f017
Port inlined in-object property stores to ARM.
...
Review URL: http://codereview.chromium.org/2878043
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5116 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-22 08:17:40 +00:00
ager@chromium.org
dc45fcb232
Port inline in-object property stores from ia32 to x64.
...
Review URL: http://codereview.chromium.org/3008017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5115 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-22 06:31:49 +00:00
kaznacheev@chromium.org
3377349a51
Support object literal map caching for literals with keys that are array indices.
...
The caching code used to require that all keys in the literal were symbol strings
in order to be able to cache object literal maps.
Relaxed this requirement to allow array indices as well (as in { "1": "one", two: "two" }).
Changed the way 'number_of_properties' is calculated so that redundant property slots are not
allocated for array indices.
Review URL: http://codereview.chromium.org/2858064
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5114 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-22 06:28:47 +00:00
whesse@chromium.org
8105e9baa3
Remove VirtualFrame::CallStoreIC(void) and CallCommonStoreIC from virtual-frame-x64.cc. Make implementations of CallStoreIC(key, is_contextual) and CallKeyedStoreIC() the same on x64 and ia32. Make ia32 and x64 implementations more alike by moving some functions and changing comments.
...
Review URL: http://codereview.chromium.org/3060002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5113 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-21 15:16:01 +00:00
whesse@chromium.org
9174700dca
Add EmitKeyedStore and EmitKeyedPropertyAssignment to x64. Removal of Reference class from VisitAssignment complete on all platforms.
...
Review URL: http://codereview.chromium.org/3028015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5112 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-21 11:52:57 +00:00
fschneider@chromium.org
08c753d087
Prepare push to trunk. Now working on version 2.3.3.
...
Review URL: http://codereview.chromium.org/3053006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5109 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-21 10:53:38 +00:00
whesse@chromium.org
fe02d5e25f
Add EmitNamedStore and CallStoreIC(name, is_contextual) to x64 platform.
...
Review URL: http://codereview.chromium.org/3050008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5108 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-21 10:31:52 +00:00
whesse@chromium.org
6612b98dcf
Add EmitSlotAssignment to x64 platform.
...
Review URL: http://codereview.chromium.org/2878042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5107 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-21 08:50:57 +00:00
ager@chromium.org
74f9789f61
Landing for Rodolph Perfetta.
...
Add support for saturation instruction (ARMv6 or above).
The byte array clamping code has been updated accordingly.
Review URL: http://codereview.chromium.org/3036008/show
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5106 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-21 07:42:51 +00:00
ager@chromium.org
c9c7f8834e
Inline in-object property stores on ia32 when in loop and not in top-level code.
...
Review URL: http://codereview.chromium.org/3046006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5105 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-21 06:59:34 +00:00
whesse@chromium.org
54f68eacbf
Stop pushing arguments onto the stack in CompareStub until just before calling runtime.
...
This is a fixed version of change 5097, which had the problem that LoadFloatOperands tried to load the arguments from the stack.
Review URL: http://codereview.chromium.org/3040010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5103 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-20 12:41:43 +00:00
vegorov@chromium.org
f32e2b7093
Output time spent in code flushing in GC NVP trace.
...
Add support for flushcode scope and cumulative stats into gc-nvp-trace-processor.
Review URL: http://codereview.chromium.org/3054003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5102 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-20 10:59:00 +00:00
ricow@chromium.org
6f69731a23
Update inheritance hierarchy in Objects.h to better reflect the actual hierarchy.
...
We do not have a GlobalContext class.
We do, however, have a SerializedScopeInfo class that inherits FixedArray.
Starting comment is also slightly misleading, since not all objects in the hierarchy is described in objects.h (e.g., Context is described in contexts.h).
Review URL: http://codereview.chromium.org/2811057
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5101 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-20 07:14:19 +00:00
ager@chromium.org
ec70b5c085
Update Code::NUMBER_OF_KINDS to include binary op ICs.
...
Review URL: http://codereview.chromium.org/3027013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5100 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-20 06:23:36 +00:00
whesse@chromium.org
24ca3eddd7
Revert 5097 on ia32 platform until problem is diagnosed.
...
Review URL: http://codereview.chromium.org/3018009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5098 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-19 14:26:51 +00:00
whesse@chromium.org
96a7cc4a38
Delay the pushing of arguments until just before calling runtime in CompareStub.
...
This will allow jumps to runtime that skip useless tests.
Review URL: http://codereview.chromium.org/3016004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5097 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-19 13:35:41 +00:00
antonm@chromium.org
793d0a92b9
Add a check that weak object handle is not in NEAR_DEATH state after weak callback invocation.
...
If object enters NEAR_DEATH state, it must be explicitly cleared and/or disposed, otherwise
it would retain JS object forever. Note as well that parameter is reset to NULL on first
invocation so weak handle callback would be in hard situation.
Review URL: http://codereview.chromium.org/3011009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5096 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-19 13:26:25 +00:00
whesse@chromium.org
9991a4b226
Fix issue 785. For-in now works on strings: for (var i in "asdf") now works
...
all the time, not just the first time it is run.
Review URL: http://codereview.chromium.org/3037008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5095 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-19 12:45:21 +00:00
ager@chromium.org
2a877bfc95
Landing for pmehta.
...
Changed a static cast from static_cast<int> to static_cast<size_t>
that previously introduced a signed/unsigned comparison issue in the
main allocator for V8 (MemoryAllocator::AllocateRawMemory) that could
be used to bypass the V8 allocation limitations or trigger integer
overflows.
Review URL: http://codereview.chromium.org/3027006/show
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5094 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-19 10:02:11 +00:00
ricow@chromium.org
aec9ce891e
Prepare push to trunk. Now working on version 2.3.2.
...
Review URL: http://codereview.chromium.org/2811055
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5090 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-19 07:33:05 +00:00
ricow@chromium.org
5caa11dafb
Reorder SharedFunctionInfo setup in lazy compile, quick fix for crbug.com/49099
...
This fixes issue 49099 (http://crbug.com/49099 ) that makes chromium
crash if a gc is triggered by setting the scopeinfo in CompileLazy. If
this gc triggers code flushing the compiled function could be flushed,
causing the ASSERT(shared->is_compiled()) to fail. By reordering the
two methods we make sure that no allocation happens before the end of
the method.
Review URL: http://codereview.chromium.org/3035006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5089 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-19 06:29:30 +00:00
ricow@chromium.org
4957326521
Refactor type checks in v8natives.js and runtime.js.
...
This includes adding a new inline IsSpecObject method to the code
generator. The old approach was somehow ineffecient since we would
call both IsObject, IsUndetectable and IsFunction to determine if
something was an object according to the spec. This change introduces
a new macro that determines if something is an object according to the
spec (and this does not include null).
This change also corrects a few places where undetectable objects was
not allowed even when they should be (priorly they would use only
IS_SPEC_OBJECT_OR_NULL, which would return false on an undetectable
object, the new IS_SPEC_OBJECT returns true on an undetectable object.
Review URL: http://codereview.chromium.org/2877018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5087 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-16 11:21:08 +00:00
serya@chromium.org
931bf1d63d
StringDictionary::FindEntry optimized for symbol strings.
...
Review URL: http://codereview.chromium.org/3020003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5086 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-16 10:07:57 +00:00
whesse@chromium.org
1f85eccb24
Fix compilation errors on X64. Error from r5080 is constructor Operand(register) with too few arguments, while constructing a dummy return value in unreachable code to avoid compiler errors. Also added explicit cast from intptr_t to int in profile-generator.cc to avoid compiler warnings, introduced in r5078.
...
Review URL: http://codereview.chromium.org/3030002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5084 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-16 08:20:39 +00:00
mikhail.naganov@gmail.com
f2cf990de2
Fix TestHeapEntryIdsAndGC test. The assert was wrong.
...
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/2861051
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5082 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-15 15:41:05 +00:00
whesse@chromium.org
5794e68f76
Remove unnecessary formatting differences between ia32 and x64 code generators. Mainly just typographical changes.
...
Review URL: http://codereview.chromium.org/3023001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5080 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-15 14:31:49 +00:00
mikhail.naganov@gmail.com
522faec553
Fix compile errors on Linux x64 and Windows.
...
Will fix test-heap-profiler in the next change.
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/2877019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5079 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-15 14:28:52 +00:00
mikhail.naganov@gmail.com
c98ac6e82c
Heap profiler: implement diffing of snapshots.
...
To trace objects between snapshots, an external map of object tags is
maintained. After the first heap snapshot has been taken, the map is
updated by reporting object moves from the GC. If no snapshots were
taken, there is no overhead (except for flag checking).
I considered graph comparison algorithms that doesn't require using
object tags, but they are all of a high computational complexity, and
will still fail to detect object moves properly, even for trivial
cases, so using tags looks like unavoidable.
Review URL: http://codereview.chromium.org/3020002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5078 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-15 13:21:50 +00:00
whesse@chromium.org
dd06f4f102
Avoid a smi check when comparing an unknown to a constant smi for equality on ia32 and x64 platforms.
...
Review URL: http://codereview.chromium.org/2897013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5077 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-15 10:34:08 +00:00
whesse@chromium.org
ee1598ad90
Fix compilation and linking with V8_INTERPRETED_REGEXP flag.
...
Review URL: http://codereview.chromium.org/2836051
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5076 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-15 10:31:30 +00:00
ager@chromium.org
c93971ba20
Prepare push to trunk. Now working on version 2.3.1.
...
Review URL: http://codereview.chromium.org/2805081
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5073 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-15 08:50:01 +00:00
ricow@chromium.org
f5f0b80363
Implement ES5 Object.seal and Object.isSealed.
...
This change adds the ES5 Object.seal 15.2.3.8 and Object.isSealed 15.2.3.11 methods.
Review URL: http://codereview.chromium.org/2993006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5072 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-15 07:51:14 +00:00
serya@chromium.org
1b9391be7a
Fix GenerateNegativeLookup to work with non-symbols as a dictionary key.
...
Review URL: http://codereview.chromium.org/2928009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5071 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-15 06:17:45 +00:00
whesse@chromium.org
cb1eedd269
Fix error in x64 fast smi loops, change 4998.
...
Review URL: http://codereview.chromium.org/2925012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5069 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-14 13:22:47 +00:00
ricow@chromium.org
e2fab5fd9f
Fix bug in Object.isFrozen which always classifies non-extensible objects as frozen.
...
Since out internal representation of a property descriptor does not have configurable and writable
attributes Object.isFrozen returns true whenever an object is not extensible.
This change makes use of the right method calls on our internal representation (isWritable() and
isConfigurable()). Tests added directly to the mjsunit test.
Review URL: http://codereview.chromium.org/2904015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5068 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-14 13:15:43 +00:00
kaznacheev@chromium.org
db23321704
Create a separate class to encapsulate ScopeInfo serialization.
...
The static ScopeInfo members moved into this class.
The new class is named ScopeInfoObject which I am not proud of,
better ideas are very welcome.
Also got rid of the sentinels in the serialized scope info which saves 3 words per function
and is not slower.
Review URL: http://codereview.chromium.org/2908009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5067 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-14 11:18:09 +00:00
ricow@chromium.org
3bc97b7d34
Remove check for heap allocated locals from code flushing.
...
Since bleeding edge revision 5056 we no longer need to check that
there are no heap allocated locals in the scope info, since these will
be preserved after the scope info was moved to the SharedFunctionInfo
class.
Review URL: http://codereview.chromium.org/2931016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5066 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-14 09:45:08 +00:00
mikhail.naganov@gmail.com
84ffa5610b
Debugger: introduce parametrized debug break, the parameter is passed
...
back to EventListener to be able to dynamically specify behavior
on asynchronously enforced VM breakouts.
Review URL: http://codereview.chromium.org/2962007/show
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5063 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-14 08:23:35 +00:00
ager@chromium.org
6744793c90
Landing for Rodolph Perfetta.
...
Allow compareStub on ARM to take register in reverse order optionally.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/2850046/show
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5059 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-13 20:54:06 +00:00
ager@chromium.org
7664a4556a
Prepare push to trunk. Now working on version 2.3.0.
...
Review URL: http://codereview.chromium.org/2981005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5058 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-13 20:24:16 +00:00
kaznacheev@chromium.org
0243bc875c
Move serialized scope info from Code object to SharedFunctionInfo.
...
The scope info is now stored in a FixedArray referenced from SharedFunctionInfo.
Review URL: http://codereview.chromium.org/2918001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5056 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-13 13:06:33 +00:00
ricow@chromium.org
325fd42c3f
Add ES5 Object.freeze and Object.isFrozen methods.
...
This change adds ES5 15.2.3.9 Object.freeze and
15.2.3.12 Object.isFrozen
Review URL: http://codereview.chromium.org/2944016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5055 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-13 12:58:02 +00:00
ager@chromium.org
0f4a330508
Fix JSON.parse typo which causes the input not to be string converted.
...
Review URL: http://codereview.chromium.org/2981004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5051 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-13 10:57:45 +00:00
ager@chromium.org
ad5e73fb85
Fix preparsing from a source string that is not external.
...
This fixes issue 775.
Review URL: http://codereview.chromium.org/2959007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5050 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-13 10:29:31 +00:00
serya@chromium.org
b569e6f562
Simplifying GenerateDictionaryNegativeLookup by making the 'extra' parameter mandatory.
...
Review URL: http://codereview.chromium.org/2982001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5049 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-13 10:02:11 +00:00
whesse@chromium.org
20d4c6d52d
Fix compilation error on 64-bit MacOS V8 compilation. ASSERT_EQ macro needs unambiguous similar integer types as arguments.
...
Review URL: http://codereview.chromium.org/2982005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5048 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-13 08:55:06 +00:00
vegorov@chromium.org
7780bea2f0
Virtually dispatched scavengers
...
Use virtually dispatched specialized scavengers instead of single generic ScavengeObjectSlow implementation.
Rollback of r5041 with assertion checking callback alignment removed. Map space is iterated in a special fashion during scavenges so special callback alignment is not required.
Review URL: http://codereview.chromium.org/2950003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5047 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-13 08:05:10 +00:00
ager@chromium.org
ef8baf25fc
Revert revisions 5041 and 5042 introducing virtual scavenge
...
behavior. It breaks debug builds with snapshots on my machine.
TBR=vegorov@chromium.org
Review URL: http://codereview.chromium.org/2983001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5046 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-12 16:57:07 +00:00
ager@chromium.org
f6e049b0ce
Remove the special error message for overflows when using
...
Function.prototype.apply. This avoids having more than one error
message for stack overflow situations which makes testing a pain.
Review URL: http://codereview.chromium.org/2967003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5045 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-12 15:29:25 +00:00
serya@chromium.org
43e28a6fea
Port prototype-call-stubs for normal objects ( http://codereview.chromium.org/2801018 ).
...
Review URL: http://codereview.chromium.org/2860049
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5044 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-12 13:23:42 +00:00
yurys@chromium.org
abaf8347a5
Allow to capture stack trace for uncaught exceptions
...
Review URL: http://codereview.chromium.org/2961003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5043 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-12 13:17:27 +00:00
vegorov@chromium.org
4dd71ce221
Fix Win64 build problem introduced by r5041.
...
Review URL: http://codereview.chromium.org/2893009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5042 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-12 13:11:42 +00:00
vegorov@chromium.org
ef6cb2dd0b
Use virtually dispatched specialized scavengers instead of single generic ScavengeObjectSlow implementation.
...
Review URL: http://codereview.chromium.org/2895008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5041 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-12 12:47:09 +00:00
whesse@chromium.org
4329a58b1c
Code cleanup: reorder functions in codegen-x64.cc to agree with the order in codegen-ia32.cc. If svn blame shows this change, run svn blame on the previous version of the file to find the actual author of the lines.
...
Review URL: http://codereview.chromium.org/2955004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5040 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-09 13:20:12 +00:00
erik.corry@gmail.com
5bc0522ad4
Second half of number alloc change accidentally omitted from
...
last change.
Review URL: http://codereview.chromium.org/2919001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5039 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-08 13:50:13 +00:00
erik.corry@gmail.com
c205ffe05c
Add number allocation call to runtime.cc instead of misusing
...
UnaryMinus.
Review URL: http://codereview.chromium.org/2899004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5038 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-08 13:16:51 +00:00
erik.corry@gmail.com
8c767e02f9
ARM: Add support for the VFP mov literal instruction and mov
...
between single VFP registers. Math.pow implementation has
been updated with the new instructions. This is a commit
of http://codereview.chromium.org/2813046/show for Rodolph
Perfetta.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5037 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-08 12:38:02 +00:00
erik.corry@gmail.com
068e0bc032
Add ReleaseStore function on OpenBSD.
...
Review URL: http://codereview.chromium.org/2916001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5036 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-08 08:12:17 +00:00
mikhail.naganov@gmail.com
03b566be92
Fix concurrent access to VMState::current_state_.
...
The main fix is for current_state() and external_callback() accessors.
I also applied memory access ordering on current_state_ modification,
mainly to reflect the fact that it is being shared among VM and profiler
sampler threads.
BUG=361
Review URL: http://codereview.chromium.org/2852047
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5035 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-08 08:00:38 +00:00
erik.corry@gmail.com
149dea4ab0
Prepare push to trunk. We are now working on version 2.2.24.
...
Review URL: http://codereview.chromium.org/2887011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5032 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-07 12:09:22 +00:00
whesse@chromium.org
f7c85755ba
Prevent invalid pre-parsing data passed in through the API from crashing V8.
...
Review URL: http://codereview.chromium.org/2876046
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5030 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-07 10:28:22 +00:00
kaznacheev@chromium.org
4798d2c4f3
Fix crash introduced in r5019.
...
Note to self: never leave uninitialized objects in the code space.
Review URL: http://codereview.chromium.org/2800044
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5029 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-06 13:48:51 +00:00
vitalyr@chromium.org
12e62f316d
Make lint happy.
...
Review URL: http://codereview.chromium.org/2832051
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5028 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-06 13:43:21 +00:00
vitalyr@chromium.org
97234b4a25
Remove some extra calls in date.js.
...
A few hot Date.prototype functions used to be implemented as
DateGetFoo calling GetFooFrom(this), and other callers of GetFooFrom
did repeated date value extraction. In this change GetFooFrom
functions were inlined into the functions on the prototype and the
other callers switched to using date values directly.
Review URL: http://codereview.chromium.org/2841041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5027 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-06 12:57:46 +00:00
erik.corry@gmail.com
118a421067
Simplify the transitions in the Binary Op ICs. Now a single call
...
to the runtime will both patch in the more specialized binary op
stub and calculate the answer. This eliminates the need to call
both the rest of the binary op and the patching runtime call. The
runtime routines are altered to be more agressive in returning
Smis so we don't get spurious heap numbers as inputs to binary ops
while we are patching the binary op ICs.
Review URL: http://codereview.chromium.org/2843049
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5026 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-06 12:56:55 +00:00
vitalyr@chromium.org
7b521af105
Fix crash: handle all flat string types in regexp replace.
...
Review URL: http://codereview.chromium.org/2868046
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5025 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-06 12:22:19 +00:00
podivilov@chromium.org
ae81e558fe
Do not create handle in BreakLocationIterator::ClearDebugBreakAtIC
...
Debug::HandleWeakDebugInfo weak callback is crashed when there is no handle scopes on the stack.
Review URL: http://codereview.chromium.org/2835035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5024 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-06 12:10:49 +00:00
lrn@chromium.org
b941a40a82
Convert Unicode code points outside the basic multilingual plane to the replacement character.
...
Previous behavior was to silently truncate the value to 16 bits.
Review URL: http://codereview.chromium.org/2832050
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5023 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-06 07:31:35 +00:00
lrn@chromium.org
90e9e99b3c
RegExp replace with empty string optimization by Sandholm.
...
Review URL: http://codereview.chromium.org/2809048
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5021 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-05 12:49:00 +00:00
kaznacheev@chromium.org
8a4463306d
Extracting relocation info from the code object.
...
It is now stored in a ByteArray referenced from the code object header.
Review URL: http://codereview.chromium.org/2812041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5020 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-05 11:45:11 +00:00
erik.corry@gmail.com
8da222b010
Specialize GenericUnaryStub so that it knows whether it needs to
...
take negative zero into account.
Review URL: http://codereview.chromium.org/2850043
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5018 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-05 11:03:16 +00:00
kmillikin@chromium.org
b34151979b
Prepare push to trunk. Now working on version 2.2.23.
...
Review URL: http://codereview.chromium.org/2827046
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5016 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-05 10:33:20 +00:00
peter.rybin@gmail.com
6563b3a2fc
Describe LiveEdit changes and support preview mode
...
Review URL: http://codereview.chromium.org/2883020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5015 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-02 20:46:04 +00:00
erik.corry@gmail.com
8b8185721d
Make ignore-negative-zeros analysis a little sharper.
...
Review URL: http://codereview.chromium.org/2799048
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5014 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-02 20:24:40 +00:00
ager@chromium.org
06a28cbe57
Fix bug in date code (issue 736) where -0 was not mapped to 0. This caused the
...
runtime system to throw an exception because it expected smi arguments.
Review URL: http://codereview.chromium.org/2848038
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5013 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-02 20:09:33 +00:00
erik.corry@gmail.com
92f2c471d5
ARM: Use VFP for non-Smi bitops results. This is basically Rodolph
...
Perfettas change from http://codereview.chromium.org/2829032 with
a tiny tweak to the unsigned shift right case.
Review URL: http://codereview.chromium.org/2861043
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5012 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-02 20:03:07 +00:00
ricow@chromium.org
eed4ed99c8
Add ES5 Object.isExtensible and Object.preventExtensions.
...
Review URL: http://codereview.chromium.org/2819034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5011 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-02 14:36:34 +00:00
serya@chromium.org
c56b92d65d
This change allows generating call-stubs for objects with normal (non-fast) objects in the prototype chain. StubCompiler::CheckPrototypes does ne
...
If the top level object is a normal object the stub is stored in its prototype map.
Lookup result of type NORMAL is not covered (since the normal stub currently doesn't check the prototype chain).
Review URL: http://codereview.chromium.org/2801018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5010 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-02 14:15:04 +00:00
lrn@chromium.org
04da7b90c9
X64: Added register holding Smi::FromInt(1).
...
Don't use r15 for anything any more.
Review URL: http://codereview.chromium.org/2885018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5009 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-02 14:09:35 +00:00
ager@chromium.org
47b5b3f951
Use the number of in-object properties when deciding how many fast
...
properties to allow on an object. If there are many in-object
properties it is unlikely that the object is used as a dictionary and
we allow more map transitions to keep such objects in fast case.
Review URL: http://codereview.chromium.org/2818041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5008 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-02 11:27:57 +00:00
erik.corry@gmail.com
f9eb21f950
Simplify ToBoolean if we know we have a Smi.
...
Review URL: http://codereview.chromium.org/2808039
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5007 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-02 08:42:22 +00:00
ager@chromium.org
a835641dee
Landing for victorw@chromium.org.
...
Fix issues so v8 could be built as a DLL.
-. get rid of all the compiler warning by moving dllexport/dllimport
to the individual members for classes which have inline members.
-. update v8 gyp to build v8.dll for chromium multi-dll version (win
and component==shared_library)
Note: most of the code are contributed by sjesse.
Code review URL: http://codereview.chromium.org/2882009/show
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5006 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-02 07:39:42 +00:00
whesse@chromium.org
8afef876dd
Fix problem in r4998. Initialize target of break and continue in fast smi loop on X64.
...
Review URL: http://codereview.chromium.org/2830033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5001 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-01 16:00:51 +00:00
whesse@chromium.org
94ae008739
Let relational comparison operators quickly compare a string with itself.
...
Review URL: http://codereview.chromium.org/2802028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5000 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-01 15:18:07 +00:00
erik.corry@gmail.com
5a54b7030d
ARM: Don't emit a write barrier for an inlined keyed load
...
if the right hand side is a literal like true, false, etc.
Also if the value is not a likely Smi we inline the newspace
check.
Review URL: http://codereview.chromium.org/2833048
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4999 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-01 15:06:24 +00:00
lrn@chromium.org
59f2b6c825
X64: Made simpler version of fast-smi-loop code.
...
It avoids the overflow check on the increment.
Review URL: http://codereview.chromium.org/2835030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4998 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-01 13:19:32 +00:00
podivilov@chromium.org
9added5953
Clear function breakpoints in Debug::HandleWeakDebugInfo callback.
...
When removing debug_info from SharedFunctionInfo, clear all breakpoints associated with that debug_info.
This is needed because function will live in heap until next gc, and therefore can be found
by Runtime::FindSharedFunctionInfoInScript.
Review URL: http://codereview.chromium.org/2848032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4997 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-01 11:48:45 +00:00
peter.rybin@gmail.com
9b4369c7d8
LiveEdit: Support debug break slots in frame dropping implementation
...
Review URL: http://codereview.chromium.org/2844030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4995 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-06-30 17:29:00 +00:00
sgjesse@chromium.org
97ecc50377
ARM: Correctness fix to Math.pow optimization
...
The change in r4990 contained a bug in Math.pow when then exponent was a large negative smi. In that case calculating 1/Math.pow(x,-y) did not provide the correct result as Math.pow(x,-y) would overflow ti infinity. This was caught by Sputnik test S8.5_A13_T1.
Review URL: http://codereview.chromium.org/2815039
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4994 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-06-30 15:19:06 +00:00
sgjesse@chromium.org
bbb2648464
ARM: Fix GC bug with previous change
...
The change in r4990 contained a bug in Math.pow. One of the arguments for the call to runtime where clobbered if allocation of the heap number for the result failed.
Caught by a couple of Mozilla tests which does a lot of calls to Math.pow.
Fix presubmit error in x64.
Review URL: http://codereview.chromium.org/2847037
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4993 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-06-30 13:39:03 +00:00
whesse@chromium.org
b122fbd363
Decide that different detectable objects are not equal without calling runtime, on all platforms.
...
Review URL: http://codereview.chromium.org/2805046
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4992 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-06-30 13:24:47 +00:00
ager@chromium.org
6044b33766
Implement IC for storing to dictionary case objects.
...
The IC stub is completely generic, so there will only be one such stub
in the system.
Added a new overloaded version of the macro assembler RecordWrite
method for cases where we have the address we store to computed up
front.
Review URL: http://codereview.chromium.org/2804029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4991 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-06-30 12:27:49 +00:00
sgjesse@chromium.org
ff6c4fe680
ARM: Special code for raising to the power of an integer
...
When calculating Math.pow where the exponent is a smi use a simple loop to calculate the result.
Added support for the vmov instruction moving from one doubleword extension register to another.
Added some Math.pow tests which partially covers what is in the Sputnik tests.
Review URL: http://codereview.chromium.org/2804033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4990 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-06-30 12:22:15 +00:00
lrn@chromium.org
75021a03d3
Prepare push to trunk. We are now working on version 2.2.22.
...
Review URL: http://codereview.chromium.org/2886005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4987 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-06-30 08:57:23 +00:00
sgjesse@chromium.org
fd5a7b37a2
ARM: Fix disassembly of double registers
...
Added a few disassembler tests for vadd, vsub, vmul and vdiv.
Review URL: http://codereview.chromium.org/2823036
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4986 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-06-30 08:46:19 +00:00
lrn@chromium.org
0653689450
Fix Chromium issue 47824.
...
In rare cases a two-byte string was mistaken for an ascii-string.
Review URL: http://codereview.chromium.org/2858033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4985 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-06-30 07:40:40 +00:00
lrn@chromium.org
ade53c4282
X64: Make the ToBoolean inline code do even less if the value is known to be a smi.
...
Review URL: http://codereview.chromium.org/2834028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4978 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-06-29 14:15:34 +00:00
lrn@chromium.org
d539095bcb
X64: A number of small tweaks.
...
Fix bug in disassembler output (using non-generic registers for memory operands in some cases).
Fix bug in movsxbq and make REX optional in movzx?q.
Review URL: http://codereview.chromium.org/2834027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4977 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-06-29 14:03:11 +00:00
vitalyr@chromium.org
6328df4fa2
Type info: fix three bit representation of smi type.
...
Review URL: http://codereview.chromium.org/2802022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4976 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-06-29 13:48:20 +00:00