Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (192967 => 192968)
--- trunk/Source/_javascript_Core/ChangeLog 2015-12-02 22:12:35 UTC (rev 192967)
+++ trunk/Source/_javascript_Core/ChangeLog 2015-12-02 22:35:38 UTC (rev 192968)
@@ -1,5 +1,14 @@
2015-12-02 Benjamin Poulain <[email protected]>
+ Update the interface added in r192967
+
+ * b3/B3CCallValue.h:
+ Filip prefers explicit effects.
+ * b3/testb3.cpp:
+ (JSC::B3::testCallSimplePure):
+
+2015-12-02 Benjamin Poulain <[email protected]>
+
[JSC] Add a function attribute for Pure functions in B3
https://bugs.webkit.org/show_bug.cgi?id=151741
Modified: trunk/Source/_javascript_Core/b3/B3CCallValue.h (192967 => 192968)
--- trunk/Source/_javascript_Core/b3/B3CCallValue.h 2015-12-02 22:12:35 UTC (rev 192967)
+++ trunk/Source/_javascript_Core/b3/B3CCallValue.h 2015-12-02 22:35:38 UTC (rev 192968)
@@ -35,7 +35,6 @@
class JS_EXPORT_PRIVATE CCallValue : public Value {
public:
- enum PureFunctionTag { PureFunction };
static bool accepts(Opcode opcode) { return opcode == CCall; }
~CCallValue();
@@ -53,8 +52,9 @@
}
template<typename... Arguments>
- CCallValue(unsigned index, Type type, Origin origin, PureFunctionTag, Arguments... arguments)
+ CCallValue(unsigned index, Type type, Origin origin, const Effects& effects, Arguments... arguments)
: Value(index, CheckedOpcode, CCall, type, origin, arguments...)
+ , effects(effects)
{
}
};
Modified: trunk/Source/_javascript_Core/b3/B3Effects.h (192967 => 192968)
--- trunk/Source/_javascript_Core/b3/B3Effects.h 2015-12-02 22:12:35 UTC (rev 192967)
+++ trunk/Source/_javascript_Core/b3/B3Effects.h 2015-12-02 22:35:38 UTC (rev 192968)
@@ -55,6 +55,11 @@
HeapRange writes;
HeapRange reads;
+ static Effects none()
+ {
+ return Effects();
+ }
+
static Effects forCall()
{
Effects result;
Modified: trunk/Source/_javascript_Core/b3/testb3.cpp (192967 => 192968)
--- trunk/Source/_javascript_Core/b3/testb3.cpp 2015-12-02 22:12:35 UTC (rev 192967)
+++ trunk/Source/_javascript_Core/b3/testb3.cpp 2015-12-02 22:35:38 UTC (rev 192968)
@@ -33,6 +33,7 @@
#include "B3Const32Value.h"
#include "B3ConstPtrValue.h"
#include "B3ControlValue.h"
+#include "B3Effects.h"
#include "B3MemoryValue.h"
#include "B3Procedure.h"
#include "B3StackSlotValue.h"
@@ -4731,7 +4732,7 @@
root->appendNew<ControlValue>(
proc, Return, Origin(),
root->appendNew<CCallValue>(
- proc, Int32, Origin(), CCallValue::PureFunction,
+ proc, Int32, Origin(), Effects::none(),
root->appendNew<ConstPtrValue>(proc, Origin(), bitwise_cast<void*>(simpleFunction)),
root->appendNew<ArgumentRegValue>(proc, Origin(), GPRInfo::argumentGPR0),
root->appendNew<ArgumentRegValue>(proc, Origin(), GPRInfo::argumentGPR1)));